We first associated the term "Atomic" with Red Hat’s container strategy through the introduction of both Project Atomic and Red Hat Enterprise Linux Atomic Host in April 2014. Since then, we haven’t looked back, and Atomic has become integral to many aspects of our container portfolio. But why is the term "Atomic" so connected to our container products and technology?
In the database world, the ACID acronym (Atomicity, Consistency, Isolation, Durability) describes a set of properties that are important in the context of performing database transactions. The "A" represents Atomicity, which simply means that the transaction should be completed as "all or nothing". This implies that a transaction, represented as a series of database operations, must happen completely - not partially. If the transaction is not completed, then it is rolled back to its previous state. I’ll explain how this ties into our technology later.
In the physical world, an atom is the most basic form of matter - it’s the building block for molecules and compounds. In IT, the Atomic building block describes many aspects of container technologies - minimal footprint operating systems (OS), discrete Linux containers with application functionality, composite applications described by many containers (think molecules), and microservices - created as discrete Atomic components.
We also know that matter (the atom) can not be created or destroyed. With containers, the atomic term’s connection comes when you consider the host operating system as immutable infrastructure - first implied in a description of Phoenix Servers here (the term Phoenix Server is attributed to Kornelis Sietsma). Immutable infrastructure describes infrastructure that is never updated, never patched, never changed. When it needs to be changed, you replace it instead. Just like the atom is the basic building block, so too is immutable infrastructure - swapped out with a new piece when updates are needed. This applies to both immutable application containers and immutable container hosts.
Our Atomic products (Red Hat Enterprise Linux Atomic Host and Red Hat Atomic Enterprise Platform) feature rpm-ostree - an open source tool and update system to manage immutable, versioned file system trees of the operating system image. Rpm-ostree keeps the original version of the host operating system close by, allowing for an easy system rollback to the previous OS image. This roll-back functionality ties to the Atomicity of database transactions. Also important to note, is that OpenShift Enterprise 3 is built on top of Atomic - embracing the same underlying technologies, including Red Hat Enterprise Linux, that are summarized below.
Hopefully you now see that Atomic within the realm of containers has many rich connections - the smallest building block, immutable and indivisible, and something that is rolled back if not successfully completed.
Today, we continue to use the Atomic term as we announce the public preview for Atomic Enterprise Platform and the general availability of OpenShift Enterprise 3.1, and of course we used it when we first announced the Atomic Enterprise Platform early access program at Red Hat Summit in June of this year, and also the general availability of Red Hat Enterprise Linux Atomic Host in March 2015.
A sample of the specific attributes and features that define Atomic are:
Atomic Host - a minimal footprint, container-optimized operating system built on Red Hat Enterprise Linux
Atomic Runtime and Packaging Format - a container packaging format and runtime tool, leveraging Docker and the standards being driven by the recently announced Open Container Initiative
Atomic Cluster Services and Atomic Orchestration, container scheduling, orchestration, load balancing, and cluster management of a container host cluster, powered by Kubernetes
Atomic Security to prevent tenants from compromising other container tenants or the underlying container host
Atomic Registry - integrated storage and management for sharing docker formated container images securely within an organization
Atomic Telemetry - logging and metrics for pods/containers, including log aggregation, and services to capture insights from the underlying infrastructure
Atomic Networking - scalable, multi-host container networking, powered by Open vSwitch, that runs anywhere Red Hat Enterprise Linux runs
Atomic Storage, with persistent storage plugins to enable running of stateful services in containers
Moving forward, we hope that when you hear "Atomic", you will think container infrastructure technologies from Red Hat. More specifically, that Red Hat brings containers to the enterprise through Red Hat Atomic, a family of infrastructure technologies that are optimized to enable organizations to securely and consistently run containers at scale across a distributed environment.