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)