Slide 1

Slide 1 text

Bristol DevOps Meetup Achieving CD with k8s & Design patterns for Containerised Deployments Takayuki Watanabe Cookpad Ltd. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w )

Slide 2

Slide 2 text

Who? • Takayuki Watanabe • twitter: @takanabe_w / github: takanabe • Site Reliability Engineer@Cookpad Ltd. • Umami rich food & booster lover Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 2

Slide 3

Slide 3 text

Umami? A loanword from the Japanese (͏·ຯ). umami can be translated as "pleasant savory taste" — Wikipedia: Umami Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 3

Slide 4

Slide 4 text

Umami? Umami is a general term used mainly for substances combining the amino acid glutamate, and/or the nucleotides inosinate and guanylate, with minerals such as sodium and potassium. — Umami Information Center Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 4

Slide 5

Slide 5 text

You feel delicious and happy while you are eating Umami rich food!! Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 5

Slide 6

Slide 6 text

Do you want to add Umami to your dishes? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 6

Slide 7

Slide 7 text

Japanese Umami Boost Magic Powder You can buy them on Amazon! Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 7

Slide 8

Slide 8 text

Japanese Umami Boost Magic Powder You can buy them on Amazon! Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 8

Slide 9

Slide 9 text

OK! we can boost Umami easily... Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 9

Slide 10

Slide 10 text

Then, let's move on to today's main topic ... Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 10

Slide 11

Slide 11 text

How can you boost your organization development scale? • There are many topics... • Organization Design View • Functional vs Project based organization • Monolithic/Microservice Architecture • DevOps/Autonomous team • And more... Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 11

Slide 12

Slide 12 text

