Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 59

Welcome

Introduction to DevOps
Objectives

At the end of this course you will be able to:


● Brief history of software development methodologies
● Introduction to DevOps
● DevOps Philosophy
● DevSecOps
● Continuous Integration
● Continuous Deployment
● Common DevOps tools
● Monitoring and managing a DevOps environment
● DevOps best practices
2
Basics...

Server Applications
SDLC

SDLC defines the complete life cycle of software i.e.


all the tasks involved in planning, creating, testing,
and delivering a Software to client or market.

SDLC process aims to produce high-quality software


that meets customer expectations
Waterfall

Waterfall Model:

New phase in the development process begins only if


the previous phase is complete

Challenges:

• Time to market is very high

• No client interaction

• Requirements are rigid, means we cannot


accommodate dynamic requirements.
Evolution of IT
Challenges:

• Infrastructure Readiness

• Scalability

• Quality of the Product

• Limited Release windows – Releases may slip/fail


Evolution of IT
Evolution of IT
“DevOps is a re-org,
not a new team to hire”

-- Adrian Cockcroft
Technically….

“DevOps is agile IT operations delivery, required to match the cadence of agile IT development”.

“DevOps is the philosophy of unifying Development and Operations at the culture, practice, and tool levels, to
achieve accelerated and more frequent deployment of changes to Production (The IT Sceptic)”.

DevOps is a software Engineering Culture and Practice that is unifying Software Development and Software
Operations. It Aims at Shorter Deployment cycles, More dependable releases in close alignment with business
objectives.
Technically….

• DevOps is first a Culture of Collaboration between developers and Operations.

• The culture has given scope for set of practices.

• DevOps is a revolutionary movement by Practitioners , for practitioners.


Why DevOps?
Here are the reasons why DevOps is used by the industries:

It provides shorter development cycles, faster innovation

It has reduced deployment failures, rollbacks, and time to


recover

It has improved communication and collaboration

It provides increased efficiencies

It reduces costs and IT headcount


Sectors Where DevOps is Used

Banking Insurance Healthcare

Inventory Management Hospitality


Goals….
The goal of the development team is to deliver features into the hands of the customer as quickly as possible, so their
goal is speed. But the goal of the operations team is to maintain the stability of the system and minimize downtime.

• Stability and speed of delivery

• Time-to-market

• NO Production Failures

• Immediate recovery from failures.

• There is no wall in a DevOps culture.


Relationship Between Agile and DevOps

Features DevOps Agile


Agility It is both Development & It is only Development
Operations
Processes/ Practices It involves processes such as It involves practices such
CI, CD, CT, etc as Agile Scrum, Agile
Kanban, etc
Key Focus Area The timeliness & quality have The timeliness is the main
equal priority priority
Release Cycles/ It has smaller release cycles It has only smaller release
Development Sprints with immediate feedback cycles

Source of Feedback The feedback is from self The feedback is from


(Monitoring tools) customers
Scope of Work The agility & need for The agility only
Automation
CAMS Model

The CAMS Model was introduced by Damon Edwards and John Willis. CAMS is an acronym describing

the core values of the DevOps Movement. The CAMS model is a set of values used by many DevOps

engineers

CAMS stands for:

1. Culture
2. Automation
3. Measurement
4. Sharing
DevOps Roles
One Giant To Lead Them All: Amazon

• As Amazon grew to the state it is now, there was a constant need to anticipate how much sales
would grow in order to put systems in place to meet the need and plan for any spikes.

• As a result, server capacity was wasted in high numbers. When people were shopping for
Christmas, for example, the amount of unused server space grew tremendously.

• Eventually, Amazon moved to Amazon Web Services (AWS) cloud, allowing engineers to scale up
or down as needed.

• This helped to reduce a large amount of spending on server capacity but it did something that was
even more important: it helped the company to transition to a continuous deployment process
that allowed any developer to deploy their own code.
Next In Line: Netflix

• Netflix started as a DVD service with a smaller streaming portion. You could select a movie and it
would be mailed to you. However, over the years it changed into the streaming service that we
know now.

• Developers within Netflix (and volunteers) started to use open source solutions to create
automated tools that would test the infrastructure and allow the company to identify any
vulnerabilities easily and then find ways to fix them before customers were impacted.
Struggle of Finance Industry with DevOps

Unlike other industries, regulated industries imply several challenges

• Strong restrictions on secured networks

• Fine-grained audit trails

• Strong ACLs models

• Full lifecycle governance

• Integration with 3rd parties


Current Situation of Finance Industry as Compared to Others
Assisted Practice Duration: 20 mins

Discussion on DevOps – Break Out Session

Discuss within group and come up with 5 common points to summarize DevOps.
DevSecOps
• DevSecOps is the philosophy of integrating security exercises within the DevOps
process

• DevSecOps involves creating a 'Security as Code' culture with ongoing, flexible


collaboration between release engineers and security teams

• DevSecOps movement, like DevOps itself, is focused on creating new solutions for
complex software development processes within an agile framework

