3. What is DevOps
Sridhara T V
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 term “DevOps” typically refers to the emerging professional
movement that advocates a collaborative working relationship
between Development and IT Operations, resulting in the fast flow of
planned
increasing
work (i.e., high deploy rates), while simultaneously
the reliability, stability, resilience and security of the
production environment
4. DevOps
Sridhara T V
DevOps refers to a collaborative culture between technical teams
It encompasses much more than just development and operations
extending to QA testing, releases and much more
By aligning goals and sharing strategies, DevOps practices can
improve efficiency and quality of product/code shipped, allowing
businesses to innovate quickly while providing a higher standard of
support
5. DevOps is about CAMS
Culture
Automation
Measurement
Sridhara T V
Sharing
6. Traditional IT Problems
Sridhara T V
Development and Operations team work in isolation
Dev team follows a life-cycle model – Waterfall, V, TDD
System Testing is performed after complete development
Team is spending lot of time in design, testing and deployment and less
focus in productization
Most often deployment is a manual process
Development team and Operations team have separate timelines and in
most cases are not in sync
Product is deployed into production few times a year
Dev team is not aware of or does not have access to production
environment
7. Software Delivery Bottlenecks
Lack of alignment between IT and business goals
Plan and
Measure
Complexity of tools, languages and platforms
Poorly integrated teams across application lifecycle
Lack of automated and scalable testing methods
High cost of setting up and maintaining test environments
Develop
and Test
Application release process is error-prone and slow
Release
and
Deploy
Lack of centralized incident management and monitoring
Slow or unresponsive to customer feedback
Sridhara T V
Monitor
and
Optimize
8. Challenges
Sridhara T V
Dev and Ops people have conflicting goals
Operations people have bean beaten into defensive mode
Teams are so used to the Dev Vs Ops way of working
9. Symptoms
Sridhara T V
Defects released into production – causing outage
Inability to diagnose production issues swiftly
Problems appear in some environments only
Blame game – shifting/finger pointing
Long delays while Dev, QA or another team waits on resources or
response from other teams / stake holders
“Manual Error” is a commonly cited root-cause
Release either slip or fail at first attempt
Quality of “personnel-life” issues!
11. Why DevOps Used
Sridhara T V
Predictability
Reproducibility
Maintainability
Time to market
Greater Quality
Reduced Risk
Resiliency
Cost Efficiency
Breaks larger code base into small pieces
13. DevOps Stages
Integrate Test Release Deploy
Operate
Monitor
Feedback
Build
Plan Design Code
Continuous Development
Continuous Integration
Continuous Delivery
Continuous Deployment
DevOps
Sridhara T V
14. Agile with DevOps
Provision
Sridhara T V
Configure Orchestrate Deploy Report Monitor
Design Unit Test Bug Fix Deploy
Business
Case
Features Plan
Go to
Market
Dev Ops
Requirements Use Case
Agile Software
Development
Code Refactor
- Iterative development
- Sprints, Stories, Feedback
- Velocity
- IT Automation
- Continuous Integration
- Continuous Deployment
Business
Agility
IT Agility
Business
Developers
IT Operations
15. Agile Vs DevOps
Sridhara T V
Agile DevOps
Emphasize breaking down barriers
between developers and management
DevOps is about software deployment
and operation teams
Addresses gap between customer
requirements and development teams
Addresses the gap between
development and Operation team
Focuses more on functional and non-
functional readiness
Focuses operational and business
readiness
Agile development pertains mainly to
the way development is thought out by
the company
DevOps emphases on deploying software
in the most reliable and safest ways
which are not necessarily always the
fastest
16. Sridhara T V
Agile Vs DevOps
Agile DevOps
Agile development puts a huge emphasis
on training all team members to have
varieties of similar and equal skills. So
that, when something goes wrong, any
team member can get assistance from
any member in the absence of the team
leader
DevOps, likes to divide and conquer,
spreading the skill set between the
development and operation teams. It
also maintains consistent communication
Agile development manages on “sprints”.
It means that the time table is much
shorter (less than a month) and several
features are to be produced and released
in that period
DevOps strives for consolidated
deadlines and benchmarks with major
releases, rather than smaller and more
frequent ones
17. DevOps Principles
Sridhara T V
Customer-Centric Action
End-To-End Responsibility
Continuous Improvement
Automate everything
Work as one team
Monitor and test everything
20. DevOps Adoption Model
ENVIRONMENT
People, Organization, Laws, Regulations, Culture, Competitors
PRINCIPLE
1. Self Directed Team Over
Command and Control
2. Course Correction Over
Perfection
3. Automated Over
Manual
MANAGEMENT
FRAMEWORK
1. People First
2. Org Structure
3. Capability development
4. Budget
5. Risk Managemet
6. Assets Management
7. Change Management
8. Security Management
PRACTICES
1. Infrastructure as Code
2. Dashboard
3. Working Backwords
4. Open Source
5. DevOps skill Metrics
6. Audit automation
7. Self service
VALUE PURPOSE
Continuously deliver customer value in a
sustainable way with improved lead time,
resilience and quality
Sridhara T V
How can we
Improve the
work
What kind of
problems are we
trying to solve
How can we
Develop
People
21. DevOps Adoption
Sridhara T V
PROCESS
TECHNOLOGY
TIME TO MARKET
COLLABORATION
CUSTOMER
SATISFACTION
PROCESS
ADOPTION
CLOUD ADOPTION
FOUNDATIONAL
Usage by Team
member
Ad-hoc release
Team isolated
Personal feedback
Ad-hoc process
Team working
with VMs
REPEATABLE
Usage by a
department
Periodic Release
Team
Communicative
Service Level
feedback
Inconsistent
process
Department level
RELIABLE
Usage by few
departments
Frequent releases
Team
collaborative
Department level
feedback
Shared process
Few departments
OPTIMIZED
Enterprise wide
usage
Continuous
release
Team unified
Organization level
feedback
Aligned processed
corporate wide
Cloud fully
embraced
22. How to Implement DevOps
Sridhara T V
Start Small but not too small
Create a culture of Experimentation and Learning
Engineer Resilience and Adaptivity
Get Buy-In from all teams
Eliminate Blame culture
DevOps requires 4 T-s
Teamwork, Tools, Techniques and Tenacity
23. Get Started with DevOps
Sridhara T V
Target DevOps efforts to the parts of the business that deliver the
most impact
Understand the work that needs to be done in DevOps value streams
Identify DevOps teams and leadership
Build critical mass as you go
Assign members of the dedicated team to be solely allocated to the
DevOps transformation efforts
24. Get Started with DevOps
Sridhara T V
Have specific, measurable goals for the DevOps team
Select team members who are generalists, who have skills across a
wide variety of domains
Use a common, shared DevOps toolset
Fund services and products, not “projects”
Create loosely coupled architectures
Automate!
25. DevOps Automation Tools
Sridhara T V
Infrastructure Automation
Configuration Management
Deployment Automation
Performance Management
Log Management
Monitoring
27. DevOps and Cloud - A match made in Heaven
DevOps and Cloud are complementary to each
other
Cloud makes it easy to implement DevOps services
because of inherent abstraction of complexities
Cloud provides added advantage of Agility,
Scalability and On-Demand availability to DevOps
services
A combination of Cloud and DevOps provides a
definite advantage over the competition
Sridhara T V
28. DevOps Stack on AWS
Code Build Test Deploy Provision Monitor
Code
Commit
Code Pipeline
Elastic Beanstalk
OpsWorks
Elastic Container Service
Code Deploy CloudWatch
CloudFormation
Code Pipeline X-Ray
Sridhara T V
30. Containers
Sridhara T V
A standard way to package an application and all its dependencies so
that it can be moved between environments and run without
changes.
Containers work by isolating the differences between applications
inside the container so that everything outside the container can be
standardized
31. Containers Vs VM’s
Sridhara T V
Containers are more lightweight and faster
No need to install guest OS
Less CPU, RAM, storage space required
More containers per machine than VMs
Greater portability
Containers are easy to manage as they share a common OS
Share multiple workloads on a single OS
Containers are a better way to develop and deploy microservices
compared with VMs.
32. Dockers
Sridhara T V
Docker is a platform for developing, shipping and running
applications using container technology
Docker provides a means to package and application with all its
dependencies into standardized unit for software development
It provides isolation, so applications on the same host and stack can
avoid dependency conflict
so you can be sure to have exactly the same
at runtime during development, testing and in
It is portable,
dependencies
production
33. Docker Use Cases
Sridhara T V
Development Environment
Environments for Integration Tests
Quick evaluation of software
Microservices
Multi-Tenancy
Unified execution environment
dev -> test -> prod (local, VM, cloud)
35. Security in DevOps
Sridhara T V
Base security configurations
Centralized authentication and authorization
Host based firewall rules per role and environment
Validate code against corporate security policies
Centralized audit logs
Automated vulnerability scans
Easier and tested patching
Mitigate insecure configurations
Security Information and Event Monitoring