In this introductory course, we take a look at Spinnaker as a whole to understand what concepts Spinnaker excels at as a continuous delivery tool. We'll also touch upon the microservices architecture that makes Spinnaker a unique asset in your toolkit.
If you have any feedback relating to this course, feel free to reach out to us at firstname.lastname@example.org.
- Define Spinnaker at its most fundamental level
- Explain the two primary concepts that make Spinnaker a strong solution for continuous delivery:
- Application management
- Application deployment
- Explain the service architecture that makes up Spinnaker
- Anyone who is new to Spinnaker
- DevOps engineers and site reliability engineers
- Cloud-native developers
- Continuous delivery enthusiasts
To get the most out of this course you should possess:
- An understanding of continuous delivery and what it solves for
- A strong understanding of cloud concepts
- Kubernetes knowledge is advised
- Free Spinnaker eBook - https://spinnaker.io/docs/concepts/ebook/ContinuousDeliveryWithSpinnaker.pdf
- Spinnaker Website - Spinnaker.io
- Spinnaker Community - spinnakerteam.slack.com
- Spinnaker Lab - Spinnaker Lab
Before we learn about Spinnaker. We need to talk about what it is. It helps to put things in perspective with this scenario. One day, while working at your fortune 1000 company, your fellow software engineer comes up to you and says prestigious dev ops engineer, who was always so wise and knowledgeable, we need a solution to solve our deployment issues. One that creates infrastructure hooks into our local Kubernetes stack.
All three of our redundant cloud providers has the ability to give our software teams the power to move faster in their deployments a great track record amongst the tech giants, a rich feature set included in its pipelines and I'd like to be able to manage all of this from one pane of glass.
Now you might be inclined to call your colleague a little ambitious or other choice words in their wishes. But there is a tool that exists to accomplish all of these requests. It's called Spinnaker. So let's define it. There are three Spinnaker definitions that we're going to be covering in this lecture that you should keep in mind as we move through this course.
The first is the open-source Spinnaker definition. Spinnaker is an open-source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. The second is the cloud Academy definition. A cloud-native DevOps tool rooted in the psychology of behavioral science to guide teams and developers in the right direction for continuous deployment.
The last one is the actual Spinnaker sailing definition because if you didn't know, the Spinnaker is a sail on a sailboat. A Spinnaker is a sail designed specifically for sailing off the wind from reaching a course to a downwind i.e. with the wind 90 to 180 degrees off bough. The Spinnaker fills with wind and balloons out in front of the boat when it is deployed called flying.
As we move through this course, keep these definitions in mind. Now that we know some concrete information about Spinnaker, let's talk about its feature set. You're going to be choosing Spinnaker for its rich feature set, as we'll talk about here.
First, Spinnaker is a cloud-first architecture with a strong favor in Kubernetes. It is also well-suited in abstracting away menus from cloud providers in order to get your deployment online as quickly as possible and as safe as possible. We're going to be seeing this later in future videos.
It incorporates infrastructure as code tooling. This does not mean that it is a provider like Terraform, rather it is artifact driven. These can contain containers, VMs, et cetera. These make the calls to the cloud providers in order to spin up your infrastructure and send it up to support your deployment.
Spinnaker is also focused in automated releases with robust pipeline stages, nested underneath these pipelines that can be ran in parallel and also having the power and ability for manual human interventions. This could mean that there needs to be a physical check from a software engineer, DevOps engineer reviewing and analyzing the results expected before continuing on in the pipeline.
Lastly, Spinnaker is best deployment focus. It's rooted in reliable deployment strategies, such as red/black, also known as blue/green, Canary or rolling with an optional Highlander. This Highlander methodology destroys the entire cluster to create a new one with the changes specified.
Finally, in an incredibly important point, it's behaviorally driven. Meaning that Spinnaker was designed for those who have an understanding of continuous delivery to be able to pick it up quickly, create deployments with as little friction as possible. We will cover all of these as we move through this course, but I want you to see one of the largest selling points that is coupled with this cloud first and behaviorally driven features.
The selling point that is the single pane of glass. This is it. This is the selling point. If anyone ever tried to get you in on an everything solution to a problem, you thought they were bluffing.
Now, Spinnaker is not trying to do everything here, but it does do a single pane of glass very well. Removing the painstaking navigation through countless menus in your cloud provider, just to address one item. What you're looking at is the cluster pane of glass for a specific application. We're going to be going through this in a later lecture so don't feel like you have to understand all of this diagram's information right now. We'll be navigating through it bit by bit and understanding almost every item on this diagram.
That's it. I hope you enjoyed this lecture and we'll be continuing on with the application management and application deployment overviews in the next. Hope we see you there.
Introduction - How is Spinnaker Designed? Part One - How is Spinnaker Designed? Part Two - How is Spinnaker Architected? - Conclusion
Jonathan Lewey is a DevOps Content Creator at Cloud Academy. With experience in the Networking and Operations of the traditional Information Technology industry, he has also lead the creation of applications for corporate integrations, and served as a Cloud Engineer supporting developer teams. Jonathan has a number of specialities including: a Cisco Certified Network Associate (R&S / Sec), an AWS Developer Associate, an AWS Solutions Architect, and is certified in Project Management.