skip to main content
Skip header Section
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment AutomationAugust 2010
Publisher:
  • Addison-Wesley Professional
ISBN:978-0-321-60191-9
Published:06 August 2010
Pages:
512
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours sometimes even minutesno matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the deployment pipeline, an automated process for managing all changes, from check-in to release. Finally, they discuss the ecosystem needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes Automating all facets of building, integrating, testing, and deploying software Implementing deployment pipelines at team and organizational levels Improving collaboration between developers, testers, and operations Developing features incrementally on large and distributed teams Implementing an effective configuration management strategy Automating acceptance testing, from analysis to implementation Testing capacity and other non-functional requirements Implementing continuous deployment and zero-downtime releases Managing infrastructure, data, components and dependencies Navigating risk management, compliance, and auditing Whether youre a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than everso you can deliver value to your business rapidly and reliably.

Cited By

  1. ACM
    Amaro R, Pereira R and Mira da Silva M (2024). DevOps Metrics and KPIs: A Multivocal Literature Review, ACM Computing Surveys, 56:9, (1-41), Online publication date: 31-Oct-2024.
  2. Macho C, Oraze F and Pinzger M (2024). DValidator, Journal of Systems and Software, 209:C, Online publication date: 1-Mar-2024.
  3. Rahman A, Bose D, Zhang Y and Pandita R (2023). An empirical study of task infections in Ansible scripts, Empirical Software Engineering, 29:1, Online publication date: 1-Jan-2024.
  4. ACM
    Falazi G, Harzenetter L, Képes K, Leymann F, Breitenbücher U, Ntentos E, Zdun U, Becker M and Heldwein E Compliance Management of IaC-Based Cloud Deployments During Runtime Proceedings of the IEEE/ACM 16th International Conference on Utility and Cloud Computing, (1-11)
  5. Saadatmand M, Abbas M, Enoiu E, Schlingloff B, Afzal W, Dornauer B and Felderer M (2023). SmartDelta project, Microprocessors & Microsystems, 103:C, Online publication date: 1-Nov-2023.
  6. Muralee S, Koishybayev I, Nahapetyan A, Tystahl G, Reaves B, Bianchi A, Enck W, Kapravelos A and Machiry A ARGUS Proceedings of the 32nd USENIX Conference on Security Symposium, (6983-7000)
  7. Amaro R, Pereira R and da Silva M (2023). Capabilities and metrics in DevOps, Information and Management, 60:5, Online publication date: 1-Jul-2023.
  8. Baron C and Louis V (2023). Framework and tooling proposals for Agile certification of safety-critical embedded software in avionic systems, Computers in Industry, 148:C, Online publication date: 1-Jun-2023.
  9. Zhao Z, Wang X, Xu Z, Tang Z, Li Y and Di P Incremental Call Graph Construction in Industrial Practice Proceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice, (471-482)
  10. Fabijan A, Dmitriev P, Arai B, Drake A, Kohlmeier S and Kwong A A/B Integrations: 7 Lessons Learned from Enabling A/B Testing as a Product Feature Proceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice, (304-314)
  11. Azad N and Hyrynsalmi S (2023). DevOps critical success factors — A systematic literature review, Information and Software Technology, 157:C, Online publication date: 1-May-2023.
  12. ACM
    Soldani J and Brogi A (2023). Anomaly Detection and Failure Root Cause Analysis in (Micro) Service-Based Cloud Applications: A Survey, ACM Computing Surveys, 55:3, (1-39), Online publication date: 30-Apr-2023.
  13. Shahin M, Rezaei Nasab A and Ali Babar M (2023). A qualitative study of architectural design issues in DevOps, Journal of Software: Evolution and Process, 35:5, Online publication date: 25-Apr-2023.
  14. Rwemalika R, Habchi S, Papadakis M, Le Traon Y and Brasseur M (2022). Smells in system user interactive tests, Empirical Software Engineering, 28:1, Online publication date: 1-Jan-2023.
  15. Marques P and Correia F Foundational DevOps Patterns Proceedings of the 29th Conference on Pattern Languages of Programs, (1-12)
  16. Piedade B, Dias J and Correia F (2022). Visual notations in container orchestrations: an empirical study with Docker Compose, Software and Systems Modeling (SoSyM), 21:5, (1983-2005), Online publication date: 1-Oct-2022.
  17. ACM
    Lindon M, Sanden C and Shirikian V Rapid Regression Detection in Software Deployments through Sequential Testing Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, (3336-3346)
  18. ACM
    Sobhy D, Minku L, Bahsoon R and Kazman R (2022). Continuous and Proactive Software Architecture Evaluation: An IoT Case, ACM Transactions on Software Engineering and Methodology, 31:3, (1-54), Online publication date: 31-Jul-2022.
  19. ACM
    Olewicki D, Nayrolles M and Adams B Towards language-independent brown build detection Proceedings of the 44th International Conference on Software Engineering, (2177-2188)
  20. ACM
    Camilli M, Guerriero A, Janes A, Russo B and Russo S Microservices integrated performance and reliability testing Proceedings of the 3rd ACM/IEEE International Conference on Automation of Software Test, (29-39)
  21. ACM
    Grünbacher P A Study on Variability for Multi-Device Rendering in Digital Music Publishing Proceedings of the 16th International Working Conference on Variability Modelling of Software-Intensive Systems, (1-9)
  22. Chen K, Faddi Z, Nagaraju V and Fiondella L Quantifying the Impact of Staged Rollout Policies on Software Process and Product Metrics 2022 Annual Reliability and Maintainability Symposium (RAMS), (1-6)
  23. Fernández González D, Rodríguez Lera F, Esteban G and Fernández Llamas C (2022). SecDocker: Hardening the Continuous Integration Workflow, SN Computer Science, 3:1, Online publication date: 1-Jan-2022.
  24. ACM
    Pereira I, Carneiro T and Figueiredo E Investigating Continuous Delivery on IoT Systems Proceedings of the XX Brazilian Symposium on Software Quality, (1-10)
  25. ACM
    Toslali M, Parthasarathy S, Oliveira F, Huang H and Coskun A Iter8 Proceedings of the ACM Symposium on Cloud Computing, (289-304)
  26. Rahman A, Shahriar H and Bose D How Do Students Feel About Automated Security Static Analysis Exercises? 2021 IEEE Frontiers in Education Conference (FIE), (1-4)
  27. Chen R and Wu W Parallelizing Automatic Model Management System for AIOps on Microservice Platforms Euro-Par 2021: Parallel Processing Workshops, (376-387)
  28. ACM
    Lampel J, Just S, Apel S and Zeller A When life gives you oranges: detecting and diagnosing intermittent job failures at Mozilla Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (1381-1392)
  29. Kehrer S, Zietlow D, Scheffold J and Blochinger W (2020). Self-tuning serverless task farming using proactive elasticity control, Cluster Computing, 24:2, (799-817), Online publication date: 1-Jun-2021.
  30. Angermeir F, Voggenreiter M, Moyón F and Mendez D Enterprise-driven open source software Proceedings of the 43rd International Conference on Software Engineering: Software Engineering in Practice, (278-287)
  31. Lim G, Ham M, Moon J and Song W LightSys Proceedings of the 43rd International Conference on Software Engineering: Software Engineering in Practice, (1-10)
  32. Alves I and Rocha C Qualifying software engineers undergraduates in DevOps - challenges of introducing technical and non-technical concepts in a project-oriented course Proceedings of the 43rd International Conference on Software Engineering: Joint Track on Software Engineering Education and Training, (144-153)
  33. Elazhary O, Storey M, Ernst N and Paradis E ADEPT Proceedings of the 43rd International Conference on Software Engineering: New Ideas and Emerging Results, (26-30)
  34. Ben Mesmia W, Escheikh M and Barkaoui K (2020). DevOps workflow verification and duration prediction using non‐Markovian stochastic Petri nets, Journal of Software: Evolution and Process, 33:3, Online publication date: 3-Mar-2021.
  35. Sabau A, Hacks S and Steffens A (2021). Implementation of a continuous delivery pipeline for enterprise architecture model evolution, Software and Systems Modeling (SoSyM), 20:1, (117-145), Online publication date: 1-Feb-2021.
  36. ACM
    Rahman A, Rahman M, Parnin C and Williams L (2021). Security Smells in Ansible and Chef Scripts, ACM Transactions on Software Engineering and Methodology, 30:1, (1-31), Online publication date: 31-Jan-2021.
  37. Schermann G, Oliveira F, Wittern E and Leitner P Topology-Aware Continuous Experimentation in Microservice-Based Applications Service-Oriented Computing, (19-35)
  38. ACM
    Leite L, Rocha C, Kon F, Milojicic D and Meirelles P (2019). A Survey of DevOps Concepts and Challenges, ACM Computing Surveys, 52:6, (1-35), Online publication date: 30-Nov-2020.
  39. Moyón F, Soares R, Pinto-Albuquerque M, Mendez D and Beckers K Integration of Security Standards in DevOps Pipelines: An Industry Case Study Product-Focused Software Process Improvement, (434-452)
  40. Lwakatare L, Crnkovic I, Rånge E and Bosch J From a Data Science Driven Process to a Continuous Delivery Process for Machine Learning Systems Product-Focused Software Process Improvement, (185-201)
  41. ACM
    Hasan M, Bhuiyan F and Rahman A Testing practices for infrastructure as code Proceedings of the 1st ACM SIGSOFT International Workshop on Languages and Tools for Next-Generation Testing, (7-12)
  42. ACM
    Vassallo C, Proksch S, Jancso A, Gall H and Di Penta M Configuration smells in continuous delivery pipelines: a linter and a six-month study on GitLab Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (327-337)
  43. ACM
    Siegmund N, Ruckel N and Siegmund J Dimensions of software configuration: on the configuration context in modern software development Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (338-349)
  44. ACM
    Villaça L, Azevedo L and Siqueira S Microservice Architecture for Multistore Database Using Canonical Data Model Proceedings of the XVI Brazilian Symposium on Information Systems, (1-8)
  45. Bernabé-Sánchez I, Díaz-Sánchez D and Muñoz-Organero M (2020). Specification and Unattended Deployment of Home Networks at the Edge of the Network, IEEE Transactions on Consumer Electronics, 66:4, (279-288), Online publication date: 1-Nov-2020.
  46. ACM
    Destro G and de França B Mining Software Repositories for the Characterization of Continuous Integration and Delivery Proceedings of the XXXIV Brazilian Symposium on Software Engineering, (664-669)
  47. ACM
    Satyal S, Fletcher N and Ghosh S Continuous Improvement of Medical Diagnostic Systems with Large Scale Patient Vignette Simulation Proceedings of the 29th ACM International Conference on Information & Knowledge Management, (2717-2724)
  48. Yoder J and Merson P Strangler patterns Proceedings of the 27th Conference on Pattern Languages of Programs, (1-25)
  49. ACM
    Gazzola L, Goldstein M, Mariani L, Segall I and Ussi L Automatic Ex-Vivo Regression Testing of Microservices Proceedings of the IEEE/ACM 1st International Conference on Automation of Software Test, (11-20)
  50. Wurster M, Breitenbücher U, Brogi A, Harzenetter L, Leymann F and Soldani J Technology-Agnostic Declarative Deployment Automation of Cloud Applications Service-Oriented and Cloud Computing, (97-112)
  51. ACM
    Bhuiyan F and Rahman A Characterizing co-located insecure coding patterns in infrastructure as code scripts Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, (27-32)
  52. Dineva K and Atanasova T Architectural ML Framework for IoT Services Delivery Based on Microservices Distributed Computer and Communication Networks, (698-711)
  53. ACM
    Grambow M, Wittern E and Bermbach D (2020). Benchmarking the performance of microservice applications, ACM SIGAPP Applied Computing Review, 20:3, (20-34), Online publication date: 1-Sep-2020.
  54. Rahman A, Farhana E and Williams L (2020). The ‘as code’ activities: development anti-patterns for infrastructure as code, Empirical Software Engineering, 25:5, (3430-3467), Online publication date: 1-Sep-2020.
  55. ACM
    Meinicke J, Hoyos J, Vasilescu B and Kästner C Capture the Feature Flag Proceedings of the 17th International Conference on Mining Software Repositories, (169-173)
  56. ACM
    Meinicke J, Wong C, Vasilescu B and Kästner C Exploring differences and commonalities between feature flags and configuration options Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice, (233-242)
  57. ACM
    Ramanathan M, Clapp L, Barik R and Sridharan M Piranha Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice, (221-230)
  58. ACM
    Rahman A, Farhana E, Parnin C and Williams L Gang of eight Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (752-764)
  59. ACM
    Chen B and Jiang Z Studying the use of Java logging utilities in the wild Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (397-408)
  60. Olsson H and Bosch J (2020). Going digital, Journal of Software: Evolution and Process, 32:6, Online publication date: 4-Jun-2020.
  61. ACM
    Grambow M, Meusel L, Wittern E and Bermbach D Benchmarking microservice performance Proceedings of the 35th Annual ACM Symposium on Applied Computing, (232-241)
  62. ACM
    Di Penta M Understanding and Improving Continuous Integration and Delivery Practice using Data from the Wild Proceedings of the 13th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference), (1-1)
  63. ACM
    Zhang X, Xu Y, Lin Q, Qiao B, Zhang H, Dang Y, Xie C, Yang X, Cheng Q, Li Z, Chen J, He X, Yao R, Lou J, Chintalapati M, Shen F and Zhang D Robust log-based anomaly detection on unstable log data Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (807-817)
  64. Chen B and Jiang Z (2019). Extracting and studying the Logging-Code-Issue- Introducing changes in Java-based large-scale open source software systems, Empirical Software Engineering, 24:4, (2285-2322), Online publication date: 1-Aug-2019.
  65. ACM
    Wiedemann A, Wiesche M and Krcmar H Integrating Development and Operations in Cross-Functional Teams - Toward a DevOps Competency Model Proceedings of the 2019 on Computers and People Research Conference, (14-19)
  66. ACM
    Miclaus A, Pescara E, Mädche A and Beigl M Drive by maintenance Proceedings of the 12th ACM International Conference on PErvasive Technologies Related to Assistive Environments, (382-388)
  67. Shahin M, Zahedi M, Babar M and Zhu L (2019). An empirical study of architecting for continuous delivery and deployment, Empirical Software Engineering, 24:3, (1061-1108), Online publication date: 1-Jun-2019.
  68. Jiménez M, Rivera L, Villegas N, Tamura G, Müller H and Bencomo N An architectural framework for quality-driven adaptive continuous experimentation Proceedings of the Joint 4th International Workshop on Rapid Continuous Software Engineering and 1st International Workshop on Data-Driven Decisions, Experimentation and Evolution, (20-23)
  69. Huijgens H, Greuter E, Brons J, van Doorn E, Papadopoulos I, Martinez F, Aniche M, Visser O and van Deursen A Factors affecting cloud infra-service development lead times Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice, (233-242)
  70. Basiri A, Hochstein L, Jones N and Tucker H Automating chaos experiments in production Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice, (31-40)
  71. Xia T, Bhardwaj S, Dmitriev P and Fabijan A Safe velocity Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice, (11-20)
  72. Fabijan A, Dmitriev P, Olsson H, Bosch J, Vermeer L and Lewis D Three key checklists and remedies for trustworthy analysis of online controlled experiments at scale Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice, (1-10)
  73. Aniche M, Yoder J and Kon F Current challenges in practical object-oriented software design Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results, (113-116)
  74. Pietrantuono R, Bertolino A, De Angelis G, Miranda B and Russo S Towards continuous software reliability testing in DevOps Proceedings of the 14th International Workshop on Automation of Software Test, (21-27)
  75. di Biase M, Rastogi A, Bruntink M and van Deursen A The delta maintainability model Proceedings of the Second International Conference on Technical Debt, (113-122)
  76. Joshi S and Chimalakonda S RapidRelease Proceedings of the 16th International Conference on Mining Software Repositories, (587-591)
  77. Mitropoulos D, Louridas P, Salis V and Spinellis D Time present and time past Proceedings of the 16th International Conference on Mining Software Repositories, (126-137)
  78. Catolino G, Di Nucci D and Ferrucci F Cross-project just-in-time bug prediction for mobile apps Proceedings of the 6th International Conference on Mobile Software Engineering and Systems, (99-110)
  79. Rahman A, Parnin C and Williams L The seven sins Proceedings of the 41st International Conference on Software Engineering, (164-175)
  80. Vassallo C, Proksch S, Gall H and Di Penta M Automated reporting of anti-patterns and decay in continuous integration Proceedings of the 41st International Conference on Software Engineering, (105-115)
  81. Loss S, Ciriello R and Cito J Beware of disengaged user acceptance in testing software-as-a-service Proceedings of the 41st International Conference on Software Engineering: Companion Proceedings, (298-299)
  82. Ferry N, Dominiak J, Gallon A, González E, Iturbe E, Lavirotte S, Martinez S, Metzger A, Muntés-Mulero V, Nguyen P, Palm A, Rego A, Rios E, Riviera D, Solberg A, Song H, Tigli J and Winter T Development and Operation of Trustworthy Smart IoT Systems: The ENACT Framework Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, (121-138)
  83. De Sanctis M, Bucchiarone A and Trubiani C A DevOps Perspective for QoS-Aware Adaptive Applications Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, (95-111)
  84. ACM
    Mäkinen S, Lehtonen T, Kilamo T, Puonti M, Mikkonen T and Männistö T Revisiting continuous deployment maturity Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, (1810-1817)
  85. ACM
    Bezemer C, Eismann S, Ferme V, Grohmann J, Heinrich R, Jamshidi P, Shang W, van Hoorn A, Villavicencio M, Walter J and Willnecker F How is Performance Addressed in DevOps? Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering, (45-50)
  86. ACM
    Ibrahim M, Syed-Mohamad S and Husin M Managing Quality Assurance Challenges of DevOps through Analytics Proceedings of the 2019 8th International Conference on Software and Computer Applications, (194-198)
  87. Gupta M, Mandal A, Dasgupta G and Serebrenik A Runtime Monitoring in Continuous Deployment by Differencing Execution Behavior Model Service-Oriented Computing, (812-827)
  88. Boyer F, Etchevers X, de Palma N and Tao X Architecture-Based Automated Updates of Distributed Microservices Service-Oriented Computing, (21-36)
  89. Rivera L, Villegas N, Tamura G, Jiménez M and Müller H UML-driven automated software deployment Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering, (257-268)
  90. ACM
    Tzoref-Brill R and Maoz S Modify, enhance, select: co-evolution of combinatorial models and test plans Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (235-245)
  91. ACM
    Zhang Y, Vasilescu B, Wang H and Filkov V One size does not fit all: an empirical study of containerized continuous deployment workflows Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (295-306)
  92. Giallorenzo S, Lanese I and Russo D ChIP: A Choreographic Integration Process On the Move to Meaningful Internet Systems. OTM 2018 Conferences, (22-40)
  93. ACM
    Huijgens H, Spadini D, Stevens D, Visser N and van Deursen A Software analytics in continuous delivery Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-10)
  94. ACM
    Stratis P, Yaneva V and Rajan A Assessing the effect of data transformations on test suite compilation Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-10)
  95. ACM
    Mendonça N, Garlan D, Schmerl B and Cámara J Generality vs. reusability in architecture-based self-adaptation Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings, (1-6)
  96. ACM
    Antunes R, Navarro G and Hanazumi S Test Framework for Jenkins Shared Libraries Proceedings of the III Brazilian Symposium on Systematic and Automated Software Testing, (13-19)
  97. Nurdiani I, Börstler J and Fricker S (2018). Literature review of flexibility attributes, Journal of Software: Evolution and Process, 30:9, Online publication date: 17-Sep-2018.
  98. ACM
    Vassallo C, Palomba F, Bacchelli A and Gall H Continuous code quality: are we (really) doing that? Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, (790-795)
  99. Forbrig P and Dittmar A Integrating HCD into BizDevOps by Using the Subject-Oriented Approach Human-Centered Software Engineering, (327-334)
  100. Akerele O (2018). System dynamics modelling of the impact of agile practice on the quality of continuous delivery projects, Innovations in Systems and Software Engineering, 14:3, (183-208), Online publication date: 1-Sep-2018.
  101. Kehrer S and Blochinger W (2018). TOSCA-based container orchestration on Mesos, Computer Science - Research and Development, 33:3-4, (305-316), Online publication date: 1-Aug-2018.
  102. ACM
    Greising L, Bartel A and Hagel G Introducing a Deployment Pipeline for Continuous Delivery in a Software Architecture Course Proceedings of the 3rd European Conference of Software Engineering Education, (102-107)
  103. ACM
    Rahman A, Partho A, Morrison P and Williams L What questions do programmers ask about configuration as code? Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering, (16-22)
  104. ACM
    Steffens A, Lichter H and Döring J Designing a next-generation continuous software delivery system Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering, (1-7)
  105. ACM
    Düllmann T, Paule C and van Hoorn A Exploiting devops practices for dependable and secure continuous delivery pipelines Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering, (27-30)
  106. ACM
    Vassallo C, Proksch S, Zemp T and Gall H Un-break my build Proceedings of the 26th Conference on Program Comprehension, (41-51)
  107. ACM
    Dittrich Y, Nørbjerg J, Tell P and Bendix L Researching cooperation and communication in continuous software engineering Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering, (87-90)
  108. ACM
    van der Valk R, Pelliccione P, Lago P, Heldal R, Knauss E and Juul J Transparency and contracts Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice, (23-32)
  109. ACM
    Rahman A, Stallings J and Williams L Defect prediction metrics for infrastructure as code scripts in DevOps Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, (414-415)
  110. ACM
    Rahman A Characteristics of defective infrastructure as code scripts in DevOps Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, (476-479)
  111. ACM
    Ståhl D and Bosch J Cinders Proceedings of the 2018 International Conference on Software and System Process, (128-129)
  112. ACM
    Mazkatli M and Koziolek A Continuous Integration of Performance Model Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, (153-158)
  113. ACM
    Ferry N, Chauvel F, Song H, Rossini A, Lushpenko M and Solberg A (2018). CloudMF, ACM Transactions on Internet Technology, 18:2, (1-24), Online publication date: 18-Mar-2018.
  114. Brook J, Cuadrado F, Deliot E, Guijarro J, Hawkes R, Lotz M, Pascal R, Sae-Lor S, Vaquero L, Varvenne J and Wilcock L (2018). Loom, Future Generation Computer Systems, 80:C, (47-62), Online publication date: 1-Mar-2018.
  115. ACM
    Fhang M and Swamy R Best Practices in Release Management of Large Projects Proceedings of the 2018 7th International Conference on Software and Computer Applications, (51-55)
  116. ACM
    Schermann G Continuous experimentation for software developers Proceedings of the 18th Doctoral Symposium of the 18th International Middleware Conference, (5-8)
  117. ACM
    Wurster M, Breitenbücher U, Falkenthal M and Leymann F Developing, deploying, and operating twelve-factor applications with TOSCA Proceedings of the 19th International Conference on Information Integration and Web-based Applications & Services, (519-525)
  118. Sandobalin J A Model-Driven Approach to Continuous Delivery of Cloud Resources Service-Oriented Computing – ICSOC 2017 Workshops, (346-351)
  119. ACM
    Tizzei L, Nery M, Segura V and Cerqueira R Using Microservices and Software Product Line Engineering to Support Reuse of Evolving Multi-tenant SaaS Proceedings of the 21st International Systems and Software Product Line Conference - Volume A, (205-214)
  120. ACM
    Suneja S, Koller R, Isci C, de Lara E, Hashemi A, Bhattacharyya A and Amza C (2017). Safe Inspection of Live Virtual Machines, ACM SIGPLAN Notices, 52:7, (97-111), Online publication date: 14-Sep-2017.
  121. ACM
    Huijgens H, Lamping R, Stevens D, Rothengatter H, Gousios G and Romano D Strong agile metrics: mining log data to determine predictive power of software metrics for continuous delivery teams Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, (866-871)
  122. ACM
    Shahin M, Zahedi M, Babar M and Zhu L Adopting Continuous Delivery and Deployment Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, (384-393)
  123. Chen L (2017). Continuous Delivery, Journal of Systems and Software, 128:C, (72-86), Online publication date: 1-Jun-2017.
  124. Karvonen T, Behutiye W, Oivo M and Kuvaja P (2017). Systematic literature review on the impacts of agile release engineering practices, Information and Software Technology, 86:C, (87-100), Online publication date: 1-Jun-2017.
  125. Alperowitz L, Weintraud A, Kofler S and Bruegge B Continuous prototyping Proceedings of the 3rd International Workshop on Rapid Continuous Software Engineering, (36-42)
  126. Farahmandpour Z, Versteeg S, Han J and Kameswaran A Service virtualisation of internet-of-things devices Proceedings of the 3rd International Workshop on Rapid Continuous Software Engineering, (32-35)
  127. Rahman A, Partho A, Meder D and Williams L Which factors influence practitioners' usage of build automation tools? Proceedings of the 3rd International Workshop on Rapid Continuous Software Engineering, (20-26)
  128. Krusche S and Bruegge B CSEPM Proceedings of the 3rd International Workshop on Rapid Continuous Software Engineering, (2-8)
  129. Aderaldo C, Mendonça N, Pahl C and Jamshidi P Benchmark requirements for microservices architecture research Proceedings of the 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering, (8-13)
  130. Cito J, Schermann G, Wittern J, Leitner P, Zumberi S and Gall H An empirical analysis of the docker container ecosystem on GitHub Proceedings of the 14th International Conference on Mining Software Repositories, (323-333)
  131. Chen B and Jiang Z Characterizing and detecting anti-patterns in the logging code Proceedings of the 39th International Conference on Software Engineering, (71-81)
  132. de Jong M, van Deursen A and Cleve A Zero-downtime SQL database schema evolution for continuous deployment Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, (143-152)
  133. Laukkanen E, Paasivaara M, Itkonen J, Lassenius C and Arvonen T Towards continuous delivery by reducing the feature freeze period Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, (23-32)
  134. Kevic K, Murphy B, Williams L and Beckmann J Characterizing experimentation in continuous deployment Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, (123-132)
  135. Chatley R and Field T Lean learning Proceedings of the 39th International Conference on Software Engineering: Software Engineering and Education Track, (117-126)
  136. Liechti O, Pasquier J and Reis R Supporting Agile teams with a test analytics platform Proceedings of the 12th International Workshop on Automation of Software Testing, (9-15)
  137. ACM
    Makki M, Van Landuyt D and Joosen W (2016). Automated regression testing of BPMN 2.0 processes: a capture and replay framework for continuous delivery, ACM SIGPLAN Notices, 52:3, (178-189), Online publication date: 12-May-2017.
  138. Sthl D, Mrtensson T and Bosch J (2017). The continuity of continuous integration, Journal of Systems and Software, 127:C, (150-167), Online publication date: 1-May-2017.
  139. ACM
    Heinrich R, van Hoorn A, Knoche H, Li F, Lwakatare L, Pahl C, Schulte S and Wettinger J Performance Engineering for Microservices Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion, (223-226)
  140. ACM
    Düllmann T and van Hoorn A Model-driven Generation of Microservice Architectures for Benchmarking Performance and Resilience Engineering Approaches Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion, (171-172)
  141. ACM
    Suneja S, Koller R, Isci C, de Lara E, Hashemi A, Bhattacharyya A and Amza C Safe Inspection of Live Virtual Machines Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, (97-111)
  142. ACM
    Virtanen A, Kuusinen K, Leppänen M, Luoto A, Kilamo T and Mikkonen T On continuous deployment maturity in customer projects Proceedings of the Symposium on Applied Computing, (1205-1212)
  143. ACM
    Lehmann M and Sandnes F A framework for evaluating continuous microservice delivery strategies Proceedings of the Second International Conference on Internet of things, Data and Cloud Computing, (1-9)
  144. (2017). Cinders, Information and Software Technology, 83:C, (76-93), Online publication date: 1-Mar-2017.
  145. Fu M, Zhu L, Sun D, Liu A, Bass L and Lu Q (2017). Runtime recovery actions selection for sporadic operations on public cloud, Software—Practice & Experience, 47:2, (223-248), Online publication date: 1-Feb-2017.
  146. ACM
    Zhang W, Hwang J, Rajagopalan S, Ramakrishnan K and Wood T Flurries Proceedings of the 12th International on Conference on emerging Networking EXperiments and Technologies, (3-17)
  147. Opara-Martins J, Sahandi R and Tian F (2016). Critical analysis of vendor lock-in and its impact on cloud computing migration, Journal of Cloud Computing: Advances, Systems and Applications, 5:1, (1-18), Online publication date: 1-Dec-2016.
  148. Mäkinen S, Leppänen M, Kilamo T, Mattila A, Laukkanen E, Pagels M and Männistö T (2016). Improving the delivery cycle, Information and Software Technology, 80:C, (175-194), Online publication date: 1-Dec-2016.
  149. ACM
    Cuesta C, Navarro E and Zdun U Synergies of system-of-systems and microservices architectures Proceedings of the International Colloquium on Software-intensive Systems-of-Systems at 10th European Conference on Software Architecture, (1-7)
  150. ACM
    Gerostathopoulos I, Bures T, Schmid S, Horky V, Prehofer C and Tuma P Towards systematic live experimentation in software-intensive systems of systems Proceedings of the International Colloquium on Software-intensive Systems-of-Systems at 10th European Conference on Software Architecture, (1-7)
  151. ACM
    Schermann G, Schöni D, Leitner P and Gall H Bifrost Proceedings of the 17th International Middleware Conference, (1-14)
  152. ACM
    Soltani J Adopting continuous delivery in AAA console games Proceedings of the 4th International Workshop on Release Engineering, (5-6)
  153. ACM
    Herbsleb J Building a socio-technical theory of coordination: why and how (outstanding research award) Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (2-10)
  154. ACM
    Rossi C, Shibley E, Su S, Beck K, Savor T and Stumm M Continuous deployment of mobile software at facebook (showcase) Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (12-23)
  155. ACM
    Makki M, Van Landuyt D and Joosen W Automated regression testing of BPMN 2.0 processes: a capture and replay framework for continuous delivery Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (178-189)
  156. ACM
    Itkonen J, Udd R, Lassenius C and Lehtonen T Perceived Benefits of Adopting Continuous Delivery Practices Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-6)
  157. ACM
    Laukkanen E, Lehtinen T, Itkonen J, Paasivaara M and Lassenius C Bottom-up Adoption of Continuous Delivery in a Stage-Gate Managed Software Organization Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-10)
  158. (2016). Emerging themes in agile software development, Information and Software Technology, 77:C, (56-60), Online publication date: 1-Sep-2016.
  159. ACM
    Kroß J, Willnecker F, Zwickl T and Krcmar H PET: continuous performance evaluation tool Proceedings of the 2nd International Workshop on Quality-Aware DevOps, (42-43)
  160. ACM
    Sharma T, Fragkoulis M and Spinellis D Does your configuration code smell? Proceedings of the 13th International Conference on Mining Software Repositories, (189-200)
  161. ACM
    Gómez M, Rouvoy R, Adams B and Seinturier L Mining test repositories for automatic detection of UI performance regressions in Android apps Proceedings of the 13th International Conference on Mining Software Repositories, (13-24)
  162. ACM
    Rahman M, Querel L, Rigby P and Adams B Feature toggles Proceedings of the 13th International Conference on Mining Software Repositories, (201-211)
  163. ACM
    Kerzazi N and Adams B Who needs release and devops engineers, and why? Proceedings of the International Workshop on Continuous Software Evolution and Delivery, (77-83)
  164. ACM
    Chen L Continuous delivery Proceedings of the International Workshop on Continuous Software Evolution and Delivery, (84-84)
  165. ACM
    Klepper S, Krusche S and Bruegge B Semi-automatic generation of audience-specific release notes Proceedings of the International Workshop on Continuous Software Evolution and Delivery, (19-22)
  166. ACM
    Ringlstetter A, Scherzinger S and Bissyandé T Data model evolution using object-NoSQL mappers Proceedings of the 2nd International Workshop on BIG Data Software Engineering, (33-36)
  167. ACM
    Savor T, Douglas M, Gentili M, Williams L, Beck K and Stumm M Continuous deployment at Facebook and OANDA Proceedings of the 38th International Conference on Software Engineering Companion, (21-30)
  168. ACM
    Alperowitz L, Dzvonyar D and Bruegge B Metrics in Agile project courses Proceedings of the 38th International Conference on Software Engineering Companion, (323-326)
  169. ACM
    Lahtinen S and Leppänen M Refactoring Patterns, Practices for Daily Work Proceedings of the 10th Travelling Conference on Pattern Languages of Programs, (1-8)
  170. Durak U, Öztürk A and Katircioglu M Simulation deployment blockset for MATLAB/Simulink Proceedings of the Symposium on Theory of Modeling & Simulation, (1-8)
  171. Vlietland J, van Solingen R and van Vliet H (2016). Aligning codependent Scrum teams to enable fast business value delivery, Journal of Systems and Software, 113:C, (418-429), Online publication date: 1-Mar-2016.
  172. Wettinger J, Breitenbücher U, Kopp O and Leymann F (2016). Streamlining DevOps automation for Cloud applications using TOSCA as standardized metamodel, Future Generation Computer Systems, 56:C, (317-332), Online publication date: 1-Mar-2016.
  173. ACM
    Rehmann K, Seo C, Hwang D, Truong B, Boehm A and Lee D (2016). Performance Monitoring in SAP HANA's Continuous Integration Process, ACM SIGMETRICS Performance Evaluation Review, 43:4, (43-52), Online publication date: 25-Feb-2016.
  174. ACM
    Bruegge B, Krusche S and Alperowitz L (2015). Software Engineering Project Courses with Industrial Clients, ACM Transactions on Computing Education, 15:4, (1-31), Online publication date: 23-Dec-2015.
  175. Wettinger J, Andrikopoulos V and Leymann F Enabling DevOps Collaboration and Continuous Delivery Using Diverse Application Environments Proceedings of the Confederated International Conferences on On the Move to Meaningful Internet Systems: OTM 2015 Conferences - Volume 9415, (348-358)
  176. ACM
    Cito J, Leitner P, Gall H, Dadashi A, Keller A and Roth A Runtime metric meets developer: building better cloud applications using feedback 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), (14-27)
  177. ACM
    Kilamo T, Leppänen M and Mikkonen T The social developer: now, then, and tomorrow Proceedings of the 7th International Workshop on Social Software Engineering, (41-48)
  178. ACM
    Ferry N, Chauvel F, Song H and Solberg A Continous deployment of multi-cloud systems Proceedings of the 1st International Workshop on Quality-Aware DevOps, (27-28)
  179. ACM
    Dlugi M, Brunnert A and Krcmar H Model-based performance evaluations in continuous delivery pipelines Proceedings of the 1st International Workshop on Quality-Aware DevOps, (25-26)
  180. ACM
    Vasilescu B, Yu Y, Wang H, Devanbu P and Filkov V Quality and productivity outcomes relating to continuous integration in GitHub Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, (805-816)
  181. ACM
    Van Landuyt D, Walraven S and Joosen W Variability middleware for multi-tenant SaaS applications Proceedings of the 19th International Conference on Software Product Line, (211-215)
  182. ACM
    Tarvo A, Sweeney P, Mitchell N, Rajan V, Arnold M and Baldini I CanaryAdvisor: a statistical-based tool for canary testing (demo) Proceedings of the 2015 International Symposium on Software Testing and Analysis, (418-422)
  183. ACM
    Austel P, Chen H, Mikalsen T, Rouvellou I, Sharma U, Silva-Lepe I and Subramanian R Continuous Delivery of Composite Solutions Proceedings of the 2nd International Workshop on Software-Defined Ecosystems, (3-6)
  184. ACM
    Segall I and Tzoref-Brill R Feedback-driven combinatorial test design and execution Proceedings of the 8th ACM International Systems and Storage Conference, (1-6)
  185. de Jong M and van Deursen A Continuous deployment and schema evolution in SQL databases Proceedings of the Third International Workshop on Release Engineering, (16-19)
  186. Leppänen M, Kilamo T and Mikkonen T Towards post-agile development practices through productized development infrastructure Proceedings of the Second International Workshop on Rapid Continuous Software Engineering, (34-40)
  187. Klepper S, Krusche S, Peters S, Bruegge B and Alperowitz L Introducing continuous delivery of mobile apps in a corporate environment Proceedings of the Second International Workshop on Rapid Continuous Software Engineering, (5-11)
  188. Jiang Y and Adams B Co-evolution of infrastructure and source code Proceedings of the 12th Working Conference on Mining Software Repositories, (45-55)
  189. Adams B, Bellomo S, Bird C, Khomh F and Moir K 3rd international workshop on release engineering (RELENG 2015) Proceedings of the 37th International Conference on Software Engineering - Volume 2, (995-996)
  190. Saha R, Zhang L, Khurshid S and Perry D An information retrieval approach for regression test prioritization based on program changes Proceedings of the 37th International Conference on Software Engineering - Volume 1, (268-279)
  191. Spinellis D (2015). The Strategic Importance of Release Engineering, IEEE Software, 32:2, (3-5), Online publication date: 1-Mar-2015.
  192. Leppanen M, Makinen S, Pagels M, Eloranta V, Itkonen J, Mantyla M and Mannisto T (2015). The Highways and Country Roads to Continuous Deployment, IEEE Software, 32:2, (64-72), Online publication date: 1-Mar-2015.
  193. Lianping Chen (2015). Continuous Delivery: Huge Benefits, but Challenges Too, IEEE Software, 32:2, (50-54), Online publication date: 1-Mar-2015.
  194. Brunnert A and Krcmar H Detecting performance change in enterprise application versions using resource profiles Proceedings of the 8th International Conference on Performance Evaluation Methodologies and Tools, (165-172)
  195. Ferry N, Song H, Rossini A, Chauvel F and Solberg A Cloud MF Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, (269-277)
  196. Wettinger J, Breitenbücher U and Leymann F Standards-Based DevOps Automation and Integration Using TOSCA Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, (59-68)
  197. ACM
    Di Cosmo R, Lienhardt M, Treinen R, Zacchiroli S, Zwolakowski J, Eiche A and Agahi A Automated synthesis and deployment of cloud applications Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, (211-222)
  198. ACM
    Krusche S, Alperowitz L, Bruegge B and Wagner M Rugby: an agile process model based on continuous delivery Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, (42-50)
  199. ACM
    Fitzgerald B and Stol K Continuous software engineering and beyond: trends and challenges Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, (1-9)
  200. ACM
    Ramler R, Putschögl W and Winkler D Automated testing of industrial automation software: practical receipts and lessons learned Proceedings of the 1st International Workshop on Modern Software Engineering Methods for Industrial Automation, (7-16)
  201. ACM
    McIntosh S, Poehlmann M, Juergens E, Mockus A, Adams B, Hassan A, Haupt B and Wagner C Collecting and leveraging a benchmark of build system clones to aid in quality assessments Companion Proceedings of the 36th International Conference on Software Engineering, (145-154)
  202. ACM
    Krusche S and Alperowitz L Introduction of continuous delivery in multi-customer project courses Companion Proceedings of the 36th International Conference on Software Engineering, (335-343)
  203. ACM
    Le W and Pattison S Patch verification via multiversion interprocedural control flow graphs Proceedings of the 36th International Conference on Software Engineering, (1047-1058)
  204. ACM
    Hummer W, Rosenberg F, Oliveira F and Eilam T Automated testing of chef automation scripts Proceedings Demo & Poster Track of ACM/IFIP/USENIX International Middleware Conference, (1-2)
  205. ACM
    Bendix L and Pendleton C The role of configuration management in outsourcing and distributed development Proceedings of the 9th Central & Eastern European Software Engineering Conference in Russia, (1-10)
  206. ACM
    Gruhn V, Hannebauer C and John C Security of public continuous integration services Proceedings of the 9th International Symposium on Open Collaboration, (1-10)
  207. Kerzazi N Branching strategies based on social networks Proceedings of the 1st International Workshop on Release Engineering, (25-28)
  208. Khomh F, Dhaliwal T, Zou Y and Adams B Do faster releases improve software quality? Proceedings of the 9th IEEE Working Conference on Mining Software Repositories, (179-188)
  209. ACM
    Hsieh C, Cheng Y and Chen C Emerging patterns of continuous integration for cross-platform software development Proceedings of the 2nd Asian Conference on Pattern Languages of Programs, (1-9)
  210. Butzin B, Golatowski F and Timmermann D Microservices approach for the internet of things 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA), (1-6)
