Dev Ops Introduction
What is DevOps?
• DevOps = development
& operations
• A Methodology of
Continuous Delivery
• A software development method
that stresses communication,
collaboration and integration
between development and IT
professionals.
• “Streamlining release process” .
1
The adoption of DevOps is driven by factors:
• Use of agile and other development
processes and methodologies
• Demand for an increased rate of production releases
from application and business unit stakeholders
• Wide availability of virtualized and cloud
infrastructure from internal and external providers
• Increased usage of data center automation
and configuration management tools
DevOps 3 Basic Principles
• System thinking
• Amplify feedback loops
• Culture of continual experiment and learning
2
How to Start Adopting DevOps?
• Start Small: Start from experiments
implementing small enhancements.
• Create Champions: Get executive
sponsors; Give credit to people.
• Build Confidence: Identify KPIs to
support the changes.
• Celebrate Success.
Supporting Tools
• Git,Gerrit,Jenkins,Zuul,Devstack
Gate,IRC bots,Puppet etc.
3
How can we get more specific about applying
DevOps principles for our own work?
Common goals of an enterprise DevOps practice
• Increased deployment frequency
• Reduced lead time for changes
• Faster recovery when problems occur
• More robust and better integrated security
• A shift in quality – quality of code, testing, architecture,
“deployability” and culture
• Fast feedback loops and effective communication between
teams and departments
One of the most important tools
of DevOps: Failure
Getting from: To:
Failure is not a cause for blame, it is a vehicle for
change, learning, and improvement.
4
How the DevOps Movement Took Place
• The origins of the DevOps movement took place
around 2009:
• 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
“presentation. ”
• “Infrastructure as code".
• The Lean Startup.
• Continuous Integration.
• Cloud and Platform as a Service (PaaS) technologies.
Delivery Challenges
• Today’s business and technical needs are pushing
traditional delivery approaches to the breaking point
• Technical Challenges:Scale Complexity Time Pressures
• Technical Trends: SoLoMo
5
Today’s enterprise IT looks like this.
A simplified look at the enterprise
Change Management
Application IT Operations, Production
Development teams Environments, Support
Business Customer
S e c u r I t y, G o v e r n a n c e S e c u r I t y, G o v e r n a n c e
6
A simplified look at the enterprise
The business! (different departments, needs, stakeholders etc.)
The triumphant Agile team! IT Operations!!
Operation
& Data
Systems
Deploy & Support
Security
Customers / end users!!
7
A simplified look at the enterprise
Change Management
Application IT Operations, Production
Development teams Environments, Support
Business Customer
S e c u r I t y, G o v e r n a n c e S e c u r I t y, G o v e r n a n c e
Increasing quality in software and IT
delivery as a product of work
Application Delivery & Cost of Defects
50% of defects introduced here
8
What is DevOps Really?
What is DevOps?
Take 1 of 3:
9
What is DevOps?
Take 2 of 3:
The fundamental principles of DevOps as generally agreed
upon by the most influential early members of the DevOps
community, were summed up in the acronym “CAMS.”
CAMS
• Culture
• Automation
• Measurement
• Sharing
What is DevOps?
Take 2 of 3:
Jez Humble later suggested adding an “L”
to the acronym, changing it to “CALMS.”
We endorse and encourage this addition!
CALMS Jez Humble
• Culture
• Automation
• Lean
• Measurement
• Sharing
10
What is DevOps?
Take 3 of 3: “From the ah-ha to the ka-ching”
Concept / ideation
Value
DevOps is not about IT problems: DevOps is
about business problems.
What is DevOps?
Attribute Key Elements
High-trust, high- Unified mission; aligned incentives across departments and
performance culture teams; little fear/failure/blame, high quality of work life
IT capabilities = strategic Projects, features and work flow through fast cycles times,
assets, not cost centers systems are “anti-fragile,” IT processes & capabilities are aligned
with overarching organizational needs
Highly automated
processes; mature Technical phases of projects supported by common tools and
deployment pipeline automation processes, collaboration replaces handoffs,
codebase/IT infrastructure is agile and functional by default
Continuous delivery of
software and IT value Features, projects and IT work follow a regular, iterative flow.
Cycle time is short, workflow favors small frequent changes
Commitment to
continuous learning Disciplined feedback loops quickly travel back upstream for
& improvement inclusion. Tools for monitoring, measurement and alerting
implemented & effective. Shared knowledge repositories.
11
Continuous Delivery Maturity Matrix
One of the most important tools
of DevOps: Failure
Getting from: To:
Failure is not a cause for blame, it is a vehicle for
change, learning, and improvement.
12
The “Agile Triangle”
Source: Jim Highsmith, Agile Project Management (2nd Edition)
People, teams, technology,
processes and value
13
Reduce Delivery Gaps
• Design and Deployment Planning
• Integrate and automate deployment planning processes
across development & operations
• Ensure asset & configuration details are shared and
synchronized across asset stores.
• Environment Setup, Testing,Deployment and Monitoring
• Leverage integrated tools for discovery & accelerating
provisioning of test lab & production environments.
• Improving test performance by replicating real world
environments - faster testing & problem resolution“ ”
• Issue Identification and Resolution Management
• Resolving problems quicker by sharing problem & ticket information
• Ensuring tracking tools for production problems and
application fixes remain synchronized
Tools for Adopting DevOps
14
Common Attributes of Successful Cultures
• Infrastructure As Code
• Full Stack Automation
• Commodity Hardware and/or Cloud infra
• Reliability in software stack
• Datacenter or Cloud Infrastructure APIs
• Core Infra Services
• Application As Services
• Service Orientation
• Lightweight Protocols
• Versioned APIs
• Software Resiliency (Design for Failure)
• Database/Storage Abstraction
• Dev/Ops/All As Teams
• Shared Metrics/Monitoring
• Incident Management
• Service Owners On-call
• Tight integration
• Continuous Integration
• Continuous Deployment
• GameDay
15