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

Book Description

Many companies are moving away from "big bang" software releases every six months or so to a continuous delivery (CD) model that enables IT to release updates frequently, sometimes even several times a day. Using Netflix and its open source Spinnaker CD platform as examples, this practical ebook demonstrates how a new host of tools can help you deploy software changes to production quickly, safely, and automatically.

A team of experts from Netflix and Google show you how to automate deployments with Spinnaker across multiple cloud accounts, regions, and even multiple cloud platforms into continuous deployment pipelines. You’ll learn how Spinnaker enables your company to design and automate a delivery process that fits not only your release cadence but also the business criticality of your application.

  • Learn about the organizational and technical practices that enable continuous delivery
  • Understand the fundamental issues you need to solve before successfully deploying software to the cloud
  • Manage cloud resources for consistency across accounts, regions, and cloud providers
  • Use Spinnaker’s pipelines to structure deployments from customizable pieces
  • Understand how CD pipelines to Kubernetes differ from pipelines to VM-based clouds
  • Examine how Spinnaker ensures safety across cluster deployments and pipeline executions
  • Learn how to integrate automated testing techniques such as chaos engineering and automated canary analysis into the delivery process

Table of Contents

  1. Preface
    1. Spinnaker
    2. Who Should Read This?
    3. Acknowledgements
  2. 1. Why Continuous Delivery?
    1. The Problem with Long Release Cycles
    2. Benefits of Continuous Delivery
    3. Useful Practices
    4. Summary
  3. 2. Cloud Deployment Considerations
    1. Credentials Management
    2. Regional Isolation
    3. Autoscaling
    4. Immutable Infrastructure and Data Persistence
    5. Service Discovery
    6. Using Multiple Clouds
    7. Abstracting Cloud Operations from Users
    8. Summary
  4. 3. Managing Cloud Infrastructure
    1. Organizing Cloud Resources
      1. Ad Hoc Cloud Infrastructure
      2. Shared Cloud Resources
    2. The Netflix Cloud Model
      1. Naming Conventions
      2. Versioning
      3. Deploying and Rolling Back
      4. Alternatives to Red/Black Deployment
      5. Self-Service
    3. Cross-Region Deployments
      1. Active/Passive
      2. Active/Active
    4. Multi-Cloud Configurations
    5. The Application-Centric Control Plane
      1. Multi-Cloud Applications
    6. Summary
  5. 4. Structuring Deployments as Pipelines
    1. Benefits of Flexible User-Defined Pipelines
    2. Spinnaker Deployment Workflows: Pipelines
    3. Pipeline Stages
      1. Infrastructure Stages
      2. External Systems Integrations
      3. Testing
      4. Controlling Flow
    4. Triggers
    5. Notifications
    6. Expressions
    7. Version Control and Auditing
    8. Example Pipeline
    9. Summary
  6. 5. Working with Cloud VMs: AWS EC2
    1. Baking AMIs
    2. Tagging AMIs
    3. Deploying in EC2
    4. Availability Zones
    5. Health Checks
    6. Autoscaling
    7. Summary
  7. 6. Kubernetes
    1. What Makes Kubernetes Different
    2. Considerations
      1. How Are You Building Your Artifacts?
      2. Is Your Deployed Configuration and Image Versioned?
      3. Should Kubernetes Manifests Be Abstracted from Your Users?
      4. When Is a Deployment “Finished”?
      5. How Do You Handle Recoverability?
    3. Summary
  8. 7. Making Deployments Safer
    1. Cluster Deployments
    2. Pipeline Executions
    3. Automated Validation Stages
    4. Auditing and Traceability
    5. Summary
  9. 8. Automated Canary Analysis
    1. Canary Release
    2. Canary Analysis
    3. Using ACA in Spinnaker
      1. Setting Up the Canary Stage
      2. Reporting
    4. Summary
  10. 9. Declarative Continuous Delivery
    1. Imperative Versus Declarative Methodologies
    2. Existing Declarative Systems
    3. Demand for Declarative at Netflix
      1. Intelligent Infrastructure
    4. Summary
  11. 10. Extending Spinnaker
    1. API Usage
    2. UI Integrations
    3. Custom Stages
    4. Internal Extensions
    5. Summary
  12. 11. Adopting Spinnaker
    1. Sharing a Continuous Delivery Platform
    2. Success Stories
    3. Additional Resources
    4. Summary