How can you boost your organization development scale? • There are many topics... • Technology View • Container applications • Advanced monitoring / Observability • Continous delivery / Continous deployment (today's focus) • And more... Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 12

Slide 13

Slide 13 text

Practical Approaches to Achieve Continuous Deployment with Kubernetes Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 13

Slide 14

Slide 14 text

Today's menu • Motivation of Continuous Deployment • Overview of Continuous Deployment • Pipeline tool: A key component of Continuous Deployment • Introduction to Spinnaker's features • Achieve Continuous Deployment on Kubernetes with Spinnaker • Demo Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 14

Slide 15

Slide 15 text

Motivation of Continuous Deployment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 15

Slide 16

Slide 16 text

Motivation of Continuous Deployment Rapid product development is a friend to succeed in bisiness. Development performance is cretical factor to track rapid product development. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 16

Slide 17

Slide 17 text

Motivation of Continuous Deployment Which metrics become appropriate KPIs to track organization development performance? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 17

Slide 18

Slide 18 text

Motivation of Continuous Deployment Which metrics become appropriate KPIs to track organization development performance? • Per capita and total Pull Request open period? • Per capita and total number of code commits? • Per capita and total product release count? • Per capita and total deployment count? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 18

Slide 19

Slide 19 text

Motivation of Continuous Deployment Cookpad's SRE are tracking deployment frequency. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 19

Slide 20

Slide 20 text

Motivation of Continuous Deployment Cookpad's SRE are tracking deployment frequency. We want to increase the number. Increate the number of deployment per capita is also important. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 20

Slide 21

Slide 21 text

Motivation of Continuous Deployment • However, as our oranization grows, individual knowledge gaps around release engineering widens Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 21

Slide 22

Slide 22 text

Motivation of Continuous Deployment • However, as our oranization grows, individual knowledge gaps around release engineering widens • How can I ship my software to staging and production? • Run deploy command over ssh? • Deploy command from local environment? • Deploy command from chat bot? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 22

Slide 23

Slide 23 text

Motivation of Continuous Deployment • However, as our oranization grows, individual knowledge gaps around release engineering widens • How can I test my codes with CI? • Which CI tools should we use? • Which environment should we use for test? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 23

Slide 24

Slide 24 text

Motivation of Continuous Deployment • However, as our oranization grows, individual knowledge gaps around release engineering widens • How can I deploy my software safely? • What is our criteria of rollbacks? • How can we deploy software to multi regions? • Should we involve QA team for product releases? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 24

Slide 25

Slide 25 text

Motivation of Continuous Deployment • Best practices prepared by release engineering experts for each organization improve software release flow. • Follow tracks prepared by release engineering experts • The number of deploy count could be increased Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 25

Slide 26

Slide 26 text

Overview of Continuous Deployment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 26

Slide 27

Slide 27 text

Overview of Continuous Deployment(CD) • Continuous Deployment (CD) is the chain of process that validates and deploys software into production environment. • Every change that passes the automated tests is deployed to production automatically. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 27

Slide 28

Slide 28 text

Overview of Continuous Deployment(CD) • We can include best practices into Continuous Deployment • Deployment strategies • Quality Assurance • Feature implementation tests Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 28

Slide 29

Slide 29 text

Clarify dependencies & optimize each step • Deploy strategies are just one of the components in CD • Clarification of each CD step is important Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 29

Slide 30

Slide 30 text

Clarify dependencies & optimize each step • We can analyze and improve release flow if we fully understand the steps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 30

Slide 31

Slide 31 text

Clarify dependencies & optimize each step • How can we change the deploy step? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 31

Slide 32

Slide 32 text

Deployment strategies • Choose basic deploy storategies based on team policy • Recreate deployment (a.k.a Highlander) • Blue/Green deployment (a.k.a Red/Black deployment) • Canary deployment • Rolling deployment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 32

Slide 33

Slide 33 text

Recreate deployment (a.k.a Highlander) All instances running a version of an application are upgraded to the new version at the same time. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 33

Slide 34

Slide 34 text

Recreate deployment (a.k.a Highlander) • Pros: • Simple • Budget/resource friendly (standby instances are not necessary) • Cons: • Server downtime during switching to new codes (hot reload is necessary) • Use case: • hobby & POC projects • staging environment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 34

Slide 35

Slide 35 text

Blue/Green deployment (a.k.a Red/Black) A new server group with the new version of code is stood up with no traffic. Once all the servers are ready, all the traffic is directed from the old server group to the new server group. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 35

Slide 36

Slide 36 text

Blue/Green deployment (a.k.a Red/Black) • Pros: • Simple • Easy to rollback workload and traffic from new servers to previous servers • Cons: • All or nothing traffic switch • Budget/resource consuming • Use case: • High availability production environment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 36

Slide 37

Slide 37 text

Canary deployment Only a small portion of the available servers are deployed new version of code. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 37

Slide 38

Slide 38 text

Canary deployment • Pros: • A safer pattern than recreate deployment • Enable developers to confirm code behavior in production • Budget/resource friendly (standby instances are not necessary) • Cons: • Users face multi version service • Use case: • Confirm new feature behavior before 100% release in production Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 38

Slide 39

Slide 39 text

Rolling deployment The rolling deploy is simply the continuation of the canary deploy. Update one server after another until server group has been upgraded. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 39

Slide 40

Slide 40 text

Rolling deployment • Pros: • Enable developers to confirm code behavior in production • Limit user downtime and impact due to unexpected code behavior • Budget/resource friendly (standby instances are not necessary) • Cons: • Users face multi version service • Sophisticated monitoring and operation support tools are indispensable • Use case: • Confirm new feature behavior before 100% release in production Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 40

Slide 41

Slide 41 text

Clarify dependencies & optimize each step • How can we clarify CD chain? • Pipeline tools! Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 41

Slide 42

Slide 42 text

Pipeline tools: A key component of Continuous Deployment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 42

Slide 43

Slide 43 text

Role of Pipeline tools • One of the main components to achieve CD • Deliver automatic product release flow • Consistency of release step chains • Close individual skills gap for product release • Visibility & Transparency • UI & Declarative specification Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 43

Slide 44

Slide 44 text

Diffs of Pipeline tools • Pipeline itself does not make much difference • Myriad tools exist ... • Choose the best one for your environment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 44

Slide 45

Slide 45 text

Example of Pipeline tools • Pure pipeline & CD platform • CodePipeline: https://aws.amazon.com/documentation/codepipeline/ • Spinnaker: https://github.com/spinnaker • Drone: https://github.com/drone/drone • Pipeline & CD platform specialized for kubernetes • Argo: https://github.com/argoproj/argo • Brigade: https://github.com/Azure/brigade • skaffold: https://github.com/GoogleCloudPlatform/skaffold • Jenkins X: https://github.com/jenkins-x Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 45

Slide 46

Slide 46 text

CodePipeline AWS CodePipeline is a continuous delivery service you can use to model, visualize, and automate the steps required to release your software. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 46

Slide 47

Slide 47 text

Spinnaker Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 47

Slide 48

Slide 48 text

Brigade Brigade is the tool for creating pipelines for Kubernetes. Script simple and complex workflows using JavaScript. Chain together containers, running them in parallel or serially. Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 48

Slide 49

Slide 49 text

My Impression • AWS CodePipeline is a reasonable choice for AWS users • Good for for simple software release • Spinnaker is a platfrom which bring us CD & immutable infrastructure • Not only just simple pipeline • CD platform is valuable for large oranizations Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 49

Slide 50

Slide 50 text

Introduction to Spinnaker's features Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 50

Slide 51

Slide 51 text

Things we can do by Spinnaker • Define flexible Pipeline Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 51

Slide 52

Slide 52 text

Things we can do by Spinnaker • Leverage an immutable infrastructure • Deployment with immutable images for faster rollouts, easier rollbacks • Elimination of hard to debug configuration drift issues Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 52

Slide 53

Slide 53 text

Things we can do by Spinnaker • Restrict execution to specific time windows Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 53

Slide 54

Slide 54 text

Things we can do by Spinnaker • Deployment based on basic deploy storategies • Recreate deployment (a.k.a Highlander) • Blue/Green deployment (a.k.a Red/Black deployment) • Canary deployment • Rolling deployment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 54

Slide 55

Slide 55 text

Things we can do by Spinnaker • Abstraction layer of cloud platforms (Multi Cloud) • GCP • AWS • OpenStack • Kubernetes • ECS(under development) Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 55

Slide 56

Slide 56 text

Things we can do by Spinnaker • Mapping resources between Spinnaker and Kubernetes • Orchestrate Kubernetes resources via Spinnaker Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 56

Slide 57

Slide 57 text

Things we can do by Spinnaker • Automated Canary Analysis(ACA) Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 57

Slide 58

Slide 58 text

Things we can do by Spinnaker • Chaos engineering integration(Chaos Monkey integration) • Randomly terminates virtual machine instances and containers that run inside of your production environment Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 58

Slide 59

Slide 59 text

Spinnaker is the best option for CD? • Seems like well maintained for GCP and kubernetes • Core maintainers are from Google/Netflix • There are Cons. .. • Document is not well maintained • Support for AWS services is relatively bad... • Escpecially integration with ECR is terrible • Declaration of pipeline is not ready for use Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 59

Slide 60

Slide 60 text

Achieve Continuous deployment on Kubernetes with Spinnaker Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 60

Slide 61

Slide 61 text

Continous Deployment steps on k8s with Spinnaker • Divide each deploy target environment into pieces • Easy to optimize by chaging pipeline components Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 61

Slide 62

Slide 62 text

Continous Deployment steps on k8s with Spinnaker • Local development steps (without pipeline) Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 62

Slide 63

Slide 63 text

Continous Deployment steps on k8s with Spinnaker • Feature test env steps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 63

Slide 64

Slide 64 text

Continous Deployment steps on k8s with Spinnaker • Feature test env steps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 64

Slide 65

Slide 65 text

Continous Deployment steps on k8s with Spinnaker • Staging env steps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 65

Slide 66

Slide 66 text

Continous Deployment steps on k8s with Spinnaker • Staging env steps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 66

Slide 67

Slide 67 text

Continous Deployment steps on k8s with Spinnaker • Production env steps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 67

Slide 68

Slide 68 text

Continous Deployment steps on k8s with Spinnaker • Staging env steps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 68

Slide 69

Slide 69 text

Continous Deployment steps on k8s with Spinnaker • Build best practices for your team • Pipeline include database migration? • Pipeline include manual judgement? • Pipeline is restricted by deploy time window? Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 69

Slide 70

Slide 70 text

Demo Easy-Peasy Continuous Deployment on Kubernetes with Spinnaker Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 70

Slide 71

Slide 71 text

Today's Demo Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 71

Slide 72

Slide 72 text

Step1: edit code Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 72

Slide 73

Slide 73 text

Step2: Push commit to github Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 73

Slide 74

Slide 74 text

Step3: Build Docker image Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 74

Slide 75

Slide 75 text

Step4: Push Docker image to ECR Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 75

Slide 76

Slide 76 text

Step5: Invoke Spinnaker pipeline Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 76

Slide 77

Slide 77 text

Step6: Deploy green apps to k8s Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 77

Slide 78

Slide 78 text

Step7: Service out blue apps Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 78

Slide 79

Slide 79 text

Cleanup • Continous Deployment boosts your organization development • Pipeline tools are key component of CD • Spinnaker brings us variable features for CD with Kubernetes Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 79

Slide 80

Slide 80 text

Thanks! [email protected] Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 80

Slide 81

Slide 81 text

References Explanation of Continuous Deployment and deployment strategies highly inspireed by the following sites: • Martinfowler.com BlueGreenDeployment: https://martinfowler.com/bliki/BlueGreenDeployment.html • Martinfowler.com DeploymentPipeline: https://martinfowler.com/bliki/DeploymentPipeline.html • Continuous Delivery Vs. Continuous Deployment: What's the Diff?: https://puppet.com/blog/continuous-delivery-vs- continuous-deployment-what-s-diff • Deployment Strategies and Release Best Practices: http://cgrant.io/article/deployment-strategies/ • Stop Gambling with Upgrades, Murphy’s Law Always Wins: https://rhelblog.redhat.com/2015/05/07/stop-gambling-with- upgrades-murphys-law-always-wins/#more-908 • SAFe: Continuous Deployment: https://www.scaledagileframework.com/continuous-deployment/ • Continuous Delivery vs Continuous Deployment vs Continuous Integration: Key Definitions: https://blog.assembla.com/ assemblablog/tabid/12618/bid/92411/continuous-delivery-vs-continuous-deployment-vs-continuous-integration-wait-huh.aspx • Kubernetes deployment strategies: http://container-solutions.com/kubernetes-deployment-strategies/ Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 81

Slide 82

Slide 82 text

References Pipeline tools • Spinnaker: https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html • Brigate: https://azure.github.io/kashti/#!/build/01bzzn45f0p5bjtsffw9m8chts) • Chaos Monkey: https://github.com/Netflix/chaosmonkey • Automated Canary Analysis at Netflix with Kayenta: https://medium.com/netflix-techblog/automated- canary-analysis-at-netflix-with-kayenta-3260bc7acc69 Misc • Wikipedia Umami: https://en.wikipedia.org/wiki/Umami • Umami Information Center: https://www.umamiinfo.com/what/whatisumami/ Bristol DevOps Meetup @Cookpad Ltd. (April 25, 2018) | Takayuki Watanabe ( takanabe/@takanabe_w ) 82