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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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