Since 2017, enterprises have been investing in a multi-cloud strategy for higher availability of applications and to avoid vendor lock-in. While that's all well and good for the enterprises, it's not very fun for the DevOps teams who are left configuring and customizing specific deployments for different cloud environments.
Here's where Spinnaker enters the software development scene as a game-changing CD platform for faster and easier multi-cloud deployments. Unlike existing toolchains that aren't equipped to tackle deployments to diverse cloud platforms, Spinnaker was designed for this very purpose from the get-go.
Here are a few key reasons how Spinnaker can help you deploy to multiple cloud environments quickly, safely, and reliably.
1. It's designed for multi-cloud deployment strategy
Let's start with a bit of history. According to the recent webinar "Get to Know Spinnaker," Netflix was growing tired of relying on various internal tools to support their multi-cloud, CD workflow. With Asgard only capable of deploying to AWS, Netflix began to dream of a flexible platform capable of deploying to multiple cloud environments (without the hassle).
For help with this monumental task, Netflix approached big tech companies like Google, Amazon, Microsoft and others for a collaborative project which resulted in a pluggable, cloud-native platform now known as "Spinnaker".
Thanks to Spinnaker's modular and extensible architecture, DevOps teams can add diverse cloud deployment targets and manage them all in one place. This leaves developers free to focus on writing better code instead of fiddling with all the different requirements for every single cloud environment.
2. Out-of-the-box deployment strategies
Spinnaker offers safeguards to ensure your new version of software won't negatively impact your users (or your organization). Currently, the platform features three deployment strategies for increased safety:
Highlander: In this strategy, the new version is pushed into a server group. Once it determines that the new version is healthy, it automatically terminates all other server groups so only one is left active.
Red/Black: This is the same as Blue/Green deployments, but Netflix seems to really like the colors red and black. This strategy runs two identical production environments, where only one is active at a time. The testing environment is activated unless a problem is found and the older environment is made active instead.
Rolling push: This strategy rolls out the new version incrementally. As each instance is replaced with the new version, the old instances are automatically deleted.
3. Advanced Automated Canary Analysis (ACA)
Automated Canary Analysis (ACA) is one of the most popular techniques for reliable software delivery.
ACA replaces manual processes with computed analysis to guarantee only safe and stable deployments reach production. Essentially, it measures key metrics of the new version against those of the current version. If the metrics show an unfavorable difference, then traffic will be automatically redirected back to the current version.
Spinnaker makes ACA easy by featuring a canary stage in its pipelines. This stage uses advanced statistics and analytics before making the decision to continue, roll back, or prompt manual judgement. With Spinnaker's canary stage, developers can confidently roll out new software versions to any cloud environment without spending hours staring at graphs.
If you want to know how Netflix teams use ACA for their own deployments, check this post. You can also sign up for the Automated Canary Analysis Workshop at Spinnaker Summit this October led by Software Engineers from Google and Netflix.
Speaking of the Summit, there's not much time left to register for your full-access pass. From keynotes and expert panels to networking and a Google-sponsored Spinnaker party, you'll definitely want to make sure you're on the attendee list. Get your ticket here!