PROGRESSIVE DELIVERY PROGRESSIVE DELIVERY CONTINUOUS DELIVERY THE - - PowerPoint PPT Presentation

progressive delivery progressive delivery
SMART_READER_LITE
LIVE PREVIEW

PROGRESSIVE DELIVERY PROGRESSIVE DELIVERY CONTINUOUS DELIVERY THE - - PowerPoint PPT Presentation

PROGRESSIVE DELIVERY PROGRESSIVE DELIVERY CONTINUOUS DELIVERY THE RIGHT WAY CONTINUOUS DELIVERY THE RIGHT WAY Carlos Sanchez / csanchez.org @csanchez / PROGRESSIVE PROGRESSIVE DELIVERY DELIVERY Progressive Delivery is a term that


slide-1
SLIDE 1

PROGRESSIVE DELIVERY PROGRESSIVE DELIVERY

CONTINUOUS DELIVERY THE RIGHT WAY CONTINUOUS DELIVERY THE RIGHT WAY

Carlos Sanchez / / csanchez.org @csanchez

slide-2
SLIDE 2

PROGRESSIVE PROGRESSIVE DELIVERY DELIVERY

slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5

is a term that includes deployment strategies that try to avoid the pitfalls of all-or-nothing deployment strategies Progressive Delivery

slide-6
SLIDE 6

New versions being deployed do not replace existing versions but run in parallel for an amount of time receiving live production traffic, and are evaluated in terms of correctness and performance before the rollout is considered successful.

slide-7
SLIDE 7

Continuous Delivery is hard Progressive Delivery makes Continuous Delivery easier to adopt reduces the risk associated with Continuous Delivery

slide-8
SLIDE 8

Avoiding downtime Limit the blast radius Shorter time from idea to production

slide-9
SLIDE 9

PROGRESSIVE PROGRESSIVE DELIVERY DELIVERY TECHNIQUES TECHNIQUES

slide-10
SLIDE 10

ROLLING UPDATES ROLLING UPDATES

slide-11
SLIDE 11

BLUE-GREEN DEPLOYMENT BLUE-GREEN DEPLOYMENT

medium.com/continuous-deployment/continuous-deployment-strategies-32e2f7badd2

slide-12
SLIDE 12

CANARY DEPLOYMENT CANARY DEPLOYMENT

medium.com/continuous-deployment/continuous-deployment-strategies-32e2f7badd2

slide-13
SLIDE 13

FEATURE FLAGS FEATURE FLAGS

Martin Fowler martinfowler.com/articles/feature-toggles.html

slide-14
SLIDE 14
slide-15
SLIDE 15

MONITORING IS THE NEW MONITORING IS THE NEW TESTING TESTING

Know when users are experiencing issues in production React to the issues automatically

slide-16
SLIDE 16

Progressive Delivery requires a good amount of metrics

slide-17
SLIDE 17
slide-18
SLIDE 18

If you haven't automatically destroyed something by mistake, you are not automating enough

slide-19
SLIDE 19

JENKINS X JENKINS X

slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23

Pipeline engine in Kubernetes Uses Pods and containers to run the pipeline steps

slide-24
SLIDE 24

Implements ChatOps Handles GitHub webhooks

slide-25
SLIDE 25

Package manager for Kubernetes

slide-26
SLIDE 26

Build Docker images with multiple backends: Docker build Kaniko Google Cloud Build Jib (Maven/Gradle)

slide-27
SLIDE 27

Generates Dockerfile and Helm charts for your project

slide-28
SLIDE 28

PROGRESSIVE PROGRESSIVE DELIVERY DELIVERY

WITH JENKINS X WITH JENKINS X

jenkins-x.io/docs/managing-jx/tutorials/progressive- delivery

slide-29
SLIDE 29
slide-30
SLIDE 30

PROMETHEUS PROMETHEUS

A systems monitoring and alerting toolkit

slide-31
SLIDE 31

FLAGGER FLAGGER

flagger.app automates the promotion of canary deployments by using Istio’s traffic shiing and Prometheus metrics to analyse the application’s behaviour during a controlled rollout

slide-32
SLIDE 32
slide-33
SLIDE 33

Add the canary section to our application Helm chart values.yaml

... canary: enable: true service: hosts:

  • croc-hunter.istio.us.g.csanchez.org

gateways:

  • jx-gateway.istio-system.svc.cluster.local

canaryAnalysis: interval: 60s threshold: 5 maxWeight: 50 stepWeight: 10

slide-34
SLIDE 34

metrics:

  • name: request-success-rate

# minimum req success rate (non 5xx responses) # percentage (0-100) threshold: 99 interval: 60s

  • name: request-duration

# maximum req duration P99 # milliseconds threshold: 500 interval: 60s

slide-35
SLIDE 35

PROFIT! PROFIT!

jx promote croc-hunter-java \

  • -version 0.0.130 \
  • -env production
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

A Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot, craed from the best of breed Java libraries and standards quarkus.io

slide-40
SLIDE 40
slide-41
SLIDE 41

csanchez.org csanchez carlossg