DevOps and Open Source — Why Does This Duo Work so Well?
Open-source software is growing in demand and is beginning to play a pivotal role in the evolution of the DevOps toolkit.
Join the DZone community and get the full member experience.
Join For FreeOpen Source is DevOps heaven. The world of Open Source and DevOps cultivate each other to create a virtuous circle of innovation, collaboration, and sharing.
Imagine a world where everything would be free and accessible, the result of collaboration and the goodwill of human brains to perpetually innovate together selflessly. This dream is called Open Source.
An agile, fast, reliable, secure, and automated world? Do you think DevOps? Do you think this is all in the future? Yes, indeed, but it is already present today.
What Is Open Source Exactly?
First, a bit of history.
Computers were created for research, passing from hand to hand, before entering the business world, which made affix a paid license on the software to access it, "Vendor Lock-in."
In 1983, in reaction to the increase in the price of proprietary software and its lack of agility, Richard Stallman presented himself as the Robin Hood of software.
Through his association with the Free Software Foundation (FSF), the professor emeritus of MIT then created the GNU project intending to create an operating system like UNIX but free "GNU." The utopian version of Open Source, Free Software, is created.
In 1998, Eric Raymond showed pragmatism and divided the free world while keeping the essential "Free" quality of software to adapt Free Software to the world of business and profits.
"Free" means both "Free" and "Free." This being subject to terminological interpretation and not adapted to the business world, Open Source ("open") becomes the reference for free software: the Open-Source Initiative movement is created.
Thus, the terms Free Software and Open Source know no real difference in license, but their distinctions remain at the level of philosophy and values.
One approaches a social movement by advocating justice and freedom (Free Software), while the other sees a development methodology by advocating a practical advantage to free software (Open Source).
What is commonly called today, in the sense of the Debian GNU/Linux project, "Open Source" is independent free software distributed under a license (GPL, MPL, BSD, etc.) whose source code is accessible and can be modified and then distributed by all, the software is therefore not fixed.
The reputation of Open Source evolves and can often be subject to mistrust or covetousness. While the giant Microsoft, owner of "lock-in," at war against Open-Source in 2001, declared "Linux is cancer," its CEO, Brad Smith, recently confessed to having been "on the wrong side of History in terms of Open-Source" and became one of its greatest defenders.
What Is DevOps Exactly?
DevOps makes it possible to deliver new features directly to end users in an automated way through continuous integration by testing each code revision in an automated way before deploying them (continuous deployment).
DevOps and its Open-Source tools:
DevOps needs:
The principle of DevOps consists of allowing new functionalities to be developed without affecting the infrastructure's stability.
Everything that is developed and tested is quickly accessible to the end user. For this, DevOps combines the role of two major players: the developer for the development of the functionalities and the Ops, which holds the structure and its stability in place.
Therefore, DevOps needs tools to collaborate and evolve quickly and in an automated way to gain speed, security, and reliability for an ever more qualitative rendering.
Thus, DevOps accelerates the transition from the project in the development phase to the deployment phase in production to bring value quickly and continuously to users.
The Characteristics of the Perfect Tool, Open Source
Open Source has many advantages, particularly in line with the needs of DevOps:
- Cost Free: However, hosting, integration, and potential training and support costs must be considered. But it remains well below the proprietary software market.
- Independence: The code is independent and does not contain any link to paid software (KDE Qt and Troll tech case law). Everything that is Open Source stays Open Source and grows Open Source.
- Innovation: An express development of innovation. Pooling for collaborative development and continuous innovation of the same source code. The open-source software contribution system promotes creativity. Their quality is superior to proprietary software.
- Transparency: The source code is published, and its evolution is visible. We can thus be sure that there is nothing malicious.
- Flexible: The codes are highly agile and can be integrated with pre-existing software.
- Security: The codes are public and therefore analyzed by hundreds of experts. The slightest flaw is analyzed and corrected.
- Speed: The Open-Source community is more reactive on the quality of a code and its development than a traditional commercial supplier.
- Quality: They remain efficient for a long time, unlike proprietary software. The software is continuously developed according to needs.
Which Open-Source Tools to Deploy for Which Actions?
Today, IT giants are battling for the biggest contribution to Open Source. After the substantial contribution of IBM, Microsoft is accelerating with the Public Cloud and Azure and becoming the most significant contributor to Open-Source projects concerning companies through Linux (Azure Sphere) and the GitHub platform/ Gitops (takeover in 2018).
Thus, the internet sees the number of software significantly increase. Here is a list of useful Open-Source tools to navigate:
- A development collaboration platform: Github, "The house of developers," or Gitlab
- Deployment: Ansible, CFEngine
- An integration platform: Jenkins, GitlabCI (used at Padok)
- A container management platform: Kubernetes, Docker, Mesos
- Web browser: Chromium
Open Source or Inner Source
The 2019 State of DevOps study highlights that an organization cultivating collaboration, transparency, and knowledge sharing demonstrates significantly higher efficiency and security.
Thus, Open Source has gone so far as to inspire companies to duplicate the system and its values within their organizations, "The Inner Source."
By integrating all development teams, formerly compartmentalized, within the Inner Source, all the software of the same brand is linked together and demonstrates efficiency through their collective synergy.
An inner Source is an Open Source internal to a company not accessible to the outside, which makes it possible to share collective intelligence. Decentralized teams from the same company, which are not used to working together, can access codes developed by another team. Therefore, a local problem can be solved by the intelligence of another team.
This system promotes problem-solving, knowledge sharing, the development of innovation, and the quest for continuous improvement.
While the Fintech Stripe study highlights a need for companies to recruit more and more developers, it turns out that they spend more time correcting tasks that have already been completed: bugs or technical debt.
Better management of resources would entrust the SREs with the responsibility of stemming these errors from the program's design to let the developers focus on quality and innovation.
DevOps and its Open Source share a fusional love while remaining very interested. The interest of one feeds the improvement of the other.
They develop mutually with a view to collaboration, pragmatism, and continuous improvement. Open Source sees an ever greater and ubiquitous future in this world of cooperation where everything seems interconnected.
Opinions expressed by DZone contributors are their own.
Comments