SlideShare una empresa de Scribd logo
1 de 88
Descargar para leer sin conexión
DEVOPS ANTIPATTERNS
~WHOAMI
ANTONS KRANGA
▸ Full stack developer ~ 15years
▸ Cloud Architect
▸ DevOps Advocate
▸ Full-Stack Developer
▸ Speaker
▸ Marathon runner
@acankr
TALK STRUCTURE
PRESO PLAN
▸ Smell Symptoms: organizational anti patterns for devops
▸ Vitamins: proposed solutions from devops library
▸ Painkillers: deployment anti patterns
▸ Antibiotics: environment anti patterns brought by devops
pic from wonderful “matrix” movie
WHY DEVOPS
DEVELOPERS VERSION
DEFINITION OF DEVOPS
What is DevOps?
pic from “hitchhiker's guide to the galaxy” movie
DEFINITION OF DEVOPS
What is DevOps?
BFG900 from classical game DOOM (c) id software
DEFINITION OF DEVOPS
What is DevOps?
▸ Development teams ▸ Operations
▸ Security and compliance ▸ Management
▸ Strategy, IT Strategy
BFG900 from classical game DOOM (c) id software
▸ QA▸ HR
DRIVERS FOR SOFTWARE DEVELOPMENT
▸ development price
BEFORE AFTER
▸ innovations speed
DRIVERS FOR SOFTWARE DEVELOPMENT
▸ development price
BEFORE AFTER
▸ innovations speed
▸ specialization silos
▸ ops comes first
▸ cross functional
▸ software defined

data centers
▸ complex communication ▸ complexity theory
SMELL SYMPTOM
DEVOPS ANTIPATTERNS
ANTIPATTERN # 0
BI MODAL IT
Sparky from Frankenweenie
▸ Slow IT
▸ Safe and Predictable
▸ IT Centric
▸ Secure and Regulated
▸ Fast IT
▸ Fast and Agile
▸ Business Centric
▸ Innovative
ANTIPATTERN # 1
DEVOPS IN A BOX
You cannot buy culture!
▸ Buy a Golden DevOps LVL5
▸ Become certified DevOps master
▸ Give me DevOps compliance checklist
▸ Give me 5 key DevOps control metrics
ANTIPATTERN # 1.1
REBRANDED IT
DevOps != Configuration Management

DevOps != Release Management|

DevOps != Product Management

…

DevOps != (*) Management
DEVOPS IS THE CULTURE YOU
CANNOT FIND IN IN ITIL CATALOG
ANTIPATTERN # 2
DEVOPS AS SEPARATE TEAM
You don’t need to change
anything in your org
You extend organization
with new capabilities
ANTIPATTERN # 2
DEVOPS AS SEPARATE TEAM
Creates Unicorn vs Horses dilemma
DevOps builds their own Silo
Often loses focus on value
and speed
ANTIPATTERN # 2.1
DEVOPS AS A SILO
DevOps teams build their own Silo
▸ You cannot talk to DevOps
▸ Use Jira instead !!!!
▸ RTFM Architecture
ANTIPATTERN # 2: PROPOSED SOLUTION
SORRY, NOT MY DEPARTMENT
Bread ownership and
specialization with
autonomous teams
vs
http://martinfowler.com/bliki/DevOpsCulture.html
ANTIPATTERN # 3
DEVOPS IN AGILE
▸ DoD fails with “ilities”
▸ Services can be easily “undone”
ANTIPATTERN # 4
FEAR OF RELEASE
RELEASE === RISK
NO RELEAE NO REVENUE
vs
ANTIPATTERN # 5
SNOWFLAKE SERVER
Applying changes to Server Instance
manually leads to unique and distinct
server configuration footprint
(TECHNICAL DEBT)
http://martinfowler.com/bliki/SnowflakeServer.html
VITAMINS
DEVOPS ANTIPATTERNS
VITAMINS
INFRASTRUCTURE AS CODE
ENV
ENV
ENV
DEV …CODE
VITAMINS
INFRASTRUCTURE AS CODE
DEV
Code is a

Contract
OPS
Essence to collectively create and share knowledge
VITAMINS
INFRASTRUCTURE AS CODE
DEV
Code is a

Contract
OPS
Enables: built in quality
VITAMINS
INFRASTRUCTURE AS CODE
DEV
Code is a

Contract
OPS
Put infrastructure into SCM
VITAMINS
INFRASTRUCTURE AS CODE
DEV
Code is a