• DevSecOps is a natural and necessary response to older security models' bottleneck


effect on the modern continuous delivery pipeline

• The goal of DevSecOps is to bridge traditional gaps between IT


and security while ensuring fast, safe delivery of code
DevSecOps Architecture

https://www.csoonline.com/article/3245748/what-is-devsecops-developing-more-secure-applications.html
Advantages of DevSecOps

It provides team member assets are freed to It provides greater speed and agility for security
work on high-value work teams

It provides early identification of It has the ability to respond to change and


vulnerabilities in code needs rapidly

It provides more opportunities for automated It has better collaboration and communication
builds and quality assurance testing among teams
Important Components of DevSecOps
• Code analysis: The delivered code in small chunks are so vulnerable that can
be identified quickly

• Change management: The increasing speed and efficiency by allowing


anyone to submit changes and then determine whether the difference is
good or bad

• Compliance monitoring: To be ready for an audit at any time

• Threat investigation: To identify potential emerging threats with


each code update and be able to respond quickly

• Vulnerability assessment: To identify new vulnerabilities with code analysis


and then analyze how fast they are returned to and patched

• Security training: The training software and IT engineers with guidelines for
set routines
DevSecOps to Prevent Hackers
Overview of DevOps Tools

For a company to ultimately provide DevOps power, they need to consider the five significant
processes like, Communication, CI/CD, Configuration Management, Security and Monitoring & Alerting

Increased production time, improved As technology progress, numerous DevOps


communication, reduced cost, and deployment tools have been developed to make
failures are important motivators behind DevOps collaboration and development more
straightforward
DevOps Tools
There are various DevOps tools available in the used by multiple companies, but these are the top 10 tools
used by most of the industries as they are growing

Sentry Jenkins

https://hackr.io/blog/top-devops-tools
Categories of DevOps Tools
There are various DevOps tools available, and they are categorized as shown in the below image

https://www.veritis.com/solutions/devops/made-easier-with-devops-tools/
Continuous Integration & Testing
DevOps CI/CD Pipelines
DevOps Orchestration
Container Orchestration Tools
Docker Swarm vs Kubernetes

Docker Swarm Kubernetes

No Auto Scaling Auto Scaling

Implements CNM – not pluggable Implements CNI – can plug in multiple


with other Network Drivers Network drivers

Good Community Support Great Active Community

Limited to Docker API’s Capabilities Larger API’s Support than Docker API’s

Not much experience with Deployed at scale among various


production organizations
deployments at scale
WHY DevOps ?
All Organizations today are working hard to respond better around changing market needs and are keen to adopt
DevOps practices. As a result

All Organizations are now hiring DevOps Engineers, who can work & adopt dynamic market needs easily.

a growth of 75 % in last couple of years as every organization is adopting DevOps Practices.


WHY Containers ? (Docker / Kubernetes)

1. All Organization are focused on Faster


Delivery of Software, Dynamic Changes along
with stability Continuously.

2. Containers are the best Solution, as they


enable organizations to Deliver the Software
faster, adopt dynamic changes & provide the
stability with Container Orchestration.

3. As a result, all Organizations are now looking


for engineers with these skills, as mandatory
to adopt the containers.

4. Containers are FUTURE, all Organizations


100% will adopt for hosting applications.
Cloud Computing

• Cloud computing is the on-demand availability of computer system resources, especially data
storage (cloud storage) and computing power, without direct active management by the user.

• The term is generally used to describe data centers available to many users over the Internet.

• Cloud computing was popularized with Amazon.com releasing its Elastic Compute Cloud product
in 2006.
Types of Clouds

Privat
Public e
Cloud Cloud

Hybrid
Cloud
Cloud Models
AWS DevOps
Continuous Monitoring

Continuous monitoring is a method to detect, report, and respond to all the charges in its infrastructure. Once the
application is used in the server, the role of continuous monitoring comes in to play. The entire process is all about taking
care of the company's infrastructure and respond properly
Continuous Monitoring

Helps detect risk, Helps in continuous


compliance, and security monitoring of environment
issues for an operational so that adequate
environment precautions are taken
Monitoring

Acts as an auditing tool


Reduces the chances of
where it can navigate
failure and provides
through old monitoring
comfort to business in
data to analyze and
terms of security and
improve performance of
reliability
system
Types of Monitoring

Real-Time Monitoring Infrastructure Monitoring Application Monitoring

• Server CPU stats • CPU and memory • API success/failures


• Disk usage and memory • Network and routers count
stats • App servers, web • API accessibility
• Spikes in CPU servers, and DB servers • API HTTP error code
performance
• I/O count on server
Popular Monitoring Tools
Monitoring v/s Manging
How we’re going to work together

● We can read some documentation on DevOps to make sure we have some


basic idea before sessions.

● Help each other during practical hands on to make sure everyone is


success.

● We will be providing individual labs for the participants to make sure they
have required infrastrcuture before attending this training.

58
Thank you!
If you have additional questions,
please reach out to me at:
(email address)

You might also like