Skip to main content

A utility for performing blue-green deployments on AWS Auto Scaling Groups.

Project description

Warning

Turquoise is still in development and will see major changes as it evolves.

Turquoise is a CLI utility for performing blue-green deploys on AWS Auto Scaling Groups. When invoked, it will create a new auto scaling group with the specified AMI, wait until all instances have booted and are passing health checks (including ELB health checks if applicable), and the delete the old auto scaling group.

Although Amazon CloudFormation has a rolling update feature for auto scaling groups, it does not take into account ELB health checks, which can cause periods where no instances registered in the load balancer are healthy, leading to downtime.

Usage

You’ll need two things to use Turquoise: a base name and an AMI.

The base name is an string of your choosing. Turquoise will use the base name to construct a name for the new auto scaling group. The new name is the base name plus a hyphen plus the current unix timestamp. For example, if your base name is my-asg, a new auto scaling name might be my-asg-1459314750.

The base name will also be used to find the current auto scaling group. Turquoise will search for auto scaling groups that a name equal to the base name or a valid name constructed from the base name. If multiple auto scaling groups are found, the one with the latest timestamp will be used.

To obtain an AMI ID, we recommend using Packer to automate building an AMI. However, any valid AMI will work.

With those in hand, using Turquoise is easy:

turquoise [base name] [ami id]

Turquoise uses boto, so you can authenticate yourself with AWS using the credentials file or environment variables.

Give it a few minutes to finish running and you’ll have a new auto scaling group running instances with your new AMI.

Project details


Release history Release notifications

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
turquoise-0.1.0.tar.gz (4.6 kB) Copy SHA256 hash SHA256 Source None Mar 30, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page