O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Continuous Delivery

Video Description

4 1/2 Hours of Video Instruction

Overview

Getting software released to users is often a painful, risky, and time-consuming process. The practice of continuous delivery sets out the principles and technical practices that enable rapid, low-risk 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 IT operations, teams can get changes released in a matter of hours sometimes even minutes no matter what the size of the product or the complexity of the enterprise environment.

Devops, dev ops, continuous delivery, continuous integration, jez humble, automation, infrastructure as code, architecture, release management, continuous deployment, testing, test automation, unit testing, software configuration management, SCM, agile, agile manifesto, Amazon, Google, Netflix, Netflix OSS, HP, chef

Related content:

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

Continuous Delivery Expert Interviews by Jez Humble (Video)

Description

In Continuous Delivery LiveLessons, Jez Humble presents an in-depth guide to the principles and practices behind continuous delivery and the DevOps movement, along with case studies from real companies and ideas to help you adopt continuous delivery and DevOps within your organization. You’ll start by learning the value proposition and the foundations that enable continuous delivery, followed by an introduction to the pattern at the heart of continuous delivery the deployment pipeline. The training then dives into the key development practices of continuous integration and comprehensive test automation. These lessons cover change management, agile infrastructure management, managing databases, architecture, and the patterns that enable low-risk releases. They conclude by discussing the culture and organizational change patterns of high performing companies. After taking this training, you will understand not just the principles and practices that enable continuous delivery and devops, but also how they are implemented in high performing organizations. With this knowledge you’ll be ready to transform your organization’s software delivery capability to get high quality solutions to market fast, while reducing the risk of the release process.

About the Instructor

Jez Humble is a lecturer at UC Berkeley and co-author of the Jolt Award winning Continuous Delivery, published in Martin Fowler’s Signature Series (Addison Wesley, 2010), and Lean Enterprise, in Eric Ries’ Lean series (O’Reilly, 2014). He has worked as a software developer, product manager, executive, consultant and trainer across a wide variety of domains and technologies. His focus is on helping organizations deliver valuable, high-quality software frequently and reliably through implementing effective engineering practices.

Skill Level

  • Beginner to Intermediate

Learn How To

  • Reduce time-to-market for software products, and make releases painless, low-risk events.
  • Increase the quality and stability of the software you delivery, while reducing cost of ongoing software development.
  • Get fast feedback on the production readiness of your application by implementing continuous integration and creating a deployment pipeline.
  • Automate the build, test and deployment processes, including automating database changes and infrastructure provisioning and evolution.
  • Improve collaboration between people involved in delivering software (developers, testers, and systems administrators).
  • Reduce the risk of deployments through effective release management, combined with release engineering techniques such as canary releasing, dark launching, blue-green deployments, and the expand/contract pattern.
  • Manage continuous delivery with large and distributed teams.
  • Architect your software and infrastructure to enable continuous delivery
  • Adopt DevOps principles and practices
  • Transform your organization's culture and delivery process to enable continuous delivery.

Who Should Take This Course

  • Anyone involved in software delivery, from testers and developers to managers and systems administrators.

Lesson 1: Introduction to Continuous Delivery
This lesson introduces the key principles and practices at the heart of continuous delivery. It looks at the principles of continuous delivery and its value proposition, followed by a presentation of the core practices that make it work. It then moves on to examine the deployment pipeline, the pattern at the core of continuous delivery, and then presents a case study.

Lesson 2: Automated Acceptance Testing
This lesson dives deep into automated acceptance testing, beginning with a review of the landscape of test automation and proceeding into a discussion of architecture and process that enable effective automated acceptance testing. It then shows how to interact with the system under test and discusses how to curate suites of tests to ensure they are maintainable. Next, it shows how to deal with test failures and how to manage test data. Finally, it summarizes the key principles behind creating maintainable suites of automated acceptance tests.

Lesson 3: Continuous Integration and Feature Branching
This lesson covers continuous integration and feature branching, beginning with an overview of the two practices followed by a discussion of the various trade-offs between the techniques.

Lesson 4: Going Live
This lesson discusses how to release software into production, beginning with a presentation of the expand/contract pattern for immutable deployments. It then follows with a discussion of how to reduce the risk of deployments by decoupling them from releases.

Lesson 5: Managing Data
This lesson covers how to manage evolutionary database change, including continuous integration with databases.

Lesson 6: Devops and Infrastructure as Code
This lesson journeys into the heart of Devops, including a discussion of the key concepts followed by an examination of the core idea of infrastructure-as-code.

Lesson 7: Architecting for Continuous Delivery
This lesson covers how to architect for continuous delivery, beginning with a discussion of componentized and service-oriented architectures. It then shows how to evolve your architecture in order to support continuous delivery.

Lesson 8: Adopting Continuous Delivery
This final lesson is devoted to adopting continuous delivery, beginning with a presentation on the characteristics of high performing organizations and concluding with a discussion on deploying continuous delivery.

About LiveLessons Video Training
The LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT certification, programming, web development, mobile development, home and office technologies, business and management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons.

Table of Contents

  1. Introduction
    1. Continuous Delivery LiveLessons: Introduction 00:02:03
  2. Lesson 1: Introduction to Continuous Delivery
    1. Topics 00:00:31
    2. 1.1 Principles of Continuous Delivery 00:11:43
    3. 1.2 The Value Proposition 00:15:53
    4. 1.3 Key Ingredients of Continuous Delivery 00:16:32
    5. 1.4 Structure of the Deployment Pipeline 00:16:08
    6. 1.5 Case Study: HP LaserJet Firmware 00:18:37
  3. Lesson 2: Automated Acceptance Testing
    1. Topics 00:00:41
    2. 2.1 Overview of Automated Acceptance Testing 00:05:48
    3. 2.2 Architecture and Process for Acceptance Tests 00:12:35
    4. 2.3 Interacting with the System Under Test 00:02:33
    5. 2.4 Evolving Acceptance Suites 00:05:05
    6. 2.5 Dealing with Failures 00:05:52
    7. 2.6 Managing Test Data 00:04:20
    8. 2.7 Summary 00:02:28
  4. Lesson 3: Continuous Integration and Feature Branching
    1. Topics 00:00:20
    2. 3.1 Overview of Continuous Integration 00:06:10
    3. 3.2 Continuous Integration Trade-offs 00:12:29
  5. Lesson 4: Going Live
    1. Topics 00:00:23
    2. 4.1 An Immutable Approach to Deployment 00:07:13
    3. 4.2 Decoupling Deployment and Release 00:12:05
  6. Lesson 5: Managing Data
    1. Topics 00:00:17
    2. 5.1 Continuous Integration for Databases and Zero Downtime Deployments 00:12:38
  7. Lesson 6: DevOps and Infrastructure as Code
    1. Topics 00:00:29
    2. 6.1 Introduction to DevOps 00:15:06
    3. 6.2 Infrastructure as Code 00:15:28
  8. Lesson 7: Architecting for Continuous Delivery
    1. Topics 00:00:23
    2. 7.1 Modular Architecture and Organizational Design 00:11:41
    3. 7.2 Evolutionary Architecture 00:18:06
  9. Lesson 8: Adopting Continuous Delivery
    1. Topics 00:00:22
    2. 8.1 Characteristics of High Performance Organizations 00:11:26
    3. 8.2 Deploying Continuous Improvement 00:19:44
  10. Summary
    1. Continuous Delivery LiveLessons: Summary 00:01:33