Spinnaker Training Series #2: Spinnaker Concepts

Jan 2, 2018 by Armory

Ethan Rogers, resident Spinnaker expert, explains how to use Spinnaker platform concepts to manage and deploy applications.

A Transcript of the video is available below:

Ethan: Hey guys I am Ethan, your Spinnaker expert. Thanks for joining us for another instalment of our Spinnaker training series where we teach you how to be effective and use Spinnaker. Today we are going to be talking about a number of concepts that you will find out throughout the platform and how to use them to manage and deploy your application. We will start at the bottom, work our way to the top, so that we have a solid foundation moving forward. At the base, we have a server group which is a single deployable factor than Spinnaker and contains basic configurations settings about your application such as the number of instances, the scaling policies and the resource requirement for application. We click on a server group represented by this large block in the UI, we can see a lot of information that is pertinent about the server group such as the capacity, the health and any scaling policies that we have attached. You can also see a bunch of different actions that we can take such as rollback, resize or clung.
Server groups are also vagant meaning that we can track the changes to our application on its deployed stage over the life cycle of our application and rollback to previously known good state if something were to go wrong. All server groups are rolled up under a cluster. A cluster is just a Logical grouping of server groups that define a specific environment. That environment could be test, stage or prod. Each version of the server group is represented under its respective cluster. Clusters are all rolled up under applications which give a specific simple point to manage the configuration of our application.
We can also define pipelines and pipelines are perhaps the bread and butter of Spinnaker. Pipelines are the main deployment component with Spinnaker and they make up a…they are made up of a sequence stages used to represent a deployment workflow by creating or modifying any of these clusters or server groups. They can be a simple or as complex as necessary. Pipelines are started at various stages without the…throughout the software development process such as pushing code to Github, a successful build by Jenkins or a new Docker image hitting your repository. Here we can see that we have a Jenkins job triggering this Spinnaker pipeline followed by a bake stage which takes the artifact produced by Jenkins and bakes into an AMI. The next step, we take that AMI and deploy it to a server group in AWS. Spinnaker provides all of these abstractions so that we have a common language when talking about deployments regardless the cloud provider that you are using. By giving everyone a common interface we can avoid having to re-invent the wheel for each new application or service being developed.
I hope today’s video has been helpful in expanding your understanding of Spinnaker and give you the confidence you need to deploy your next application. Thanks for watching.

Recently Published Posts

Spinnaker tips: Integration of Terraform & Kubernetes in a pipeline

Dec 8, 2023

Spinnaker is an incredibly powerful platform that lets you deploy to multiple locations and targets concurrently. An example of this includes armory plugin which lets you call terraform and capture the output of terraform commands (this is similar to how you can capture logs from RunJobs https://spinnaker.io/docs/guides/user/kubernetes-v2/run-job-manifest/#capturing-output but our integration is a deeper integration and […]

Read more

Spinnaker Tips: Setting a github status check on a PR from a pipeline

Oct 12, 2023

A common situation we hit is creating a pull request on github with some terraform changes that are run through our pipelines. We’d like to verify the terraform changes cleanly “plan” before we apply them. An example is when someone has a typo (how many times I’ve left dangling commas in a JSON object!) and […]

Read more

Introducing Pipelines-as-Code Plugin for Open Source Spinnaker

Jul 21, 2023

Easily Scale and Automate with Version Control in Git Developers choose best-of-breed version control systems like GitHub for a reason: they need the ability to collaborate and improve code together.  But a broken Spinnaker deployment pipeline can often be the last thing standing in the way of getting your application to market.  Until now. Armory’s […]

Read more