Facilitating Continuous Delivery at Scale
-
Upload
daniel-woods -
Category
Technology
-
view
183 -
download
2
Transcript of Facilitating Continuous Delivery at Scale
![Page 1: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/1.jpg)
Facilitating Continuous Delivery at Scale
Dan Woods
![Page 2: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/2.jpg)
/danveloper
Senior Software Engineer: Delivery Engineering
Learning Ratpack
![Page 3: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/3.jpg)
What is this talk about?
• Continuous Delivery is tremendously important for unprecedented scale
!• The “Rube Goldberg” machine of a microservice
architecture needs to keep moving !• The culture needs to be amenable to continuous delivery !• Understand that continuous delivery is an organic
concept within an organization
![Page 4: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/4.jpg)
Culture
Freedom and Responsibility!!• One of the greatest aspects of the culture !• Means that if something isn’t working for you, you are
empowered to change it !• We can’t think about things in traditional Ops (or even
DevOps) terms
![Page 5: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/5.jpg)
Culture
Supporting Teams!!• Need to really understand what the various problem
domains are throughout the org !• Try to design for the overlap in use-cases !• From a tooling standpoint, we need to have versatile
infrastructure that can adapt
![Page 6: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/6.jpg)
Facilitation
Facilitating Continuous Delivery!!• Can’t be locked in to a single path or way of doing things !• Need to be able to pivot as quickly as the product teams !• Recent emergence of new technology stacks has made
this ever-apparent
![Page 7: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/7.jpg)
Facilitation
Integrating with Netflix!!• Netflix has a large insight infrastructure, built on JVM
technologies !• Solutions for the various problem domains might not fit
into that structure !• Need to have an answer for getting these apps
integrated into the platform
![Page 8: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/8.jpg)
Facilitation
Platform Sidecar!!• Decouples the application from the platform !• Provides a standard RESTful API for utilizing the platform !• Comes with some reduced insight, but also some
valuable functionality !• Very easy internally to build this into an application’s
deployable artifact
![Page 9: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/9.jpg)
Facilitation
Platform Sidecar!!!!!!
https://github.com/netflix/prana!!
!!!!
![Page 10: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/10.jpg)
Facilitation
This is about enabling the “Freedom and Responsibility” culture by having answers that are not
“no”.
![Page 11: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/11.jpg)
Facilitation
How Does This Fit Into Continuous Delivery?!!• Continuous Delivery is the full show — “code to cloud” !• Having decoupled tooling available means that we can
enable teams to move quickly !• They can be more productive, push code more rapidly !• Less time spent on “integration”, more time spent
developing products
![Page 12: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/12.jpg)
Facilitation
Designing Toward Extensibility!!• No one-size fits all for Continuous Delivery !• Designing workflows based around configuration !• Version all the things! !• Have “best practices”, not shoehorns
![Page 13: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/13.jpg)
Facilitation
Being flexible and driving Continuous Delivery through configuration means that teams can iterate more
rapidly.
![Page 14: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/14.jpg)
Facilitation
Designing for Availability and Durability!!• Infrastructure supporting CD pipelines needs to be highly
available !• Need to be durable to outages — if we’re having an
outage, a production team certainly is as well !
• Design for failure and hope for the best; continuous delivery is not limited to a zone or region, need recovery built-in
![Page 15: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/15.jpg)
Facilitation
Designing for Availability and Durability!!• Getting into the realm now of self-healing systems !• Some teams at Netflix already have this capability !• We’re designing the tooling to be flexible enough to
facilitate most teams
![Page 16: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/16.jpg)
Facilitation
Designing for Availability and Durability!!• Active/Active deployment model !• Non-core functionality can be gracefully degraded out of
the stack !• Ensure that continuous delivery tooling is always
available; this is always the first stop in the event of an outage
![Page 17: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/17.jpg)
Facilitation
Designing for Availability and Durability!!• Netflix Continuous Delivery tooling of the future is a
distributed platform !• Making use of service discovery makes use more resilient
than ever !• For availability purposes, we can leverage Eureka for
load balancing and routing to send requests to the right region/zone/service combination
![Page 18: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/18.jpg)
Facilitation
Build Extensibility - Immutable Infrastructure!!• The “Golden Nugget” of deployable artifact !• Has been advocated since forever, often ruled out !• Netflix has created extensive tooling around designing
and building immutable infrastructure !
• This is one of the only requirements to run in the Netflix cloud (it is the only way to get there)
![Page 19: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/19.jpg)
Facilitation
Immutable Infrastructure - Resources:!!
http://nebula-plugins.github.io/!!
https://github.com/netflix/aminator!
![Page 20: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/20.jpg)
Facilitation
Other Extensible Aspects!!• Extensibility in the build system: Gradle/Nebula !• Extensibility in the configuration model: Archaius !• Extensibility in the data store: Cassandra - Astyanax;
Redis - Dynomite !• Extensibility in the deployment systems: “designing”
continuous delivery pipelines !
![Page 21: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/21.jpg)
Facilitation
Documentation as a First Class Citizen!!• Often the first thing sacrificed when moving quickly !• Is of paramount importance in a distributed platform !• Need to make it appealing for developers to write
documentation !• Need to make it easy for consumers to find/parse your
documentation !
![Page 22: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/22.jpg)
Facilitation
Documentation as a First Class Citizen!!• Build the documentation with the code (literally make it a
module of the project) !• We’ve landed on using Asciidoctor for documenting all of
our processes and APIs !• Generate a manual to HTML, which can be served
directly inline with the service (keeping the documentation as close to the code as possible)
!• Avoid auto-generated docs!! !
![Page 23: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/23.jpg)
Facilitation
Rules for Good Documentation!!• Be sure to include the context for what you’re doing !• Speak at a layman’s level !• Always approach documentation as though the reader
has no knowledge of what you’re doing !• Remember that terminology may need to be described
as well !
![Page 24: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/24.jpg)
Facilitation
DONT DO THIS
![Page 25: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/25.jpg)
Facilitation
DONT DO THIS
![Page 26: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/26.jpg)
Facilitation
YES! DO THIS!
![Page 27: Facilitating Continuous Delivery at Scale](https://reader030.fdocuments.in/reader030/viewer/2022032422/55a9335e1a28ab40368b47fb/html5/thumbnails/27.jpg)
Facilitation
We’re Hiring.