What is Devops ? What is the story behind it ? Who created it ? Why was it even created ? What are the key principles and practices related to devops ? This presentation attempts to answer all of those questions.
13. To achieve their business
goals
CHANGE
to achieve competitive advantage
to survive
to respond to changing customer
needs
Organizations need to
constantly
34. THEORY OF CONSTRAINT
▸ Identify System’s Constraints
▸ Exploit the Constraint
▸ Subordinate everything to above decision
▸ Elevate the Constraint
▸ Repeat the Process
43. BUILDING TOOLS AND CULTURE TO BRIDGE THE GAP BETWEEN DEV AND OPS
AUTOMATED INFRASTRUCTURE
SHARED VERSION CONTROL
ONE STEP BUILD AND DEPLOY
SHARED METRICS
FEATURE FLAGS
IRC AND IM BOTS
MUTUAL RESPECT
TRUST
HEALTHY ATTITUDE ABOUT FAILURE
AVOIDING BLAME
src: https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr/76
Tools
Culture
63. TEXT
KEY PRINCIPLES
▸ Move from imperative to declarative
▸ Revision Control Everything
▸ Immediate Feedback
▸ Monitoring Everything
▸ System Design
64. IDENTIFY THE WASTE
WASTE IN SOFTWARE DELIVERY
▸ Over Production: Running tests which need not be run. Component has no
dependencies. Building features not useful for customers.
▸ Waiting : Dev and QA waiting for environment to be available.
▸ Over Processing : Engaging workforce in deployment planning, environment setup,
manual releases.
▸ Defects : Bugs and Rework, Firefighting.
▸ Inventory : Piling up Work in Progress
▸ Waste of Resources : Allocating more than necessary, valuable processing power
and memory
▸ Waste of movement : Exchanging emails, having multiple meetings for deployment
planning
Source : Amit Choudhary https://www.linkedin.com/pulse/20140928153300-27449214-when-i-see-devops-i-see-tps-and-poka-yoke
70. Infrastructure as a
Code (IaaC)
Ability to describe state of infrastructure
Treat it similar to Application Code
Repeatable, Flexible, Automat-able
Consistent Provisioning and Configuration of
Environments
87. Without automated testing continuous
integration is the fastest way to get a big
pile of jump that never compiles or runs
correctly….. !
AUTOMATED TESTING
88. Automated UI Test
Integration Test
Unit Test
Manual Test
Anti Pattern Inverted Test Pyramid
Automated UI
Test
Automated API Test
Automated Service Test
Automated Component Test
Automated Unit Test
Exploratory
Test
10%
89. Rotated Test Pyramid
Automated UI Test
Automated API Test
Automated Service Test
Automated Component Test
Automated Unit Test
Exploratory
Test
10%
90. Continuous Delivery
Extension of Continuous
Integration
Keep the builds green
Always ready to release
Business decides when to
release