Contract
OPS`
Make infrastructure part of app
VITAMINS
USE CI ENVIRONMENT
CI
test infra depl AT
..
.
release
VITAMINS
USE CI ENVIRONMENT
▸ We need feedback not to be afraid
▸ Feedback != SPAM
▸ It’s about size of release not frequency
▸ Don’t judge for broken builds
▸ Go home when build is green
PAINKILLERS
DEVOPS ANTIPATTERNS
CONTINUOUS DELIVERY
CI/CD PROCESS
CI
test infra depl AT
..
.
release
ANTIPATTERN # 6
SLOW PIPELINES
CI
..
.
release
test infra depl DT
test DT depl infra
infra depl DT AT
ANTIPATTERN # 6: PROPOSED SOLUTION
SLOW PIPELINES
`
`
`
Design for parallelization
ANTIPATTERN # 6
“JENKINS” DRIVEN DEVELOPMENT
With single master CI you easily get a
single point of failure
CI master
ANTIPATTERN # 6: PROPOSED SOLUTION
MULTI MASTER “JENKINS”
Multi-master CI can dedicate CI Master
per group of related components
CI master CI master CI master
ANTIPATTERN # 6: PROPOSED SOLUTION # 2
SHARE RESPONSIBILITY
CI users (DEVs or OPs) are best for managing their jobs
▸ Implement Pipeline as Code
▸ Store CI/CD pipelines in git
▸ Let pipeline evolve together with your app
ANTIPATTERN # 7
MANUAL PROMOTION
Tester PRODUATIntegr TestsDEV System Tests
ENVENVENV ENV
ANTIPATTERN # 7: PROPOSED SOLUTION
KILL SWITCH FOR MANUAL TESTING
PRODUATIntegr TestsDEV System Tests
ENVENVENV ENV
TEST
ANTIPATTERN # 7: PROPOSED SOLUTION
KILL SWITCH FOR MANUAL TESTING
PRODUATIntegr TestsDEV System Tests
ENVENVENV ENV
TEST
Time adjustable

if TREND is good
ANTIPATTERN # 7: PROPOSED SOLUTION
AB TESTING
PROD A
Integr TestsDEV System Tests
ENV
ENVENV
TEST A
PROD B
ENV
TEST B
feedback
feedback
measure
ANTIPATTERN # 7.1
CODEREVIEW
PRODUATIntegr Tests System Tests
ENVENVENV ENV
DEV B
feature 

branch DEV C
code 

review
ANTIPATTERN # 7.1: PROPOSED SOLUTION
REACTIVE CODEREVIEW
ReleaseIntegr Tests System Tests
ENVENV ENV
Full 

Regression
Calc technical

debt
ENV
Nightly
DEV A
Standup
code 

review
…
ANTIPATTERN # 7.1
CODEREVIEW
PRODUATIntegr TestsDEV A System Tests
ENVENVENV ENV
master
DEV B
feature 

branch DEV C
code 

review
ANTIPATTERN # 7.2
GIT FLOWS
▸ Git flow helps to work feature dev isolated
▸ Indirectly breaks Continuous Delivery Principle
▸ Complex merge routine distracts teams
http://classicprogrammerpaintings.com/post/142586036029/junior-programmer-learns-git-rebase
ANTIPATTERN # 7.2: PROPOSED SOLUTION
GIT FLOWS
develop
master
test
merge
CI
DEV
pull
push
ANTIPATTERN # 7.2: PROPOSED SOLUTION
GIT FLOWS
develop
master
test
merge
CI
DEV
DEV
pull
push
ANTIPATTERN # 8
DEV DOESN’T CONTROL DEV ENV
DEV

ENV
DEV

ENV
DEV

ENV
…DEV CI
ANTIPATTERN # 8: PROPOSED SOLUTION
DEV DOESN’T CONTROL DEV ENV
DEV …NO CI
DEV

ENV
DEV

ENV
DEV

ENV
ANTIPATTERN # 8: PROPOSED SOLUTION
DEV DOESN’T CONTROL DEV ENV
ENV
ENV
DEV

ENV
…DEV NO CI
WANT TO HACK? SURE!
ANTIPATTERN # 8: PROPOSED SOLUTION
DEV DOESN’T CONTROL DEV ENV
ENV
ENV
DEV

ENV
…
YOU BROKE IT? YOU FIX IT!
DEV NO CI
ANTIBIOTICS
DEVOPS ANTIPATTERNS
ANTIPATTERN # 9
GOLDEN IMAGE
VM
OS
Problems
▸ Maintained manually
▸ No collaboration
▸ Hard to distribute
▸ Non versioning
Chnorr Service
ANTIPATTERN # 9: PROPOSED SOLUTION
PROVISIONING
OS Chnorr Service
ANTIPATTERN # 9: PROPOSED SOLUTION
PROVISIONING
OS
Configure
Infrastructure

code
Harden Download Install
Chnorr Service
ANTIPATTERN # 9: PROPOSED SOLUTION
PROVISIONING
OS
Configure
Infrastructure

