Why Open Source Is Essential for DevOps and Continuous Delivery
Open source software is eating the DevOps world.
Not only do open source solutions allow teams to innovate faster and at a lower cost, they are also vital for helping your DevOps team to make the very most of its continuous delivery processes and pipeline.
This article explains why open source is so essential for doing DevOps right, and points to some key examples of how open source can turbocharge your DevOps workflow.
Why Open Source?
Open source is valuable in more ways than we can enumerate in this article, but its chief benefits include the following:
It’s free or low-cost: You usually don’t have to pay money to acquire open source software. And when you do, the costs tend to be lower than for closed-source alternatives.
It’s based on open source code and open standards: this empowers you to extend and customize open source code to your heart’s content. Why embrace a proprietary software solution that you can’t modify when you could take open source code and tailor it to your needs?
It’s lean and mean: the customizability of open source means that open source products are usually more efficient and lighter-weight than closed-source alternatives. Want to use Windows Server? Then you have to install and run everything that Microsoft bakes into Windows Server. With Linux, in contrast, you can customize your system so that it includes only the tools and processes that you need. Don’t want a GUI? With Linux, you don’t have to waste resources running one. Have no need for a web browser? You can get rid of that, too. (Good luck trying to do the same thing on Windows by uninstalling Internet Explorer.)
It has a thriving ecosystem: there are something like 4.8 million open source projects on GitHub alone. There are millions of developers writing to open source code, and thousands of companies supporting its development. This means that by joining the open source ecosystem, you become part of a thriving, dynamic world where new and better solutions are being pushed out all the time.
Everyone’s doing it: Okay. Just because everyone is doing something doesn’t necessarily mean you should, too. But in the case of open source, there are good reasons to jump on the bandwagon. As Black Duck Software notes, open source is now the “default approach” for software in the enterprise. If you want to operate like successful companies, you should adopt open source.
Open Source and DevOps
The above discusses the benefits of open source in general. But what does open source do for DevOps in particular?
In a word, everything. Consider the following ways in which open source optimizes continuous delivery pipelines:
It keeps software delivery agile: Because open source is so customizable and open, it allows you to choose between different frameworks. Are you developing in PHP today, but want to migrate to Ruby? Since these are both open source languages, no proprietary lock-in or vendor secrets will prevent you from migrating from one framework to the other. That’s important in DevOps, where agility and flexibility are essential.
It maximises visibility: the ability of everyone on the DevOps team to view and understand the state of application development is a key DevOps principle. Open source assures that visibility by allowing you to drill down to the code level of all of the tools you run. You can’t do that if you use proprietary tools within your pipeline. They are just black boxes.
It’s what your DevOps engineers know and love: chances are good that your DevOps team is already familiar with and fond of open source solutions. If you want to hire the best developers and keep them happy, you should be using open source tools. Few talented people are going to want to work for you if you run an obscure, highly proprietary platform that they’ll have to learn to use. But they’ll love it if they can work for you using the same open source toolchain they already know like the back of their hand.
It’s well documented and well supported: when you’re delivering continuously, no one has time to stop and call a proprietary vendor for support when a problem arises. But if you rely on proprietary tools, you will face these delays, because the vendor is the only entity with the specialized expertise necessary to troubleshoot many of the problems that can occur. With open source, by contrast, you can solve problems for yourself. Everything is publicly documented, and support is easy to obtain from other experts in the community.
It’s easy to integrate and automate: in a successful continuous delivery pipeline, your various tools and processes should be integrated with one another and automated so that they do their job without manual intervention. That’s hard to do when you are using closed-source solutions that the vendors may or may not have designed to work with one another, or to be deployed automatically. With open source, because everything is open, integrations and automations are easy to implement—or, in many cases, they have already been implemented by someone else in the community who will happily share the innovations with you.
The list could go on, but the bottom line is this: if you’re still relying on highly proprietary, old-guard IT solutions, you’re doing software wrong. Open source is the future, especially for organizations making the transition to DevOps and continuous delivery. You simply can’t thrive without it.