Ben Treynor, Google’s operations team leader • Google SRE provide software engineering to increase site/service reliability across Google’s various products and services
enjoyable to use at anytime. • “Takes care of all engineering apart from new service development” • 2015/11 Changed name from “Infrastructure Team” to “SREs” • SRE is a better indication of what we do • Currently 10 members, always looking for new hires
than 10/Day • GitHub pull request based development • Uses pull requests in production environment • Merges into master branch = production deploy • Confirmation prior to deployment • Is it peer reviewed? • Is database migration finished? • Do you have release approval from your manager? master
of view • It must be tied to tickets • It must be peer reviewed • It must be possible to go back and see what you released in the past and when From the release accident prevention point of view • Check that DBMigration (DB Table or record necessary for the code) has been implemented • If the code is changed again after a peer review, it must be reviewed again
a week • The amount of information included in each deploy increased significantly • Difficult to differentiate between rollbacks and continued deployment • Emergency deployment everyday • Weekdays (Mon-Thu) were DeployDays • We wrote the pull request that we wanted to deploy on a whiteboard • System of taking turns • Check whether release requirements are met each time • Ansible-playbook implementation
the deployment can be done on Slack • Works with Google Calendar • Can plan a time for the release • Confirms the Pull request • Redmine ticket URL included in description? • Redmine manager approval status? • Is there an SQL file for the source difference? • Make DBMigration essential • Has someone other than the PR creator added LGTM labels? • Shows that peer review has been done
bot • In order to increase deployment possibilities in the future • GitHub review bot • A bot that reviews sources on GitHub • Confirm PullRequest • Is there a JIRA Issue link in the description? • Doesn’t apply to master branch • Doesn’t review PR • GitHub Integrations & services • Amazon SNS • AWS Lambda
a simple adjustment that doesn’t need to be tied to a ticket Determined by the type of file included in the Pull request change The label is automatically added
the way of developers (=Users) • The developer is the lead. • Shadow and watch over them. • Keep info to a minimum. Enough to explain details if asked. • Issues • There are times when the developer is concerned if it is operating properly
Microservices? • Decided to make k8s the foundation • Started using Spinnaker • Continuous Delivery Platform • Developed by Netflix • Collaborated with Google and was open-sourced in 2015 • Relationship with Microservices • Developers can have a sense of ownership with deployment as well
deploy with various styles • High hopes for Automated Canary Analysis • Challenges • GUI-based configuration • We want to configure it by code! • Reviewing in PullRequest / Managing change history • Because the development community is new, there is still little information on troubleshooting • Often breaks at version update
automation • Internal use of Spinnaker Deploy • Data Deploy • Machine learning data • Making it easier to read • Not just for engineers • Allowing the CS team to view it as well https://flic.kr/p/BKp7yQ