Spinnaker is an open-source, multi-cloud continuous delivery platform that helps you release software changes. Created at Netflix, it has been battle-tested in production by hundreds of teams over millions of deployments. It combines a powerful and flexible pipeline management system with integrations to the major cloud providers. (source:)
Like Spinnaker, GitLab is also open source and also provides a flexible CD pipeline management system, is able to deploy to major cloud providers, and also offers advanced deployment patterns such as canary and incremental (rolling) deployments. In addition to this, GitLab provides not just the CD portion of the SDLC, but also everything else from planning, to CI, to testing, packaging, monitoring, and security scanning, all in a single application.
Spinnaker provides two core sets of features:
Application management: This is primarily to view and control your cloud resources. In Spinnaker an Application is modeled along the lines of Microservices. An application contains clusters, which consists of Server Groups. The Application also models Load Balancers and Firewalls.
Application deployment: This construct is used to model and manage continuous delivery workflows. A key element of Application Deployment is the Pipeline. A pipeline consists of a series of actions or stages which can be executed manually or automatically triggered. Parameters can also be passed from one stage to another and used for further actions.
At a macro level Spinnaker provides a normalized taxonomy of artifacts and actions that can apply across cloud providers. Using this normalized taxonomy one can build complex pipelines for a cloud provider or across cloud providers.