Sridhara T V
Sridhara T V
Dev Ops
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
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
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
Sridhara T V
DevOps is about CAMS
Culture
Automation
Measurement
Sharing
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
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
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
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!
Sridhara T V
DevOps Culture
DevOps
Culture
Accounta
bility
Trust
Honesty
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
Sridhara T V
DevOps Life Cycle
Dev Ops
Sridhara T V
DevOps Stages
Integrate Test
Continuous Integration
Release
Continuous Delivery
Deploy
Continuous Deployment
Operate
DevOps
MonitorFeedback
BuildPlan Design Code
Continuous Development
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
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
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
Sridhara T V
DevOps Principles
➢Customer-Centric Action
➢End-To-End Responsibility
➢Continuous Improvement
➢Automate everything
➢Work as one team
➢Monitor and test everything
Sridhara T V
Advantages of DevOps
Silo-Free
Faster Release
Lesser Bugs
Lower Cost
Better Quality Continuous
Integration
Automatic
Deployment
Sridhara T V
Optimizing Development and Operations
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
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
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
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
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!
Sridhara T V
DevOps Automation Tools
➢Infrastructure Automation
➢Configuration Management
➢Deployment Automation
➢Performance Management
➢Log Management
➢Monitoring
Sridhara T V
DevOps Tools
Dev Ops
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
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
Sridhara T V
DevOps Stack on Azure
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
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.
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
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)
Sridhara T V
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
36

DevOps introduction

  • 1.
  • 2.
    Sridhara T V TechnicalChallenges 3 Traditional Development 2 Integrated Approach4 Concepts Technologies 5 DevOps Tools6 CI / CD 5 DevOps in Cloud6 DevOps Overview 1
  • 3.
    Sridhara T V Whatis 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 ➢DevOpsrefers 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.
    Sridhara T V DevOpsis about CAMS Culture Automation Measurement Sharing
  • 6.
    Sridhara T V TraditionalIT 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 SoftwareDelivery 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 ➢Devand 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 ➢Defectsreleased 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!
  • 10.
    Sridhara T V DevOpsCulture DevOps Culture Accounta bility Trust Honesty
  • 11.
    Sridhara T V WhyDevOps Used ➢Predictability ➢Reproducibility ➢Maintainability ➢Time to market ➢Greater Quality ➢Reduced Risk ➢Resiliency ➢Cost Efficiency ➢Breaks larger code base into small pieces
  • 12.
    Sridhara T V DevOpsLife Cycle Dev Ops
  • 13.
    Sridhara T V DevOpsStages Integrate Test Continuous Integration Release Continuous Delivery Deploy Continuous Deployment Operate DevOps MonitorFeedback BuildPlan Design Code Continuous Development
  • 14.
    Sridhara T V Agilewith 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 AgileVs 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 AgileVs 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 DevOpsPrinciples ➢Customer-Centric Action ➢End-To-End Responsibility ➢Continuous Improvement ➢Automate everything ➢Work as one team ➢Monitor and test everything
  • 18.
    Sridhara T V Advantagesof DevOps Silo-Free Faster Release Lesser Bugs Lower Cost Better Quality Continuous Integration Automatic Deployment
  • 19.
    Sridhara T V OptimizingDevelopment and Operations
  • 20.
    Sridhara T V DevOpsAdoption 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 DevOpsAdoption 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 Howto 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 GetStarted 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 GetStarted 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 DevOpsAutomation Tools ➢Infrastructure Automation ➢Configuration Management ➢Deployment Automation ➢Performance Management ➢Log Management ➢Monitoring
  • 26.
    Sridhara T V DevOpsTools Dev Ops
  • 27.
    Sridhara T V DevOpsand 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 DevOpsStack 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
  • 29.
    Sridhara T V DevOpsStack on Azure
  • 30.
    Sridhara T V Containers ➢Astandard 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 ContainersVs 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 ➢Dockeris 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 DockerUse Cases ➢Development Environment ➢Environments for Integration Tests ➢Quick evaluation of software ➢Microservices ➢Multi-Tenancy ➢Unified execution environment ➢dev -> test -> prod (local, VM, cloud)
  • 34.
  • 35.
    Sridhara T V Securityin 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
  • 36.