The 101 on what each stage does and how it benefits your CD process
by Jenny Medeiros
Since you’re here, it’s reasonable to assume that you’re already aware of the Spinnaker platform or have at least heard enough good things about it to dig deeper. It’s also reasonable to guess that you’re a tad fuzzy on Spinnaker deployment workflows.
We know that pipelines allow deployments to be managed in a safe, consistent, and repeatable way; but how does Spinnaker in particular help with that?
In a blog post introducing Spinnaker as Netflix’s proudly open source, multi-cloud CD platform, it’s said to be “designed with pluggability in mind” and provides a number of stages (such as Deploy, Resize, Disable, Manual Judgment, and more) which you can sequence in a pipeline in the order of your choosing.
Let’s briefly go through Spinnaker’s customizable stages to give you a better idea of how they can benefit your CD process.
These are the time-consuming stages which usually bog down developers tasked with deploying to multiple cloud providers. Spinnaker simplifies this process by abstracting the specifics of each cloud environment so that your team can effortlessly deploy to each one (and jump onto something else).
Examples of infrastructure stages include Baking (create an AMI or Docker image), Tag Image, Find Image, Deploy, Disable/Enable/resize/Shrink/Clone/Rollback/Server Group, Run Job (run a container in K8). If any of these made you stressed just thinking about them, then maybe it’s time to switch your CD process up.
External systems integrations
Spinnaker is able to seamlessly integrate with CI workflows so you can chain together logic performed on systems outside of Spinnaker. Examples include Run Job, Webhook, and CI systems like the ever-so-popular Jenkins. (This also means existing functionality already built into Jenkins can be reused when migrating to Spinnaker.)
Here’s the selling point for most Spinnaker adopters. Chaos Automation, Citrus Squeeze, and Canary; having these tests automated takes a load off developers who usually have to babysit the entire process. Now teams can iterate quicker and can be confident that complex best practices are being followed for each software release.
Controlling pipeline flow
This is where you can control the flow of your pipeline. The stages are: Check Preconditions, Manual Judgment, Wait, Run a Pipeline. Although Spinnaker aims to streamline your deployment process by “automating all the things,” it still offers manual controls so you can stay on top of your own deployment workflow.
Pipelines are controlled by triggers. These can be time-based (Manual, Cron) or event-based (Git, CI, Docker, Pipeline, Pub/Sub). Most Spinnaker pipelines are set up to be triggered by events, like a git event (commit) or a Jenkins job being completed successfully.
You can combine these triggers to create a highly customized workflow using custom scripted logic and the built-in Spinnaker stages.
While automation is all well and good, your team will still want to be informed on the status of events. Spinnaker pipelines can be configured to send notifications via email, SMS, Slack, Hipchat, and Pub/Sub systems. Whether the pipeline is starting, succeeding, or failing — your team will be the first to know.
Netflix has always prided themselves in having built a superbly flexible platform. ‘Expressions’ is one way you can customize your pipeline so it does exactly what you want without the need to build custom stages. You can use the Check Preconditions stage to choose the branch of your pipeline based on specific parameters or data from a trigger.
Version Control and Auditing
Easy rollbacks make deployments safer. All Spinnaker pipelines are stored in version control so you can easily fix things and confidently make changes with the knowledge that you can simply revert.
As for auditing, Spinnaker maintains a history of each pipeline execution and each task that is run so you can be compliant when dealing with sensitive information.
Need more info?
To learn more about these stages (in much more technical detail), check out Spinnaker’s free ebook on Continuous Delivery. It’s packed with implementation tips and success stories you might like too.
If you’re a company (or a leading developer) interested in adopting Spinnaker to deploy great software with the confidence that nothing will break, then you should definitely attend the Spinnaker Summit this October. From keynotes by companies like Netflix and Google to case studies and bar-hopping networking events, it’s a round-up of experts you don’t want to miss. (Psst! If you need a little help to get to the summit, you can apply for a Spinnaker Scholarship. They’ll help you out.)
Jenny Medeiros is an engineer by degree turned writer by trade. She spent her first years working with Virtual Reality in South America before moving onto UX-focused Web Design and Development in Washington D.C. Now as a serial remote worker, she partners with tech-savvy companies to create content that helps people and computers understand each other better. In her spare time, she hangs with Netflix and often asks Alexa how to fold a fitted sheet.