Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Docker and Continuous Delivery
How containers make achieving Continuous Delivery easier and why they are
not enough to cre...
@PavelChunyayev
Amsterdam
Levi9 HQ
Amsterdam – 2005
25 people
Novi Sad
Serbia
Novi Sad – 2005
320+ people
Zrenjanin
Serbia...
@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...
@PavelChunyayev
About me
• 11 years of IT experience
• Lived and worked in Ukraine and Estonia
• Moved a year ago to the N...
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 o...
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...
@PavelChunyayev
It’s not only about speed
• It's not just about automating deployments.
• It’s not about executing pipelin...
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 tes...
@PavelChunyayev
• Business ideas are generated
• Responsibility of product management / program management
• Ideas need va...
@PavelChunyayev
• Ideas are refined into epics and stories.
• Requirements, test and acceptance criteria are created
Given...
@PavelChunyayev
• Code is created along with tests and anything else that is required to
deliver the feature to production...
@PavelChunyayev
• First CD stage with Docker
• Running local environments has never been easy
• Most of the popularity of ...
@PavelChunyayev
• Most people experience CD starting from Build/Integration stage
• Continuous Integration is a fundamenta...
@PavelChunyayev
• Docker is very helpful:
• Build containers
• Run CI in containers
• Create self-build containers
• Some ...
@PavelChunyayev
• You need to invest heavily in automated testing
• Bear testing pyramid in mind
• Move tests to the left
...
@PavelChunyayev
• Docker environments for each kind of tests
• Always fresh
• Quick
• Up-to-date
• Immutable infrastructur...
@PavelChunyayev
Inception Plan Develop Integrate Test Release Operate
Testing in production
@PavelChunyayev
• Release != deployment
• Independently releasable microservices
• Blue-green, canary, rolling deployments...
@PavelChunyayev
• Docker shines here
• Easy and uniform deployment
• Complex environments - better with additional tools
I...
@PavelChunyayev
• This is where money is generated
• This is where ideas are validated
• Monitor business metrics
• Focus ...
@PavelChunyayev
• Scaling is easy
• Phoenix servers
• Monitoring of containers can be hell – new products are emerging
• R...
CD
Build • Test • Deploy
Docker
Build • Ship • Run
@PavelChunyayev
Takeaways
• Docker doesn’t:
• Solve quality for you
• Create good product ideas
• Improve your software de...
Prochain SlideShare
Chargement dans…5
×
Prochain SlideShare
Better delivery with DevOps Driven Development
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

2

Partager

Télécharger pour lire hors ligne

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

Télécharger pour lire hors ligne

The talk is about Continuous Delivery with all the different stages covered and how Docker can help with every stage. Presentation also coveres general ideas about modern software development principles.

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir

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

  1. 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. 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
  3. 3. @PavelChunyayev Electronic Retail Digital Marketing Traffic and Transport Software Services
  4. 4. @PavelChunyayev Customer satisfaction 2015 • 4th year great results in Outsourcing Performance study • 2015: 100% customer recommendation score Excellent trust score
  5. 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
  6. 6. Continuous Delivery
  7. 7. Safely, rapidly and predictably deliver new features to production
  8. 8. @PavelChunyayev Continuous Delivery • Faster time to market • How many deployments a day? • Time between committing line of code and running in production
  9. 9. It’s not only about speed
  10. 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. 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.
  12. 12. Quality > Speed
  13. 13. Docker
  14. 14. Docker doesn’t solve a lot of issues
  15. 15. Docker solves exactly one and brilliantly
  16. 16. Infrastructure
  17. 17. New way to manage Infrastructure
  18. 18. CD Build • Test • Deploy Docker Build • Ship • Run
  19. 19. @PavelChunyayev Continuous Delivery pipeline Inception Plan Develop Integrate Test Release Operate Integrate Deploy to test Test Deploy to staging Test Release
  20. 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. 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. 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. 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. 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. 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. 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. 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. 28. @PavelChunyayev Inception Plan Develop Integrate Test Release Operate Testing in production
  29. 29. @PavelChunyayev • Release != deployment • Independently releasable microservices • Blue-green, canary, rolling deployments Inception Plan Develop Integrate Test Release Operate
  30. 30. @PavelChunyayev • Docker shines here • Easy and uniform deployment • Complex environments - better with additional tools Inception Plan Develop Integrate Test Release Operate
  31. 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. 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. 33. CD Build • Test • Deploy Docker Build • Ship • Run
  34. 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?
  • MaartenvandenEnde

    Nov. 27, 2015
  • eugef

    Nov. 27, 2015

The talk is about Continuous Delivery with all the different stages covered and how Docker can help with every stage. Presentation also coveres general ideas about modern software development principles.

Vues

Nombre de vues

1 005

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

130

Actions

Téléchargements

8

Partages

0

Commentaires

0

Mentions J'aime

2

×