Many organizations are using a combination of Jenkins and a tool like Ansible, Puppet, Chef or Salt to automate their CI/CD pipelines but find themselves having to do many steps manually or by using a series of scripts that can be hard to maintain. Many organizations manually move software from Development to Staging to Production with time-consuming manual processes. Spinnaker can fully automate these processes. Spinnaker can fully integrate with common CI/CD tools such as Jenkins, SonarQube and Artifactory but adds an additional layer of automation making it possible to automate software deployments to Development, Staging, and Production eliminating many manual steps. Spinnaker also automates the creation of Canary Analysis and Blue/Green environments. Many large organizations including Netflix and Google use Spinnaker. Spinnaker was developed at Netflix and Google to automate their huge volume of CI/CD pipelines but both large and smaller organizations can benefit from the automation that Spinnaker brings.
Jenkins is for Continuous Integration vs. Spinnaker is for Continuous Deployment
Jenkins is currently the most popular Continuous Integration Tool. It has an extensive community and catalog of plugins available. Spinnaker is a Continuous Deployment Tool. It provides the ability to manage continuous deployment pipelines with multiple deployment strategies and the ability to roll back easily to previous versions.
Spinnaker is not a build tool
Spinnaker was never intended to be a build tool. Spinnaker takes advantage of existing build tools like Jenkins to start jobs and to monitor their progress and their results. Spinnaker can make the deploy phase much more flexible. The Jenkins pipeline can extend beyond CI to CD but this functionality was more of an afterthought. Jenkins was never designed for cloud deployment so there is a need for external scripts to move the process forward.
Spinnaker offers built-in support for creating load balancers, resizing clusters and rollbacks
Spinnaker was built to combine CI and CD for streamlined, multi-cloud deployments. Spinnaker offers built-in support for doing things like creating load balancers, resizing clusters and executing rollbacks. Spinnaker offers native support for basic and advanced deployments without the need for custom code and scripts.
Spinnaker provides visibility into your entire deployment pipeline
Spinnaker has an all-in-one dashboard that allows you to monitor compilation, baking, deployment and resource management for multiple cloud environments. Spinnaker combines all the capabilities of existing deployment and management tools into a cohesive, cloud-agnostic package. Jenkins needs extra help to take an application from package to production.
Spinnaker Supports Comprehensive Set of Cloud Providers
Jenkins lacks capabilities as a complete deployment tool, especially for the cloud. Spinnaker has a richer deployment model with a master dashboard and native support for major cloud providers. Spinnaker still relies on a build server and must integrate with tools like Jenkins. Jenkins as a CI tool cannot be replaced by Spinnaker but Spinnaker can be used to make the deploy to cloud process much simpler.
Spinnaker Supports built-in deployment strategies
Spinnaker offers built-in deployment strategies like blue-green, canary, rolling updates and Highlander. Also, Spinnaker’s automated Canary Analysis capabilities far surpass any features offered by Jenkins.
What about new Jenkins capabilities?
Blue Ocean plugin has been added to Jenkins for more modern visual pipeline composition and continuous delivery tool but it lacks the richness of the Spinnaker. Jenkins X has also been developed to support Kubernetes. Jenkins X provide developers a better way to automate their CI/CD process for Kubernetes than Jenkins alone but still lacks the capabilities of Spinnaker deployment model. Also, Spinnaker is a true multi-cloud deployment tool with the widest support for deployment environments and it continues to expand.
We would love to hear your feedback on this topic, please leave us a comment below.
This blog was authored by Henry Kendall