Apr 28, 2017 by Armory
Spinnaker is a collection of sub-services that work together to form the Continuous Deployment platform.
Each service follows the single-responsibility principle which allows for faster iteration on each individual component and a more pluggable architecture for custom components.
However, this means that standing up the OSS version of Spinnaker as well as upgrading it can be convoluted due to having to install, configure and upgrade each service manually. Armory Spinnaker’s distribution of enterprise Spinnaker is designed to make Spinnaker easily upgradable.
Below is the list of each sub-service and a short explanation of what it does:
Clouddriver is a core component of Spinnaker which facilitates the interactions between a given cloud provider such as AWS, GCP or Kubernetes. There is a common interface that is used so that additional cloud providers can be added.
Deck is the interactive User Interface for visualizing the state of cloud resources. Deck depends on Gate to interact with the cloud providers.
Echo is the service for Spinnaker which manages notifications, alerts and scheduled pipelines (Cron). It can also propagate these events out to other REST endpoints such as an Elastic Search, Splunk’s HTTP Event Collector or a custom event collector/processor.
Gate is the front-end API that is exposed to the users of your Spinnaker instance. It also manages authentication and authorization for sub-service APIs and resources with Spinnaker. All communication between the User Interface and the back-end services happen through Gate.
Igor is an API which communicates with Jenkins. It takes data from Jenkins then turns the data actionable within Spinnaker.
Orca is responsible for the orchestration of pipelines, stages and tasks within Spinnaker. It acts as the “traffic cop” within Spinnaker making sure that sub-services, their executions and states are passed along correctly.
The smallest atomic unit within Orca is a task – stages are composed of tasks and pipelines are composed of stages.
Rosco is the “bakery” service. It is a wrapper that uses Hashicorp’s Packer command line tool which bakes images for AWS, GCP, Docker, Azure, and other builders.
Lighthouse is a small, lightweight service written by Armory and is part of Armory Spinnaker’s distribution. Its job is to monitor the health of the Spinnaker sub-services, taking action when needed. Additionally, Lighthouse provides functionality for upgrading the Spinnaker sub-services.
Software deployment processes differ across organizations, teams, and applications. The most basic, and perhaps the riskiest, is the “big bang deployment.” This strategy updates all nodes within the target environment simultaneously with the new software version. This deployment strategy causes many issues, including potential downtime or other issues while the update is in progress. It […]
Read more →
Multi-target deployments can feel tedious as you deploy the same code over and over to multiple clouds and environments — and none of them in the same way. With an automatic multi-target deployment tool, on the other hand, you do the work once and deliver your code everywhere it needs to be. Armory provides an […]
Read more →
KubeCon+CloudNativeCon EU is one of the world’s largest tech conferences. Here, users, developers, and companies who have and intend to adopt the Cloud Native standard of running applications with Kubernetes in their organizations come together for 5 days. From May 16-20, 2022, tech enthusiasts will congregate both virtually and in person in Valencia, Spain to […]
Read more →