Contributors
  • University of California, Berkeley

Recommendations

Reviews

Alexandre Bergel

Humble and Farley focus on releasing reliable software through continuous and automated builds, tests, and deployment. Thanks to their multiple exposures to painful and costly maintenance issues, the authors are able to identify (and list) the principles of software delivery. As stated by the authors, this book is primarily recommended for developers, systems administrators, testers, and software managers. It is not recommended for a public that is solely focused on academic and theoretical problems and solutions. The authors adopted a practical stance in order to face problems regularly encountered by practitioners in the field. The book's 15 chapters are organized into three parts. Part 1, "Foundations," covers the bit of theory that introduces the causes of reliability failure and justifies the need for a strong discipline among practitioners. Part 2, "The Deployment Pipeline," covers how to automate the process that pulls software from version control to the deployment phase. The final part, "The Delivery Ecosystem," solves the technical obstacles encountered in practice, including managing the infrastructure and environment, software components, dependencies, and establishing a firm command of the version control system (VCS). By directly addressing the problems faced by today's practitioners, the book describes technical tools such as VCSs. However, these new, emerging tools are fragile against evolution and make the relevance of some chapters unsustainable. For example, while the concurrent versions system (CVS) and Subversion are described, Git, a new distributed VCS, is not. The spread of Git among projects will probably make Subversion obsolete one day, just as the CVS has been replaced by Subversion. Even if some chapters may age (painfully), the problems and solutions given in the book will remain identical. Another weak point is the short description of Hudson, a popular continuous integration server. As it stands, when it comes to installing and using Hudson, readers will have to rely on external information sources. I highly recommend this book. It crystallizes, in an easy-to-read manner, the difficulty of achieving software reliability and maintenance. The problems and the approaches required to solve them apply to a very large range of software types. Even though the authors' biography may suggest otherwise, this book does not apply solely to large industrial software; it can also be applied to academic, open-source, small projects. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.