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.
20 Minutes to
Production
Zero Downtime
Paul Payne
@paulrpayne
http://payne.io
Presentation code can be found at:
github.co...
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese an...
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the sprea...
GTIN (bar code)
Product Lookup
Service
18 million products.
We need this change right
now!
0
Three Parts
1. Microservices Coding with confidence.
2. Containers Sensible units of deployment.
3. Deployment Patterns fo...
Part One
1. Microservices Coding with confidence.
2. Containers Sensible units of deployment.
3. Deployment Patterns for z...
Microservices
Single responsibility.
Minimal, easily understood code.
Loosely coupled.
Modular. Composable.
Maintain their...
Microservice Quality Assurance
Liberal in what you accept. Conservative in
what you send (Robustness Principle).
Fast erro...
Demo
In which the presenter
demonstrates an update
to the microservice with
defensive coding
practices and fast build
and ...
Part Two
1. Microservices Coding with confidence.
2. Containers Sensible units of deployment.
3. Deployment Patterns for z...
Application Containers
“An application container is a way of packaging and executing processes on a
computer system that i...
Virtualization Overhead
Bare Metal
Host OS (Linux)
Hypervisor
Guest OS
bins/libs
App A
Guest OS
bins/libs
App B
Bare Metal...
Better Hardware Utilization
Virtual Machines Containers
The Right Abstraction for Software
Immutable Infrastructure
Analogy from
Bill Baker, Microsoft
Microservices
Clean Org Interface (Reverse Conway’s Law)
Installing and configuring VMs.
Configuring app environments.
Creating, buildin...
Demo
$ make
In which the presenter demonstrates
the simple containerization of the
microservice using Docker and make.
Part Three
1. Microservices Coding with confidence.
2. Containers Sensible units of deployment.
3. Deployment Patterns for...
The Datacenter as a Computer
Luiz Barroso & Urs Hölzle (2009).
http://doi.org/10.2200/S00516ED2V01Y201306CAC024
A Virtual Machine Detour on
the Cluster Scheduling Timeline
1999
VMWare
2003
Xen
2006
EC2
2009
Eucalyptus
2013
Docker
Core...
Cluster Schedulers, aka Microservice Platforms
docker + swarm + compose
DCOS
A Microservice Platform Pattern
Visible/Volatile/Persistent —Peter Gillardmoss, 2012
Phoenix servers —Martin Fowler, 2012
...
Live Deployment
Blue-Green
Deploy
Rolling
Deploy
Canary
Deploy
Jez Humble and David Farley (2010). Continuous Delivery: Re...
The General Deployment Story
VISIBLE VOLATILE
1
2
3
Public
Private
1
2
3
Demo
etcd
fleetctl
GTIN
GTIN
GTIN
Public
Private
In which the presenter demonstrates a
canary and rolling deploy with zero...
The Result
GTIN Win!
Other Reactions
“Wait! You’re not deploying to
production NOW are you??!”
“I think we found a bug in the
system.”
Three Parts
1. Microservices Coding with confidence.
2. Containers Sensible units of deployment.
3. Deployment Patterns fo...
Getting There
Part Four
(surprise!)
Infrastructure as Code
Quick reproducible infrastructure.
Entire Blue/Green stacks.
Cattle, not pets!
Deployment Manager
G...
Anti-Corruption Layers
Each service manages its own data;
ie. maintains its own table.
Integrate through interfaces, not
d...
Wrap a proxy layer around the
entire enterprise application.
Route requests to your
microservices as you bring them
online...
Build to Learn
20 Minutes to
Production
Zero Downtime
Paul Payne
@paulrpayne
http://payne.io
Presentation code can be found at:
github.co...
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations/
containerization-benefits
20 Minutes from Ticket to Production. Zero Downtime.
20 Minutes from Ticket to Production. Zero Downtime.
20 Minutes from Ticket to Production. Zero Downtime.
Prochain SlideShare
Chargement dans…5
×

20 Minutes from Ticket to Production. Zero Downtime.

698 vues

Publié le

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1OQF89L.

Paul Payne explains the benefits of containerization in the context of a real-world open-source deployment of a Go web service using Terraform, CoreOS, Docker, Fleet, and Vulcan on AWS. He discusses testing, integration, canary deploys and how they achieve 20 minute development cycles (from request to production deployment) with zero downtime. Filmed at qconnewyork.com.

Paul Payne lives at the intersection of what is and what could be. He has spent the last 20 years helping organizations of every size embrace emerging Internet technologies, from web applications to web services, desktop to mobile. He is now focused on applications of distributed systems, autonomous agents and artificial intelligence.

Publié dans : Technologie
  • Soyez le premier à commenter

