Spinnaker Sub-Services: Clouddriver, Deck, Echo, Gate, Igor, Orca, Rosco, Armory Lighthouse
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.
- Armory Lighthouse
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.
Recently Published Posts
How to Take the Pain of Rollbacks out of Deployments
Software applications have become an integral part of the business climate in most modern organizations. With an ever-increasing demand for new features and enhancement of already-existing ones, software teams constantly face novel challenges, and the pace of software development is growing by the day. To keep up with this fast-paced business climate, software teams […]
Read more →
Monitoring Spinnaker: Part 1
Overview One of the questions that comes up a lot is how you monitor Spinnaker itself. Not the apps Spinnaker is deploying, but Spinnaker itself and how it’s performing. This is a question that has a lot of different answers. There are a few guidelines, but many of the answers are the same as how […]
Read more →
The Importance of Patents: Interview with Nick Petrella, Head of Legal
In honor of Armory’s recent acquisition of a patent for continuous software deployment, we sat down with Nick Petrella, Head of Legal, for a casual conversation covering a wide range of subjects, from patent law to Nick’s background as a software engineer and why he made the leap to the law. Check out […]
Read more →