SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
ROME 11-12 april 2014ROME 11-12 april 2014
DevOps for Developers
or how to put a smile on your admin’s face
uwe.friedrichsen@codecentric.de - codecentric AG
Uwe Friedrichsen
ROME 11-12 april 2014 - Speaker’s name
All slides of this presentation are available under a
Creative Commons licence
“http://creativecommons.org/licenses/by-nc-sa/3.0/”
@ufried
Uwe Friedrichsen | uwe.friedrichsen@codecentric.de | http://slideshare.net/ufried | http://ufried.tumblr.com
DevOps
DevOps
DevQA
 DevPO
DevRE
DevPM
DevDev
 DevDevPO
DevDevDev
It‘s all about production!
Operations
Developers Point of View
Admin
Developers Point of View
Admin
Closer to Reality Point of View
Top 5 Needs of an Admin


1.  Give me my peace and quiet!
2.  Don‘t make me think!
3.  Let me see that everything is fine!
4.  Show me the problem – now!
5.  Tell me what to do!
Top 5 Needs of an Admin (translated)

1.  Give me my peace and quiet!

(The application should just run smoothly)
2.  Don‘t make me think!

(Rollout, setup and operation of the application should be easy)
3.  Let me see that everything is fine!

(The application should show its state)
4.  Show me the problem – now!

(The application should provide concise error messages and enable easy root cause drilldown)
5.  Tell me what to do!

(The application should be documented properly – including error handling instructions)
Top 3 Dev Challenges


1.  Manageability
2.  Resilience
3.  Transparency
4.  Documentation
11 Design Principles

for DevOps-ready Applications






•  Manageability (4)
•  Resilience (5)
•  Transparency (2)
Manageability
Deployment

(Manageability)
•  One-click deployment
•  Preserve settings
•  Provide rollbacks (or roll-forward)
Configuration

(Manageability)
•  Avoid multiple configuration procedures
•  Define default value handling
•  Organize change traceability
•  Notification about new parameters
Configuration Parameter Types

(Manageability)
•  Context-related parameters

Do not stage – managed by stage admin
•  Application-related parameters

Must be staged – managed by application admin
•  Business-related parameters

Must be staged – managed by business admin
Backup

(Manageability)
•  Think about backup purpose
•  Define backup strategy
•  Provide tooling
Resilience
Bulkheads

(Resilience)
•  Divide system in failure units
•  Isolate failure units
•  Define fallback strategy
Redundancy

(Resilience)
•  Elaborate use case

Minimize MTTR / scale transactions / handle response errors / …
•  Define routing & balancing strategy

Round robin / master-slave / fan-out & quickest one wins / …
•  Consider admin involvement

Automatic vs. manual / notification – monitoring / …
Loose Coupling

(Resilience)
•  Isolate failure units (complements bulkheads)
•  Go asynchronous wherever possible
•  Use timeouts & circuit breakers
•  Make actions idempotent
Fallbacks

(Resilience)
•  What will you do if a request fails?
•  Consider failure handling from the very beginning
•  Supplement with general failure handling strategies
Scalability

(Resilience)
•  Define scaling strategy
•  Think full stack
•  Apply D-I-D rule
•  Design for elasticity
Transparency
Monitoring

(Transparency)
•  Think about required metrics
•  Design hook or event mechanism
•  Plan for changing metrics
•  Consider event sourcing
Logging

(Transparency)
•  Consider log message structure

All required information / human readable / machine readable
•  Define logging policy

Debug and less: developers perspective / Info and more: operations perspective
11 Design Principles

•  Manageability
•  Deployment
•  Configuration
•  Configuration Parameter Types
•  Backup

•  Resilience
•  Bulkheads
•  Redundancy
•  Loose Coupling
•  Fallbacks
•  Scalability

•  Transparency
•  Monitoring
•  Logging
Wrap-up



•  It’s all about production!
•  Know the needs of an admin
•  Face the challenges for a developer
•  Apply the design principles



… and then you‘re ready for DevOps
@ufried
Uwe Friedrichsen | uwe.friedrichsen@codecentric.de | http://slideshare.net/ufried | http://ufried.tumblr.com
DevOps for Developers - Friedrichsen

Más contenido relacionado

Destacado

Assited bin collection vulnerable person project
Assited bin collection vulnerable person projectAssited bin collection vulnerable person project
Assited bin collection vulnerable person project
localinsight
 
Employment support for long term incapacity benefit claimants
Employment support for long term incapacity benefit claimantsEmployment support for long term incapacity benefit claimants
Employment support for long term incapacity benefit claimants
localinsight
 