code
Harden Download Install
Chnorr Service
ANTIPATTERN # 9: PROPOSED SOLUTION
PROVISIONING
OS
Configure
Infrastructure

code
Harden Download Install
cmdb
Chnorr Service
ANTIPATTERN # A
FRAGILE PROVISIONING
OS
Configure
Infrastructure

code
Harden Download Install
▸ Provisioning success < 100%
▸ Time to provision
Chnorr Service
ANTIPATTERN # A
FRAGILE PROVISIONING
OS
Configure
Infrastructure

code
Harden Download Install
▸ Provisioning success < 100%
▸ Time to provision
Chnorr Service
ANTIPATTERN # A
FRAGILE PROVISIONING
OS
Configure
Infrastructure

code
Harden Download Install
▸ Provisioning success < 100%
▸ Time to provision
Chnorr Service
ANTIPATTERN # A
FRAGILE PROVISIONING
OS
Configure
Infrastructure

code
Harden Download Install
▸ Provisioning success < 100%
▸ Time to provision
Chnorr Service
ANTIPATTERN # A.1
PRIVATE DATA CENTER PROVISIONING
PRIVATE DATA CENTER: NO INTERNET!!!
OS
ConfigureHarden Download Install
Chnorr Service
ANTIPATTERN # A.1
PRIVATE DATA CENTER PROVISIONING
PRIVATE DATA CENTER: NO INTERNET!!!
OS
ConfigureHarden Download Install
…
apt yum gem
Chnorr Service
ANTIPATTERN # A.1
PRIVATE DATA CENTER PROVISIONING
PRIVATE DATA CENTER: NO INTERNET!!!
OS
ConfigureHarden Download Install
…
apt yum gem
complicated?
Chnorr Service
ANTIPATTERN # A.1: PROPOSED SOLUTION
STEM CELLS
static dynamic
OS
ConfigureHarden Download Install
Chnorr Service
ANTIPATTERN # A.1: PROPOSED SOLUTION
STEM CELLS
OS
ConfigureHarden Download Install
LAB PRIVATE DATA CENTER
Chnorr Service
ANTIPATTERN # A.1: PROPOSED SOLUTION
STEM CELLS
OS
ConfigureHarden Download Install
LAB PRIVATE DATA CENTER
code
packer
PROVISION
MAKE

SNAPSHOT
docker
Chnorr Service
RECONFIGURE
ANTIPATTERN # B
DEPENDENCY HELL
OS
Configure
Infrastructure

code
Harden Download Install
▸ Version of libraries
▸ Version of packages
▸ Maintain dependencies
Chnorr Service
ANTIPATTERN # B
DEPENDENCY HELL
OS
Configure
Infrastructure

code
Harden Download Install
▸ Version of libraries
▸ Version of packages
▸ Maintain dependencies
▸ Version of your infra code
▸ Maintain dependencies
Chnorr Service
ANTIPATTERN # B: PROPOSED SOLUTION
CANARY BUILDS
Accept Tests
CI
Unit Test Provision
…
PRECISE version libs
Accept Tests
CI
Unit Test Provision
…
LATEST version libs
Chnorr Service
Chnorr Service
ANTIPATTERN # C
INFRASTRUCTURE PET
Attributes of Pet
▸ Have meaningful names
▸ Long living instance
▸ Often needs manual nursing
▸ Requires scary patching
▸ Leads to snowflakes
▸ PaaS is modern pet
ANTIPATTERN # C: PROPOSED SOLUTION
INFRASTRUCTURE CATTLE
Attributes of Pet
▸ Have numbers in its name
▸ Short living instance
▸ Immutable configuration
▸ Recreate instead of patching
▸ Requires careful planning
ANTIPATTERN # C: PROPOSED SOLUTION
PET TO TRANSFORMATION CATTLE EXAMPLE
Chnorr Service
Database
ANTIPATTERN # C: PROPOSED SOLUTION
PET TO TRANSFORMATION CATTLE EXAMPLE
Chnorr Service
Database
ANTIPATTERN # C: PROPOSED SOLUTION
PET TO TRANSFORMATION CATTLE EXAMPLE
Chnorr Service
Database
Cattle
Pet
ANTIPATTERN # C: PROPOSED SOLUTION
PET TO TRANSFORMATION CATTLE EXAMPLE
Chnorr Service
Database
Cattle
Pet
User Data
ANTIPATTERN # D
SECRETS LEAK
OS
Configure
Infrastructure

code
Install
cmdb
wrong place 

for your secrets
wrong place 

