Continuous Deployment Transitions at Scale

Continuous Deployment Transitions at Scale

Laurie Williams (North Carolina State University, USA), Kent Beck (Facebook, USA), Jeffrey Creasey (LexisNexis, USA), Andrew Glover (Netflix, USA), James Holman (SAS Institute Inc., USA), Jez Humble (DevOps Research and Assessment LLC, USA), David McLaughlin (Twitter, USA), John Thomas Micco (VMWare, USA), Brendan Murphy (Microsoft, UK), Jason A. Cox (The Walt Disney Company, USA), Vishnu Pendyala (Cisco Systems Inc., USA), Steven Place (IBM, USA), Zachary T. Pritchard (Slack, USA), Chuck Rossi (Facebook, USA), Tony Savor (Facebook, USA), Michael Stumm (University of Toronto, Canada) and Chris Parnin (North Carolina State University, USA)
DOI: 10.4018/978-1-7998-1863-2.ch006

Abstract

Predictable, rapid, and data-driven feature rollout; lightning-fast; and automated fix deployment are some of the benefits most large software organizations worldwide are striving for. In the process, they are transitioning toward the use of continuous deployment practices. Continuous deployment enables companies to make hundreds or thousands of software changes to live computing infrastructure every day while maintaining service to millions of customers. Such ultra-fast changes create a new reality in software development. Over the past four years, the Continuous Deployment Summit, hosted at Facebook, Netflix, Google, and Twitter has been held. Representatives from companies like Cisco, Facebook, Google, IBM, Microsoft, Netflix, and Twitter have shared the triumphs and struggles of their transition to continuous deployment practices—each year the companies press on, getting ever faster. In this chapter, the authors share the common strategies and practices used by continuous deployment pioneers and adopted by newcomers as they transition and use continuous deployment practices at scale.
Chapter Preview
Top

Persistent And Incremental Practice Adoption

As Einstein advises, “Persistence is the most powerful force on earth, it can move mountains.” The uniting factor among all the Summit companies was the persistent movement toward becoming more efficient, improving customer satisfaction and business results and increasing release frequency through the incremental adoption of continuous deployment practices. Each year, the Summit companies demonstrated measurable increases in the adoption of the practices.

Some of the Summit companies, such as Google, Facebook, and Netflix, were “born” using continuous deployment practices. Older companies, such as Microsoft, IBM, Cisco, and SAS, have large legacy products in their portfolio that were “born and raised” with a waterfall-type software development process. Disney supports a wide range of software products—from websites to safety-critical software that runs theme-park rides. These older companies could have decided continuous deployment was not appropriate for some of their products. Instead, these giants took demonstrable steps each year to “turn their ship around.”

Each company found its unique way to bring about continuous change. Disney attributes its success with the use of continuous deployment practices to their company’s values established by Walt Disney himself: Curiosity, Confidence, Courage, and Constancy. The developers are curious to see if the practices could help them with their business results; they are confident in their abilities, systems, and checks so they dare to make changes. Constancy helps them continue to incrementally adopt more practices. Microsoft has a range of product types from Yammer and Bing, which use continuous deployment practices similar to those of Google, Facebook, and Netflix; to its monolithic software, such as Microsoft Exchange and Windows operating system. Inspired by continuous deployment practices, Microsoft Exchange now deploys to beta customers using a ring deployment model, where a release is deployed to a new ring level every week, finally reaching beta customers in the sixth week—if no problems are detected. Finally, Facebook has applied this principle to changing their release process for all developers in the company.

Complete Chapter List

Search this Book:
Reset