SlideShare uma empresa Scribd logo
1 de 34
Docker and Continuous Delivery
How containers make achieving Continuous Delivery easier and why they are
not enough to create a successful Continuous Delivery process
Docker Randstad meetup, 26-11-2015
Amsterdam, KPN
Pavel Chunyayev
@PavelChunyayev
Amsterdam
Levi9 HQ
Amsterdam – 2005
25 people
Novi Sad
Serbia
Novi Sad – 2005
320+ people
Zrenjanin
Serbia
Zrenjanin– 2014
30+ people
Iasi
Romania
Iasi – 2007
80+ people
Kiev
Ukraine
Kiev – 2008
130+ people
@PavelChunyayev
Electronic
Retail
Digital
Marketing
Traffic and
Transport
Software
Services
@PavelChunyayev
Customer satisfaction 2015
• 4th year great results in Outsourcing Performance study
• 2015: 100% customer recommendation score
Excellent trust score
@PavelChunyayev
About me
• 11 years of IT experience
• Lived and worked in Ukraine and Estonia
• Moved a year ago to the Netherlands
• Learning Dutch
• Love cycling
• Support me with Holandse 100
Continuous Delivery
Safely, rapidly and predictably deliver
new features to production
@PavelChunyayev
Continuous Delivery
• Faster time to market
• How many deployments a day?
• Time between committing line of code and running in
production
It’s not only about speed
@PavelChunyayev
It’s not only about speed
• Some companies have different agenda
• Some need pure speed and time to market
• Some want controlled and predictable process
• Some want to ensure that quality of their applications is of a certain
level and complies with requirements
@PavelChunyayev
It’s not only about speed
• It's not just about automating deployments.
• It’s not about executing pipeline over and over again
But:
• Organization of the right process to support continuous feature
delivery, improvements and learning.
• Organization proper testing to be able to deliver at high speed.
Quality > Speed
Docker
Docker doesn’t solve a lot of
issues
Docker solves exactly one and
brilliantly
Infrastructure
New way to manage
Infrastructure
CD
Build • Test • Deploy
Docker
Build • Ship • Run
@PavelChunyayev
Continuous Delivery pipeline
Inception Plan Develop Integrate Test Release Operate
Integrate
Deploy
to test
Test
Deploy to
staging
Test Release
@PavelChunyayev
• Business ideas are generated
• Responsibility of product management / program management
• Ideas need validation
• Flow time is very important
• Docker has nothing to do with it
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• Ideas are refined into epics and stories.
• Requirements, test and acceptance criteria are created
Given that feature is available on the website
When I open the website
Then I’m immediately impressed
And I’d like to spend all my money
• Docker has nothing to do with it
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• Code is created along with tests and anything else that is required to
deliver the feature to production.
• Developers need:
• Production-like local environment
• Quick to start
• Repeatable and reproducible
• Fast feedback
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• First CD stage with Docker
• Running local environments has never been easy
• Most of the popularity of Docker is thanks to developers
• Most companies have started evaluating Docker here (some are even
late for Vagrant)
• No mocking!
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• Most people experience CD starting from Build/Integration stage
• Continuous Integration is a fundamental practice
• It’s common to advise against feature branches and commit directly
to master
• Still you can make feature branches work
• Short lived
• Constantly updated against master
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• Docker is very helpful:
• Build containers
• Run CI in containers
• Create self-build containers
• Some people go as far as completely get rid of CI:
• Build and integrate containers
• Scheduled as hooks automatically
• Still not most companies want
• Microservices are a lot easier with containers
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• You need to invest heavily in automated testing
• Bear testing pyramid in mind
• Move tests to the left
• Run all the tests all the time
• Over and over again
• If you can’t do it, you have wrong tests!
Inception Plan Develop Integrate Test Release Operate
M
E2E
Contract
Component
Integration
Unit
@PavelChunyayev
• Docker environments for each kind of tests
• Always fresh
• Quick
• Up-to-date
• Immutable infrastructure!
• Docker can also help with testing infrastructure as well
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
Inception Plan Develop Integrate Test Release Operate
Testing in production
@PavelChunyayev
• Release != deployment
• Independently releasable microservices
• Blue-green, canary, rolling deployments
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• Docker shines here
• Easy and uniform deployment
• Complex environments - better with additional tools
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• This is where money is generated
• This is where ideas are validated
• Monitor business metrics
• Focus on MTTD and MTTR
• Distributed systems are hard to operate
Inception Plan Develop Integrate Test Release Operate
@PavelChunyayev
• Scaling is easy
• Phoenix servers
• Monitoring of containers can be hell – new products are emerging
• Running distributed systems is hard,
containers make it a bit easier.
Inception Plan Develop Integrate Test Release Operate
CD
Build • Test • Deploy
Docker
Build • Ship • Run
@PavelChunyayev
Takeaways
• Docker doesn’t:
• Solve quality for you
• Create good product ideas
• Improve your software development process
• Docker creates:
• New ways to manage infrastructure
• New ways to run applications in production
pavel@levi9.com
Any questions?

