A self-reinforcing cycle of innovation exists in technology, pushing the boundaries of development and usage. The emergence of new technology captures global attention, and people begin experimenting, discovering novel applications and approaches to maximize its potential. These use cases generate significant value, driving demand for the next iteration of innovation, which, in turn, creates a new wave of innovators and further advancements.
Containerization has become the cornerstone of modern, cloud-native software development, supporting innovative use cases and approaches to building resilient, scalable, and portable applications. It also holds the key to the next software delivery innovation, necessitating the evolution to secure-by-design, continuously updated software while serving as the means to achieve it.
Below, I will discuss some of the innovations that led to our containerized revolution and the characteristics of cloud-native software development that have brought us to this inflection point – one that has prepared the world to move away from traditional Linux distributions and towards a new approach to open-source software delivery.
Iteration has moved us closer to ubiquity
Several innovations have paved the way for more secure and performant open-source delivery. For brevity, I will highlight three significant milestones. Each step, from Linux Containers (LXC) to Docker and ultimately the Open Container Initiative (OCI), built upon its predecessor, addressing limitations and unlocking new possibilities.
LXC laid the groundwork by harnessing the Linux kernel’s capabilities to create lightweight, isolated environments. For the first time, developers could package applications with their dependencies, offering consistency across different systems. However, LXC’s complexity and lack of a standardized image distribution catalog hindered widespread adoption.
Docker emerged as a game-changer, democratizing container technology. It simplified the process of creating, running, and sharing containers, making them accessible to a broader audience. Docker’s user-friendly interface and the creation of Docker Hub fostered a vibrant ecosystem, fueling rapid adoption, but also raised concerns about vendor lock-in and interoperability.
The OCI stepped in to standardize container formats and runtimes, ensuring containers could be built and run across different platforms. This standardization enabled Kubernetes to become a truly portable platform, capable of running on a wide range of infrastructure, allowing organizations to orchestrate their applications consistently across different cloud providers and on-premises environments.
[Containerized] software is eating the world
The advancements in Linux, the democratization of containers through Docker, and the standardization of OCI were propelled by necessity, with the evolution of cloud-native app use cases driving orchestration and standardization forward. These cloud-native application characteristics also highlight why a general-purpose approach to Linux distributions no longer serves software developers with the most secure and updated foundations to develop on:
Microservice-oriented architecture, resource-conscious and efficient design, and portability are key characteristics of cloud-native applications. These traits have led to the widespread adoption of containers, which offer a secure, efficient, and portable way to deploy applications.
The virtuous cycle of innovation driving new use cases and ultimately new innovations is clear when it comes to containerization and cloud-native applications. This inflection point of innovation and use case demands has driven an incredible rate of change within open-source software – we’ve reached a point where the security, performance, and innovation drawbacks of traditional Linux distributions outweigh the familiarity and perceived stability of the last generation of software delivery.
Enter: Chainguard OS
To meet modern security, performance, and productivity expectations, software builders need the latest software in the smallest form designed for their use case, without any vulnerabilities that lead to risk. Making good on those parameters requires more than just making over the past. Instead, the next generation of open-source software delivery needs to start from the source of secure, updated software: the upstream maintainers.
Chainguard built a new distroless approach, continuously rebuilding software packages based on upstream sources. We call it Chainguard OS. Chainguard OS serves as the foundation for the broad security, efficiency, and productivity outcomes that Chainguard products deliver today.
Chainguard OS adheres to four key principles: Continuous Integration and Delivery, Nano Updates and Rebuilds, Minimal, Hardened, Immutable Artifacts, and Delta Minimization. These principles enable Chainguard OS to provide a secure, efficient, and portable foundation for software development.
Perhaps the best way to highlight the value of Chainguard OS’s principles is to see the impact in Chainguard Images. A side-by-side comparison between an external and Chainguard Image shows a significant reduction in vulnerabilities and image size.
Our belief is that Chainguard OS’s principles and approach can be applied to a variety of use cases, extending the benefits of continuously rebuilt-from-source software packages to even more of the open-source ecosystem.
If you found this useful, be sure to check out our whitepaper on this subject or contact our team to talk to an expert on Chainguard’s distroless approach.
Note: This article is expertly written and contributed by Dustin Kirkland — VP of Engineering at Chainguard.