2. Sridhara T V
Technical Challenges
3
Traditional Development
2
Integrated Approach4
Concepts Technologies
5 DevOps Tools6
CI / CD
5 DevOps in Cloud6
DevOps Overview
1
3. Sridhara T V
What is DevOps
➢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 work (i.e., high deploy rates), while simultaneously
increasing the reliability, stability, resilience and security of the
production environment
4. Sridhara T V
DevOps
➢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
6. Sridhara T V
Traditional IT Problems
➢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. Sridhara T V
Software Delivery Bottlenecks
Lack of alignment between IT and business goalsPlan 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
Monitor
and
Optimize
8. Sridhara T V
Challenges
➢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. Sridhara T V
Symptoms
➢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. Sridhara T V
Why DevOps Used
➢Predictability
➢Reproducibility
➢Maintainability
➢Time to market
➢Greater Quality
➢Reduced Risk
➢Resiliency
➢Cost Efficiency
➢Breaks larger code base into small pieces
13. Sridhara T V
DevOps Stages
Integrate Test
Continuous Integration
Release
Continuous Delivery
Deploy
Continuous Deployment
Operate
DevOps
MonitorFeedback
BuildPlan Design Code
Continuous Development
14. Sridhara T V
Agile with DevOps
Provision Configure Orchestrate Deploy Report Monitor
Design Code Refactor Unit Test Bug Fix Deploy
Business
Case
Requirements Use Case Features Plan
Go to
Market
Dev Ops
Agile Software
Development
- Iterative development
- Sprints, Stories, Feedback
- Velocity
- IT Automation
- Continuous Integration
- Continuous Deployment
Business
Agility
IT Agility
Business
Developers
IT Operations
15. Sridhara T V
Agile Vs DevOps
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. Sridhara T V
DevOps Principles
➢Customer-Centric Action
➢End-To-End Responsibility
➢Continuous Improvement
➢Automate everything
➢Work as one team
➢Monitor and test everything
18. Sridhara T V
Advantages of DevOps
Silo-Free
Faster Release
Lesser Bugs
Lower Cost
Better Quality Continuous
Integration
Automatic
Deployment
20. Sridhara T V
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
How can we
Improve the
work
What kind of
problems are we
trying to solve
How can we
Develop
People
21. Sridhara T V
DevOps Adoption
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. Sridhara T V
How to Implement DevOps
➢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. Sridhara T V
Get Started with DevOps
➢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. Sridhara T V
Get Started with DevOps
➢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. Sridhara T V
DevOps Automation Tools
➢Infrastructure Automation
➢Configuration Management
➢Deployment Automation
➢Performance Management
➢Log Management
➢Monitoring
27. Sridhara T V
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
28. Sridhara T V
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
30. Sridhara T V
Containers
➢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. Sridhara T V
Containers Vs VM’s
➢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. Sridhara T V
Dockers
➢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
➢It is portable, so you can be sure to have exactly the same
dependencies at runtime during development, testing and in
production
33. Sridhara T V
Docker Use Cases
➢Development Environment
➢Environments for Integration Tests
➢Quick evaluation of software
➢Microservices
➢Multi-Tenancy
➢Unified execution environment
➢dev -> test -> prod (local, VM, cloud)
35. Sridhara T V
Security in DevOps
➢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