for your secrets
Chnorr Service
ANTIPATTERN # D: PROPOSED SOLUTION
SECRETS LEAK
▸ Don’t store secrets with code
▸ Don’t store secrets with configuration
▸ Don’t leave secrets in service
Secrets DON’Ts
ANTIPATTERN # D: PROPOSED SOLUTION
SECRETS LEAK
▸ Secret can be leased and rotated
▸ tmpfs is your fiend
Secrets DOs
ANTIPATTERN # D: PROPOSED SOLUTION
SECURITY LEASING EXAMPLE
Chnorr Service vault
consul
IAM
Database
api
x hours leasing
AWS
TAKEAWAYS
GOOD INFRA CODE
TAKEAWAYS
PATTERNS GOES BEFORE TOOLS
Patterns Tools
vs
TAKEAWAYS
EVERYTHING MUST HAVE AN API
REST
DSL
CLI
TAKEAWAYS
SPLIT YOUR SECRETS FROM CODE OR CONFIGURATION
(c) @eduardsi
TAKEAWAYS
SELF TESTABLE CODE
▸ Use assertions for infrastructure code
▸ Use acceptance test frameworks
Tests improves your confidence
CHEF MINITEST
		package	"mysql"	
		assert_file	"/etc/my.cnf",	"mysql",	"mysql",	"644"
SHELL
		apt-get	install	-yqq	mysql	
		test	!	-f	/etc/my.cnf	||	error_exit	“boo”
TAKEAWAYS
HOW TO START DEVOPS
▸ Fastest way to start with Vitamins and Coaching
▸ Apply measures early
▸ Apply right measures
▸ Tools comes later
TAKEAWAYS
READING
▸ Book: The Phoenix Project
▸ Author: Gene Kim

Kevin Behr

George Stafford
▸ ISBN: 978-0988262508
TAKEAWAYS
READING
▸ Book: The Lean Startup
▸ Author: Eric Ries
▸ ISBN: 978-0307887894
TAKEAWAYS
READING
▸ Book: A Human Error Approach to
Aviation Accident Analysis
▸ Author: Douglas A. Wiegmann

Scott A. Shappell
▸ ISBN: 978-0754618737
THANK YOU
Download me here: http://www.slideshare.net/akranga/dev-ops-with-smell-v12
Twitter: @acankr

Más contenido relacionado

La actualidad más candente

Red hat ansible automation technical deck
Red hat ansible automation technical deckRed hat ansible automation technical deck
Red hat ansible automation technical deck
Juraj Hantak
 
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated ApplicationsContainerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated Applications
Docker, Inc.
 

La actualidad más candente (20)

Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
 
Docker Enables DevOps
Docker Enables DevOpsDocker Enables DevOps
Docker Enables DevOps
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
 
Helm intro
Helm introHelm intro
Helm intro
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
 
Code Reviews vs. Pull Requests
Code Reviews vs. Pull RequestsCode Reviews vs. Pull Requests
Code Reviews vs. Pull Requests
 
Building Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech StackBuilding Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech Stack
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
 
DCEU 18: High Availability with Docker Enterprise
DCEU 18: High Availability with Docker EnterpriseDCEU 18: High Availability with Docker Enterprise
DCEU 18: High Availability with Docker Enterprise
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization Strategy
 
DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy  DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy
 
Building your production tech stack for docker container platform
Building your production tech stack for docker container platformBuilding your production tech stack for docker container platform
Building your production tech stack for docker container platform
 
Red hat ansible automation technical deck
Red hat ansible automation technical deckRed hat ansible automation technical deck
Red hat ansible automation technical deck
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
What's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech TalkWhat's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech Talk
 
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
Next-gen DevOps engineering with Docker and Kubernetes by Antons KrangaNext-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
 
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated ApplicationsContainerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated Applications
 
Microservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & TricksMicroservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & Tricks
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CD
 

Destacado

Destacado (20)

DevOps Days Tel Aviv - Serverless Architecture
DevOps Days Tel Aviv - Serverless ArchitectureDevOps Days Tel Aviv - Serverless Architecture
DevOps Days Tel Aviv - Serverless Architecture
 
Sql Antipatterns Strike Back
Sql Antipatterns Strike BackSql Antipatterns Strike Back
Sql Antipatterns Strike Back
 
I am a Test Engineer: Why should I care about DevOps?
I am a Test Engineer: Why should I care about DevOps?I am a Test Engineer: Why should I care about DevOps?
I am a Test Engineer: Why should I care about DevOps?
 
Turning the Heat up on DevOps: Providing a web-based editing experience aroun...
Turning the Heat up on DevOps: Providing a web-based editing experience aroun...Turning the Heat up on DevOps: Providing a web-based editing experience aroun...
Turning the Heat up on DevOps: Providing a web-based editing experience aroun...
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
JavaDay Lviv: Serverless Archtiectures
JavaDay Lviv: Serverless ArchtiecturesJavaDay Lviv: Serverless Archtiectures
JavaDay Lviv: Serverless Archtiectures
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: Vagrant
 