Mais conteúdo relacionado

Mais de Pavel Chunyayev

Mais de Pavel Chunyayev (6)

Extending Ansible - Ansible Benelux meetup - Amsterdam 11-02-2016
Extending Ansible - Ansible Benelux meetup - Amsterdam 11-02-2016Extending Ansible - Ansible Benelux meetup - Amsterdam 11-02-2016
Extending Ansible - Ansible Benelux meetup - Amsterdam 11-02-2016
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
 
DevOpsDays Ignite - Immutable infrastructure - Amsterdam 24-5-2015
DevOpsDays Ignite - Immutable infrastructure - Amsterdam 24-5-2015DevOpsDays Ignite - Immutable infrastructure - Amsterdam 24-5-2015
DevOpsDays Ignite - Immutable infrastructure - Amsterdam 24-5-2015
 
Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015
 
Arch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementationArch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementation
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015
 

Último

+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
 

Último (20)

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 ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
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
 
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
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
+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...
 
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...
 
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
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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 🔝✔️✔️
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
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...
 
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
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
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-...
 
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
 
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...
 
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
 
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
 

Docker and Continuous Delivery - Amsterdam 26-11-2015 - Docker Randstad meetup

  • 1. Docker and Continuous Delivery How containers make achieving Continuous Delivery easier and why they are not enough to create a successful Continuous Delivery process Docker Randstad meetup, 26-11-2015 Amsterdam, KPN Pavel Chunyayev
  • 2. @PavelChunyayev Amsterdam Levi9 HQ Amsterdam – 2005 25 people Novi Sad Serbia Novi Sad – 2005 320+ people Zrenjanin Serbia Zrenjanin– 2014 30+ people Iasi Romania Iasi – 2007 80+ people Kiev Ukraine Kiev – 2008 130+ people
  • 4. @PavelChunyayev Customer satisfaction 2015 • 4th year great results in Outsourcing Performance study • 2015: 100% customer recommendation score Excellent trust score
  • 5. @PavelChunyayev About me • 11 years of IT experience • Lived and worked in Ukraine and Estonia • Moved a year ago to the Netherlands • Learning Dutch • Love cycling • Support me with Holandse 100
  • 7. Safely, rapidly and predictably deliver new features to production
  • 8. @PavelChunyayev Continuous Delivery • Faster time to market • How many deployments a day? • Time between committing line of code and running in production
  • 9. It’s not only about speed
  • 10. @PavelChunyayev It’s not only about speed • Some companies have different agenda • Some need pure speed and time to market • Some want controlled and predictable process • Some want to ensure that quality of their applications is of a certain level and complies with requirements
  • 11. @PavelChunyayev It’s not only about speed • It's not just about automating deployments. • It’s not about executing pipeline over and over again But: • Organization of the right process to support continuous feature delivery, improvements and learning. • Organization proper testing to be able to deliver at high speed.
  • 14. Docker doesn’t solve a lot of issues
  • 15. Docker solves exactly one and brilliantly
  • 17. New way to manage Infrastructure
  • 18. CD Build • Test • Deploy Docker Build • Ship • Run
  • 19. @PavelChunyayev Continuous Delivery pipeline Inception Plan Develop Integrate Test Release Operate Integrate Deploy to test Test Deploy to staging Test Release
  • 20. @PavelChunyayev • Business ideas are generated • Responsibility of product management / program management • Ideas need validation • Flow time is very important • Docker has nothing to do with it Inception Plan Develop Integrate Test Release Operate
  • 21. @PavelChunyayev • Ideas are refined into epics and stories. • Requirements, test and acceptance criteria are created Given that feature is available on the website When I open the website Then I’m immediately impressed And I’d like to spend all my money • Docker has nothing to do with it Inception Plan Develop Integrate Test Release Operate
  • 22. @PavelChunyayev • Code is created along with tests and anything else that is required to deliver the feature to production. • Developers need: • Production-like local environment • Quick to start • Repeatable and reproducible • Fast feedback Inception Plan Develop Integrate Test Release Operate
  • 23. @PavelChunyayev • First CD stage with Docker • Running local environments has never been easy • Most of the popularity of Docker is thanks to developers • Most companies have started evaluating Docker here (some are even late for Vagrant) • No mocking! Inception Plan Develop Integrate Test Release Operate
  • 24. @PavelChunyayev • Most people experience CD starting from Build/Integration stage • Continuous Integration is a fundamental practice • It’s common to advise against feature branches and commit directly to master • Still you can make feature branches work • Short lived • Constantly updated against master Inception Plan Develop Integrate Test Release Operate
  • 25. @PavelChunyayev • Docker is very helpful: • Build containers • Run CI in containers • Create self-build containers • Some people go as far as completely get rid of CI: • Build and integrate containers • Scheduled as hooks automatically • Still not most companies want • Microservices are a lot easier with containers Inception Plan Develop Integrate Test Release Operate
  • 26. @PavelChunyayev • You need to invest heavily in automated testing • Bear testing pyramid in mind • Move tests to the left • Run all the tests all the time • Over and over again • If you can’t do it, you have wrong tests! Inception Plan Develop Integrate Test Release Operate M E2E Contract Component Integration Unit
  • 27. @PavelChunyayev • Docker environments for each kind of tests • Always fresh • Quick • Up-to-date • Immutable infrastructure! • Docker can also help with testing infrastructure as well Inception Plan Develop Integrate Test Release Operate
  • 28. @PavelChunyayev Inception Plan Develop Integrate Test Release Operate Testing in production
  • 29. @PavelChunyayev • Release != deployment • Independently releasable microservices • Blue-green, canary, rolling deployments Inception Plan Develop Integrate Test Release Operate
  • 30. @PavelChunyayev • Docker shines here • Easy and uniform deployment • Complex environments - better with additional tools Inception Plan Develop Integrate Test Release Operate
  • 31. @PavelChunyayev • This is where money is generated • This is where ideas are validated • Monitor business metrics • Focus on MTTD and MTTR • Distributed systems are hard to operate Inception Plan Develop Integrate Test Release Operate
  • 32. @PavelChunyayev • Scaling is easy • Phoenix servers • Monitoring of containers can be hell – new products are emerging • Running distributed systems is hard, containers make it a bit easier. Inception Plan Develop Integrate Test Release Operate
  • 33. CD Build • Test • Deploy Docker Build • Ship • Run
  • 34. @PavelChunyayev Takeaways • Docker doesn’t: • Solve quality for you • Create good product ideas • Improve your software development process • Docker creates: • New ways to manage infrastructure • New ways to run applications in production pavel@levi9.com Any questions?