Mobile prototyping kaziak - Codemotion Rome 2015
Mobile prototyping kaziak - Codemotion Rome 2015Mobile prototyping kaziak - Codemotion Rome 2015
Mobile prototyping kaziak - Codemotion Rome 2015
Codemotion
 

Destacado (8)

The Big “Why equal doesn’t equal” Quiz
The Big “Why equal doesn’t equal” QuizThe Big “Why equal doesn’t equal” Quiz
The Big “Why equal doesn’t equal” Quiz
 
So Easy a Child Could Do It: Designing Mobile Apps for Kids
So Easy a Child Could Do It: Designing Mobile Apps for KidsSo Easy a Child Could Do It: Designing Mobile Apps for Kids
So Easy a Child Could Do It: Designing Mobile Apps for Kids
 
Assited bin collection vulnerable person project
Assited bin collection vulnerable person projectAssited bin collection vulnerable person project
Assited bin collection vulnerable person project
 
Attacchi, bugie e underground digitale by Andrea Pompili
Attacchi, bugie e underground digitale by Andrea PompiliAttacchi, bugie e underground digitale by Andrea Pompili
Attacchi, bugie e underground digitale by Andrea Pompili
 
Employment support for long term incapacity benefit claimants
Employment support for long term incapacity benefit claimantsEmployment support for long term incapacity benefit claimants
Employment support for long term incapacity benefit claimants
 
Adam Onishi - Trophy winning teams
Adam Onishi - Trophy winning teamsAdam Onishi - Trophy winning teams
Adam Onishi - Trophy winning teams
 
Mobile HTML5 websites and hybrid Apps with AngularJS - Bonamico
Mobile HTML5 websites and hybrid Apps with AngularJS - BonamicoMobile HTML5 websites and hybrid Apps with AngularJS - Bonamico
Mobile HTML5 websites and hybrid Apps with AngularJS - Bonamico
 
Mobile prototyping kaziak - Codemotion Rome 2015
Mobile prototyping kaziak - Codemotion Rome 2015Mobile prototyping kaziak - Codemotion Rome 2015
Mobile prototyping kaziak - Codemotion Rome 2015
 

Similar a DevOps for Developers - Friedrichsen

Sean carter dan_deans
Sean carter dan_deansSean carter dan_deans
Sean carter dan_deans
NASAPMC
 

Similar a DevOps for Developers - Friedrichsen (20)

Devops for Developers
Devops for DevelopersDevops for Developers
Devops for Developers
 
Production-ready Software
Production-ready SoftwareProduction-ready Software
Production-ready Software
 
Seminaire od devops 10traps 1.0
Seminaire od devops 10traps 1.0Seminaire od devops 10traps 1.0
Seminaire od devops 10traps 1.0
 
Fantastic Elastic
Fantastic ElasticFantastic Elastic
Fantastic Elastic
 
DevOps in 2014
DevOps in 2014DevOps in 2014
DevOps in 2014
 
1221 raise expectations_for_the_ always_on_enterprise
1221 raise expectations_for_the_ always_on_enterprise1221 raise expectations_for_the_ always_on_enterprise
1221 raise expectations_for_the_ always_on_enterprise
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
 
Playbook for Remote Cutover S4H_747 How to Approach Remote Cutover.pptx
Playbook for Remote Cutover S4H_747 How to Approach Remote Cutover.pptxPlaybook for Remote Cutover S4H_747 How to Approach Remote Cutover.pptx
Playbook for Remote Cutover S4H_747 How to Approach Remote Cutover.pptx
 
Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015
 
Engineering Operations
Engineering OperationsEngineering Operations
Engineering Operations
 
DevOps day 10 traps to avoid
DevOps day 10 traps to avoidDevOps day 10 traps to avoid
DevOps day 10 traps to avoid
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
 
Lotusphere 2009 The 11 Commandments
Lotusphere 2009 The 11 CommandmentsLotusphere 2009 The 11 Commandments
Lotusphere 2009 The 11 Commandments
 
Scaling DevOps from Ground Zero to Enterprise
Scaling DevOps from Ground Zero to EnterpriseScaling DevOps from Ground Zero to Enterprise
Scaling DevOps from Ground Zero to Enterprise
 
When to Code / Config / Config + Code in Salesforce - Nikunj Doshi
When to Code / Config / Config + Code in Salesforce - Nikunj DoshiWhen to Code / Config / Config + Code in Salesforce - Nikunj Doshi
When to Code / Config / Config + Code in Salesforce - Nikunj Doshi
 
Sean carter dan_deans
Sean carter dan_deansSean carter dan_deans
Sean carter dan_deans
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
 
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
 
Engineering operations
Engineering operationsEngineering operations
Engineering operations
 

Más de Codemotion

Más de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

DevOps for Developers - Friedrichsen