Site icon Bizety: Research & Consulting

Spinnaker vs. Jenkins

Continuous delivery (CD) platforms help DevOps teams manage software releases in short cycles, ensuring they are delivered safely, reliably and quickly. The goal is to reduce the costs, time and associated risks connected to building, testing and delivering changes by enabling a more incremental and regular approach towards updating applications in production. The debate over whether Spinnaker or Jenkins is the better CD platform has been around for some time.

Originally created at Netflix, Spinnaker now has the backing of Google and several other major software companies. Last week, TechCrunch dubbed the open source CD platform as “the next big open source project to watch.” Its users include Target, Capital One, Adobe and Daimler and a developing ecosystem of vendors. In recent developments, the Spinnaker project announced it was putting a formal governance structure in place at its second community summit recently held in Seattle.

Jenkins, meanwhile, is an automation server to build, test, and deploy. While both CD are tools used for software updates, there are key differences. Spinnaker is not a build tool, but a deployment tool, with a focus on the cloud.

Continuous delivery (not continuous deployment)

While the two terms are often used interchangeably, there is one key difference between continuous delivery and continuous deployment. Continuous delivery (CD) means implementing a series of practices to ensure that software can be deployed, rapidly and safely, at any time. With continuous delivery, the deployment to production is manual. With continuous deployment, however, the process is automatic. It is the next step of continuous delivery: every change that passes the automated tests is automatically deployed to production.

Both continuous delivery and continuous deployment shorten software production cycles. Both are meant to create an environment in which software can be built, tested, and released with greater speed, and at a greater frequency.

Continuous integration (CI) is often a key part of CD. CI is a development practice whereby developers are required to integrate their code into a shared repository multiple times a day. It allows errors to be detected quickly and easily so that less time is spent backtracking to discover where something went wrong and there is more time for building features.

Spinnaker

Netflix publicly released Spinnaker in 2015, making it available on GitHub, at which time they described it as “an open source multi-cloud Continuous Delivery platform for releasing software changes with high velocity and confidence.” Since then, not only has it been tested in production in over millions of deployments, it has also gotten backing from Google and other major software companies (notably, Amazon and Microsoft).

Spinnaker has been making news recently because of the announcement that it is putting a formal governance system in place. Spinnaker will now have both a technical steering committee, and a steering committee. Netflix’s Director of Engineering, Andy Glover, explained the decision, saying, “The project has largely been run by Netflix and Google. We’ve taken any questions from the community and big companies, whether they be Cisco or Target, about trying to figure out ‘What’s the deal here?’ How do we how do we reduce risk, how do we guard ourselves from Netflix closed-sourcing it or Google’s deciding to license it or something like that.” Deployments have not only been tested with Netflix, but 100% of Waze’s production deployments since 2016 have been handled by Spinnaker. As Spinnaker has grown beyond Netflix, in order to scale, putting together a formal governance structure is an important step in that process. The new governance policy is also an important step to getting other developers involved as it outlines how developers can commit code to the project.

Here are some of Spinnaker’s features:

Jenkins

Jenkins is an “open source automation server which enables developers around the world to reliably build, test, and deploy their software.” At 100,000 installations, Jenkins is the most widely-deployed automation server. Jenkins can be used to automate tasks related to software deployment, whether building, testing, delivering or deploying. Jenkins can run standalone by any machine with Java Runtime Environment (JRE) installed, or it can be installed through native system packages Docker.

Jenkins features include:

One of Jenkins’ continuous delivery tools is Blue Ocean. Blue Ocean is a user experience designed for the Jenkins Pipeline. Pipeline is the suite of plug-ins that support integrating continuous delivery pipelines into Jenkins. Blue Ocean allows users to create visualizations of CD pipelines, aiding a better comprehension of a pipeline’s status. Blue Ocean allows people to follow, through a visualization, as a pipeline executes.

Spinnaker vs. Jenkins

Some people use Spinnaker and Jenkins together, since Spinnaker has a native Jenkins API, which delegates compilation and packaging. Originally, Jenkins was not built specifically for continuous delivery, but the Jenkins 2.0 release had an added focus on CD.

Here are some of the key differences between them:

Spinnaker and Jenkins, however, can work well together. Jenkins is a build tool, and Spinnaker allows for easy deployment. As a use-case, some groups at Netflix use Spinnaker and Jenkins. Part of the reason Spinnaker has the features it does is because Jenkins’ Pipeline functionality was not available to Netflix when they began building Spinnaker. Since they rely on Jenkins for their builds, they created the transition between Jenkins and Spinnaker stages to be seamless. There are teams at Netflix, for example, that do not use the Spinnaker pipeline functionality, and instead, in their Jenkins jobs, use the Spinnaker API. They use this as a shortcut to deploy to AWS. Spinnaker can break down Jenkins jobs into automatic, reusable tasks, and they do this around one application.

Spinnaker is not meant to replace Jenkins. Its goal is to make deploying to the cloud simpler, as well as more extensible. Spinnaker’s new governance policy shows Spinnaker’s commitment to growth, and there has been talk of whether it will land at one of the major open source foundations, such as the OpenStack Foundation, the Linux Foundation, or the Apache Foundation. With Google, Amazon, and Microsoft now backing the project, and with Spinnaker running on their clouds, Spinnaker is poised to grow. While it will never be part of the build of the project, it does aim to make deployment more seamless, and more flexible.

Copyright secured by Digiprove © 2018
Exit mobile version