20 Minutes from Ticket to Production. Zero Downtime.

  1. 1. 20 Minutes to Production Zero Downtime Paul Payne @paulrpayne http://payne.io Presentation code can be found at: github.com/payneio/qcon-gtin.git Photos from http://unsplash.com.
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /containerization-benefits
  3. 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. GTIN (bar code) Product Lookup Service 18 million products.
  5. 5. We need this change right now! 0
  6. 6. Three Parts 1. Microservices Coding with confidence. 2. Containers Sensible units of deployment. 3. Deployment Patterns for zero downtime.
  7. 7. Part One 1. Microservices Coding with confidence. 2. Containers Sensible units of deployment. 3. Deployment Patterns for zero downtime.
  8. 8. Microservices Single responsibility. Minimal, easily understood code. Loosely coupled. Modular. Composable. Maintain their own state. Independently deployable functionality = µ
  9. 9. Microservice Quality Assurance Liberal in what you accept. Conservative in what you send (Robustness Principle). Fast errors (compile time vs. run time). Fast compile, build, test iterations. TDD. Confidence.
  10. 10. Demo In which the presenter demonstrates an update to the microservice with defensive coding practices and fast build and test steps with the aid of Go.
  11. 11. Part Two 1. Microservices Coding with confidence. 2. Containers Sensible units of deployment. 3. Deployment Patterns for zero downtime.
  12. 12. Application Containers “An application container is a way of packaging and executing processes on a computer system that isolates the application from the underlying host operating system” —https://github.com/appc/spec, 2015. brought into the kernel... namespaces cgroups SELinux AppArmor btrs/aufs/device mapper/etc ... Various projects... chroot (1979) jail Linux-VServer OpenVZ ... and packaged up. systemd-nspawn LXC lmctfy libvirt-lxc Docker / libcontainer rkt / appc ...
  13. 13. Virtualization Overhead Bare Metal Host OS (Linux) Hypervisor Guest OS bins/libs App A Guest OS bins/libs App B Bare Metal Host OS (Linux) Container Engine bins/libs App A bins/libs App B VM Container
  14. 14. Better Hardware Utilization Virtual Machines Containers
  15. 15. The Right Abstraction for Software
  16. 16. Immutable Infrastructure Analogy from Bill Baker, Microsoft Microservices
  17. 17. Clean Org Interface (Reverse Conway’s Law) Installing and configuring VMs. Configuring app environments. Creating, building and installing apps. Making VM snapshots. Installing OS updates. Installing and configuring hardware. Distributing VMs. Monitoring and fixing hardware. Working with devs on bad VMs. Configuring app environments. Creating, building and installing apps. Installing and configuring hardware. Distributing containers. Monitoring and fixing hardware. Rejecting bad containers. The mythical DevOPS unicorn The DevOPS continuum VMsContainers OPSDev
  18. 18. Demo $ make In which the presenter demonstrates the simple containerization of the microservice using Docker and make.
  19. 19. Part Three 1. Microservices Coding with confidence. 2. Containers Sensible units of deployment. 3. Deployment Patterns for zero downtime.
  20. 20. The Datacenter as a Computer Luiz Barroso & Urs Hölzle (2009). http://doi.org/10.2200/S00516ED2V01Y201306CAC024
  21. 21. A Virtual Machine Detour on the Cluster Scheduling Timeline 1999 VMWare 2003 Xen 2006 EC2 2009 Eucalyptus 2013 Docker CoreOS Mesos Marathon Google Omega LXC 0.9 2012 OpenStack 2014 Kubernetes 2009 Mesos 2015 Docker Swarm 2003 Google Borg Late 1960s Mainframe Job Control Multics Burroughs B5700 1977 ARCnet 1984 VAXcluster 2001 HP Utility Data Center 1994 IBM S/390 Parallel Sysplex 2006 cgroups 2008 LXC namespaces OpenVZ jails Solaris zones
  22. 22. Cluster Schedulers, aka Microservice Platforms docker + swarm + compose DCOS
  23. 23. A Microservice Platform Pattern Visible/Volatile/Persistent —Peter Gillardmoss, 2012 Phoenix servers —Martin Fowler, 2012 VISIBLE VOLATILE PERSISTENT
  24. 24. Live Deployment Blue-Green Deploy Rolling Deploy Canary Deploy Jez Humble and David Farley (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Addison-Wesley.
  25. 25. The General Deployment Story VISIBLE VOLATILE 1 2 3 Public Private 1 2 3
  26. 26. Demo etcd fleetctl GTIN GTIN GTIN Public Private In which the presenter demonstrates a canary and rolling deploy with zero downtime using CoreOS and Vulcand.
  27. 27. The Result GTIN Win!
  28. 28. Other Reactions “Wait! You’re not deploying to production NOW are you??!” “I think we found a bug in the system.”
  29. 29. Three Parts 1. Microservices Coding with confidence. 2. Containers Sensible units of deployment. 3. Deployment Patterns for zero downtime.
  30. 30. Getting There Part Four (surprise!)
  31. 31. Infrastructure as Code Quick reproducible infrastructure. Entire Blue/Green stacks. Cattle, not pets! Deployment Manager Google Cloud Platform Amazon Web Services Terraform Cross-platform CloudFormation
  32. 32. Anti-Corruption Layers Each service manages its own data; ie. maintains its own table. Integrate through interfaces, not data stores! Our canonical GTIN data is kept in a commercial enterprise product. We copy the data we need for our service to Dynamo, syncing daily.
  33. 33. Wrap a proxy layer around the entire enterprise application. Route requests to your microservices as you bring them online. Someday, none of your legacy app will remain. Application Strangler http://martinfowler.com/bliki/StranglerApplication.html. Image by http://journals.worldnomads.com/beckandphil.
  34. 34. Build to Learn
  35. 35. 20 Minutes to Production Zero Downtime Paul Payne @paulrpayne http://payne.io Presentation code can be found at: github.com/payneio/qcon-gtin.git Photos from http://unsplash.com.
  36. 36. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/ containerization-benefits

×