Vagrant introduction for Developers
Vagrant introduction for DevelopersVagrant introduction for Developers
Vagrant introduction for Developers
 
BDD - you're doing it all wrong!
BDD - you're doing it all wrong!BDD - you're doing it all wrong!
BDD - you're doing it all wrong!
 
Riga dev day: Lambda architecture at AWS
Riga dev day: Lambda architecture at AWSRiga dev day: Lambda architecture at AWS
Riga dev day: Lambda architecture at AWS
 
OpenSlava Infrastructure Automation Patterns
OpenSlava   Infrastructure Automation PatternsOpenSlava   Infrastructure Automation Patterns
OpenSlava Infrastructure Automation Patterns
 
Full Stack DevOps - Ready To Go
Full Stack DevOps - Ready To GoFull Stack DevOps - Ready To Go
Full Stack DevOps - Ready To Go
 
DevOps Hackathon: Session 3 - Test Driven Infrastructure
DevOps Hackathon: Session 3 - Test Driven InfrastructureDevOps Hackathon: Session 3 - Test Driven Infrastructure
DevOps Hackathon: Session 3 - Test Driven Infrastructure
 
DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis
 
OpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-outOpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-out
 
TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...
TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...
TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...
 
AWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next LevelAWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next Level
 
Full-Stack Development
Full-Stack DevelopmentFull-Stack Development
Full-Stack Development
 
906702 Enhancing Business Processes Using Enterprise Information Systems
906702 Enhancing Business Processes Using Enterprise Information Systems906702 Enhancing Business Processes Using Enterprise Information Systems
906702 Enhancing Business Processes Using Enterprise Information Systems
 
How To Make Dev Ops Work @ Netlight Edge X Berlin
How To Make Dev Ops Work @ Netlight Edge X BerlinHow To Make Dev Ops Work @ Netlight Edge X Berlin
How To Make Dev Ops Work @ Netlight Edge X Berlin
 

Similar a Dev ops with smell v1.2

WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the CloudWSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2
 

Similar a Dev ops with smell v1.2 (20)

Shift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with AnsibleShift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with Ansible
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019
 
Success Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices ImplementationSuccess Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices Implementation
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 
Cloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant SoftwareCloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant Software
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
 
Continuous Deployment: Beyond Continuous Delivery
Continuous Deployment: Beyond Continuous DeliveryContinuous Deployment: Beyond Continuous Delivery
Continuous Deployment: Beyond Continuous Delivery
 
Testing as a container
Testing as a containerTesting as a container
Testing as a container
 
Can I Contain This?
Can I Contain This?Can I Contain This?
Can I Contain This?
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for Kubernetes
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
Collibra wrojug-ontrack-20100424
Collibra wrojug-ontrack-20100424Collibra wrojug-ontrack-20100424
Collibra wrojug-ontrack-20100424
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
 
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the CloudWSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
 
Replay Solutions CFD
Replay Solutions CFDReplay Solutions CFD
Replay Solutions CFD
 
Continuous delivery from the trenches
Continuous delivery from the trenchesContinuous delivery from the trenches
Continuous delivery from the trenches
 
Attacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryAttacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous Delivery
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

