Chapter 5. Working with Cloud VMs: AWS EC2

Now that you have an understanding of continuous deployment and the way that Spinnaker structures deployments as pipelines, we will dive into the specifics of working with cloud VMs, using Amazon’s EC2 as an example.

For continuous deployment into Amazon’s EC2 virtual machine–based cloud, Spinnaker models a well-known set of operations as pipeline stages. Other VM-based cloud providers have similar functionality.

In this chapter, we will discuss how Spinnaker approaches deployments to Amazon EC2. You will learn about the distinct pipeline stages available in Spinnaker and how to use them.

Baking AMIs

Amazon Machine Images, or AMIs, can be thought of as a read-only snapshot of a server’s boot volume, from which many EC2 instances can be launched.

In keeping with the immutable infrastructure pattern, every release of a service deployed via Spinnaker to EC2 first requires the creation (or baking) of a new AMI. Rosco is the Spinnaker bakery service. Under the hood, Rosco uses Packer, an extensible open source tool developed by HashiCorp, for creating machine images for all of the cloud platforms Spinnaker supports.

A Bake stage is typically the first stage in a Spinnaker pipeline triggered by an event, such as the completion of a Jenkins build or a GitHub commit Figure 5-1. Rosco is provided information about the artifact that is the subject of the bake, along with the base AMI image that forms the foundation layer of the new image. After ...

Get Continuous Delivery with Spinnaker now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.