Dev ops with smell v1.2

  • 2. ~WHOAMI ANTONS KRANGA ▸ Full stack developer ~ 15years ▸ Cloud Architect ▸ DevOps Advocate ▸ Full-Stack Developer ▸ Speaker ▸ Marathon runner @acankr
  • 3. TALK STRUCTURE PRESO PLAN ▸ Smell Symptoms: organizational anti patterns for devops ▸ Vitamins: proposed solutions from devops library ▸ Painkillers: deployment anti patterns ▸ Antibiotics: environment anti patterns brought by devops pic from wonderful “matrix” movie
  • 5. DEFINITION OF DEVOPS What is DevOps? pic from “hitchhiker's guide to the galaxy” movie
  • 6. DEFINITION OF DEVOPS What is DevOps? BFG900 from classical game DOOM (c) id software
  • 7. DEFINITION OF DEVOPS What is DevOps? ▸ Development teams ▸ Operations ▸ Security and compliance ▸ Management ▸ Strategy, IT Strategy BFG900 from classical game DOOM (c) id software ▸ QA▸ HR
  • 8. DRIVERS FOR SOFTWARE DEVELOPMENT ▸ development price BEFORE AFTER ▸ innovations speed
  • 9. DRIVERS FOR SOFTWARE DEVELOPMENT ▸ development price BEFORE AFTER ▸ innovations speed ▸ specialization silos ▸ ops comes first ▸ cross functional ▸ software defined
 data centers ▸ complex communication ▸ complexity theory
  • 11. ANTIPATTERN # 0 BI MODAL IT Sparky from Frankenweenie ▸ Slow IT ▸ Safe and Predictable ▸ IT Centric ▸ Secure and Regulated ▸ Fast IT ▸ Fast and Agile ▸ Business Centric ▸ Innovative
  • 12. ANTIPATTERN # 1 DEVOPS IN A BOX You cannot buy culture! ▸ Buy a Golden DevOps LVL5 ▸ Become certified DevOps master ▸ Give me DevOps compliance checklist ▸ Give me 5 key DevOps control metrics
  • 13. ANTIPATTERN # 1.1 REBRANDED IT DevOps != Configuration Management
 DevOps != Release Management|
 DevOps != Product Management
 …
 DevOps != (*) Management DEVOPS IS THE CULTURE YOU CANNOT FIND IN IN ITIL CATALOG
  • 14. ANTIPATTERN # 2 DEVOPS AS SEPARATE TEAM You don’t need to change anything in your org You extend organization with new capabilities
  • 15. ANTIPATTERN # 2 DEVOPS AS SEPARATE TEAM Creates Unicorn vs Horses dilemma DevOps builds their own Silo Often loses focus on value and speed
  • 16. ANTIPATTERN # 2.1 DEVOPS AS A SILO DevOps teams build their own Silo ▸ You cannot talk to DevOps ▸ Use Jira instead !!!! ▸ RTFM Architecture
  • 17. ANTIPATTERN # 2: PROPOSED SOLUTION SORRY, NOT MY DEPARTMENT Bread ownership and specialization with autonomous teams vs http://martinfowler.com/bliki/DevOpsCulture.html
  • 18. ANTIPATTERN # 3 DEVOPS IN AGILE ▸ DoD fails with “ilities” ▸ Services can be easily “undone”
  • 19. ANTIPATTERN # 4 FEAR OF RELEASE RELEASE === RISK NO RELEAE NO REVENUE vs
  • 20. ANTIPATTERN # 5 SNOWFLAKE SERVER Applying changes to Server Instance manually leads to unique and distinct server configuration footprint (TECHNICAL DEBT) http://martinfowler.com/bliki/SnowflakeServer.html
  • 23. VITAMINS INFRASTRUCTURE AS CODE DEV Code is a
 Contract OPS Essence to collectively create and share knowledge
  • 24. VITAMINS INFRASTRUCTURE AS CODE DEV Code is a
 Contract OPS Enables: built in quality
  • 25. VITAMINS INFRASTRUCTURE AS CODE DEV Code is a
 Contract OPS Put infrastructure into SCM
  • 26. VITAMINS INFRASTRUCTURE AS CODE DEV Code is a
 Contract OPS` Make infrastructure part of app
  • 27. VITAMINS USE CI ENVIRONMENT CI test infra depl AT .. . release
  • 28. VITAMINS USE CI ENVIRONMENT ▸ We need feedback not to be afraid ▸ Feedback != SPAM ▸ It’s about size of release not frequency ▸ Don’t judge for broken builds ▸ Go home when build is green
  • 30. CONTINUOUS DELIVERY CI/CD PROCESS CI test infra depl AT .. . release
  • 31. ANTIPATTERN # 6 SLOW PIPELINES CI .. . release test infra depl DT test DT depl infra infra depl DT AT
  • 32. ANTIPATTERN # 6: PROPOSED SOLUTION SLOW PIPELINES ` ` ` Design for parallelization
  • 33. ANTIPATTERN # 6 “JENKINS” DRIVEN DEVELOPMENT With single master CI you easily get a single point of failure CI master
  • 34. ANTIPATTERN # 6: PROPOSED SOLUTION MULTI MASTER “JENKINS” Multi-master CI can dedicate CI Master per group of related components CI master CI master CI master
  • 35. ANTIPATTERN # 6: PROPOSED SOLUTION # 2 SHARE RESPONSIBILITY CI users (DEVs or OPs) are best for managing their jobs ▸ Implement Pipeline as Code ▸ Store CI/CD pipelines in git ▸ Let pipeline evolve together with your app
  • 36. ANTIPATTERN # 7 MANUAL PROMOTION Tester PRODUATIntegr TestsDEV System Tests ENVENVENV ENV
  • 37. ANTIPATTERN # 7: PROPOSED SOLUTION KILL SWITCH FOR MANUAL TESTING PRODUATIntegr TestsDEV System Tests ENVENVENV ENV TEST
  • 38. ANTIPATTERN # 7: PROPOSED SOLUTION KILL SWITCH FOR MANUAL TESTING PRODUATIntegr TestsDEV System Tests ENVENVENV ENV TEST Time adjustable
 if TREND is good
  • 39. ANTIPATTERN # 7: PROPOSED SOLUTION AB TESTING PROD A Integr TestsDEV System Tests ENV ENVENV TEST A PROD B ENV TEST B feedback feedback measure
  • 40. ANTIPATTERN # 7.1 CODEREVIEW PRODUATIntegr Tests System Tests ENVENVENV ENV DEV B feature 
 branch DEV C code 
 review
  • 41. ANTIPATTERN # 7.1: PROPOSED SOLUTION REACTIVE CODEREVIEW ReleaseIntegr Tests System Tests ENVENV ENV Full 
 Regression Calc technical
 debt ENV Nightly DEV A Standup code 
 review …
  • 42. ANTIPATTERN # 7.1 CODEREVIEW PRODUATIntegr TestsDEV A System Tests ENVENVENV ENV master DEV B feature 
 branch DEV C code 
 review
  • 43. ANTIPATTERN # 7.2 GIT FLOWS ▸ Git flow helps to work feature dev isolated ▸ Indirectly breaks Continuous Delivery Principle ▸ Complex merge routine distracts teams http://classicprogrammerpaintings.com/post/142586036029/junior-programmer-learns-git-rebase
  • 44. ANTIPATTERN # 7.2: PROPOSED SOLUTION GIT FLOWS develop master test merge CI DEV pull push
  • 45. ANTIPATTERN # 7.2: PROPOSED SOLUTION GIT FLOWS develop master test merge CI DEV DEV pull push
  • 46. ANTIPATTERN # 8 DEV DOESN’T CONTROL DEV ENV DEV
 ENV DEV
 ENV DEV
 ENV …DEV CI
  • 47. ANTIPATTERN # 8: PROPOSED SOLUTION DEV DOESN’T CONTROL DEV ENV DEV …NO CI DEV
 ENV DEV
 ENV DEV
 ENV
  • 48. ANTIPATTERN # 8: PROPOSED SOLUTION DEV DOESN’T CONTROL DEV ENV ENV ENV DEV
 ENV …DEV NO CI WANT TO HACK? SURE!
  • 49. ANTIPATTERN # 8: PROPOSED SOLUTION DEV DOESN’T CONTROL DEV ENV ENV ENV DEV
 ENV … YOU BROKE IT? YOU FIX IT! DEV NO CI
  • 51. ANTIPATTERN # 9 GOLDEN IMAGE VM OS Problems ▸ Maintained manually ▸ No collaboration ▸ Hard to distribute ▸ Non versioning Chnorr Service
  • 52. ANTIPATTERN # 9: PROPOSED SOLUTION PROVISIONING OS Chnorr Service
  • 53. ANTIPATTERN # 9: PROPOSED SOLUTION PROVISIONING OS Configure Infrastructure
 code Harden Download Install Chnorr Service
  • 54. ANTIPATTERN # 9: PROPOSED SOLUTION PROVISIONING OS Configure Infrastructure
 code Harden Download Install Chnorr Service
  • 55. ANTIPATTERN # 9: PROPOSED SOLUTION PROVISIONING OS Configure Infrastructure
 code Harden Download Install cmdb Chnorr Service
  • 56. ANTIPATTERN # A FRAGILE PROVISIONING OS Configure Infrastructure
 code Harden Download Install ▸ Provisioning success < 100% ▸ Time to provision Chnorr Service
  • 57. ANTIPATTERN # A FRAGILE PROVISIONING OS Configure Infrastructure
 code Harden Download Install ▸ Provisioning success < 100% ▸ Time to provision Chnorr Service
  • 58. ANTIPATTERN # A FRAGILE PROVISIONING OS Configure Infrastructure
 code Harden Download Install ▸ Provisioning success < 100% ▸ Time to provision Chnorr Service
  • 59. ANTIPATTERN # A FRAGILE PROVISIONING OS Configure Infrastructure
 code Harden Download Install ▸ Provisioning success < 100% ▸ Time to provision Chnorr Service
  • 60. ANTIPATTERN # A.1 PRIVATE DATA CENTER PROVISIONING PRIVATE DATA CENTER: NO INTERNET!!! OS ConfigureHarden Download Install Chnorr Service
  • 61. ANTIPATTERN # A.1 PRIVATE DATA CENTER PROVISIONING PRIVATE DATA CENTER: NO INTERNET!!! OS ConfigureHarden Download Install … apt yum gem Chnorr Service
  • 62. ANTIPATTERN # A.1 PRIVATE DATA CENTER PROVISIONING PRIVATE DATA CENTER: NO INTERNET!!! OS ConfigureHarden Download Install … apt yum gem complicated? Chnorr Service
  • 63. ANTIPATTERN # A.1: PROPOSED SOLUTION STEM CELLS static dynamic OS ConfigureHarden Download Install Chnorr Service
  • 64. ANTIPATTERN # A.1: PROPOSED SOLUTION STEM CELLS OS ConfigureHarden Download Install LAB PRIVATE DATA CENTER Chnorr Service
  • 65. ANTIPATTERN # A.1: PROPOSED SOLUTION STEM CELLS OS ConfigureHarden Download Install LAB PRIVATE DATA CENTER code packer PROVISION MAKE
 SNAPSHOT docker Chnorr Service RECONFIGURE
  • 66. ANTIPATTERN # B DEPENDENCY HELL OS Configure Infrastructure
 code Harden Download Install ▸ Version of libraries ▸ Version of packages ▸ Maintain dependencies Chnorr Service
  • 67. ANTIPATTERN # B DEPENDENCY HELL OS Configure Infrastructure
 code Harden Download Install ▸ Version of libraries ▸ Version of packages ▸ Maintain dependencies ▸ Version of your infra code ▸ Maintain dependencies Chnorr Service
  • 68. ANTIPATTERN # B: PROPOSED SOLUTION CANARY BUILDS Accept Tests CI Unit Test Provision … PRECISE version libs Accept Tests CI Unit Test Provision … LATEST version libs Chnorr Service Chnorr Service
  • 69. ANTIPATTERN # C INFRASTRUCTURE PET Attributes of Pet ▸ Have meaningful names ▸ Long living instance ▸ Often needs manual nursing ▸ Requires scary patching ▸ Leads to snowflakes ▸ PaaS is modern pet
  • 70. ANTIPATTERN # C: PROPOSED SOLUTION INFRASTRUCTURE CATTLE Attributes of Pet ▸ Have numbers in its name ▸ Short living instance ▸ Immutable configuration ▸ Recreate instead of patching ▸ Requires careful planning
  • 71. ANTIPATTERN # C: PROPOSED SOLUTION PET TO TRANSFORMATION CATTLE EXAMPLE Chnorr Service Database
  • 72. ANTIPATTERN # C: PROPOSED SOLUTION PET TO TRANSFORMATION CATTLE EXAMPLE Chnorr Service Database
  • 73. ANTIPATTERN # C: PROPOSED SOLUTION PET TO TRANSFORMATION CATTLE EXAMPLE Chnorr Service Database Cattle Pet
  • 74. ANTIPATTERN # C: PROPOSED SOLUTION PET TO TRANSFORMATION CATTLE EXAMPLE Chnorr Service Database Cattle Pet User Data
  • 75. ANTIPATTERN # D SECRETS LEAK OS Configure Infrastructure
 code Install cmdb wrong place 
 for your secrets wrong place 
 for your secrets Chnorr Service
  • 76. ANTIPATTERN # D: PROPOSED SOLUTION SECRETS LEAK ▸ Don’t store secrets with code ▸ Don’t store secrets with configuration ▸ Don’t leave secrets in service Secrets DON’Ts
  • 77. ANTIPATTERN # D: PROPOSED SOLUTION SECRETS LEAK ▸ Secret can be leased and rotated ▸ tmpfs is your fiend Secrets DOs
  • 78. ANTIPATTERN # D: PROPOSED SOLUTION SECURITY LEASING EXAMPLE Chnorr Service vault consul IAM Database api x hours leasing AWS
  • 80. TAKEAWAYS PATTERNS GOES BEFORE TOOLS Patterns Tools vs
  • 81. TAKEAWAYS EVERYTHING MUST HAVE AN API REST DSL CLI
  • 82. TAKEAWAYS SPLIT YOUR SECRETS FROM CODE OR CONFIGURATION (c) @eduardsi
  • 83. TAKEAWAYS SELF TESTABLE CODE ▸ Use assertions for infrastructure code ▸ Use acceptance test frameworks Tests improves your confidence CHEF MINITEST package "mysql" assert_file "/etc/my.cnf", "mysql", "mysql", "644" SHELL apt-get install -yqq mysql test ! -f /etc/my.cnf || error_exit “boo”
  • 84. TAKEAWAYS HOW TO START DEVOPS ▸ Fastest way to start with Vitamins and Coaching ▸ Apply measures early ▸ Apply right measures ▸ Tools comes later
  • 85. TAKEAWAYS READING ▸ Book: The Phoenix Project ▸ Author: Gene Kim
 Kevin Behr
 George Stafford ▸ ISBN: 978-0988262508
  • 86. TAKEAWAYS READING ▸ Book: The Lean Startup ▸ Author: Eric Ries ▸ ISBN: 978-0307887894
  • 87. TAKEAWAYS READING ▸ Book: A Human Error Approach to Aviation Accident Analysis ▸ Author: Douglas A. Wiegmann
 Scott A. Shappell ▸ ISBN: 978-0754618737
  • 88. THANK YOU Download me here: http://www.slideshare.net/akranga/dev-ops-with-smell-v12 Twitter: @acankr