As Fedora 21 approaches, let’s take a bit to examine the state of the Cloud Working Group (WG) — or, more importantly, the releases that are coming your way very soon! With Fedora 21 you’ll have two distinct Fedora “flavors” from the Cloud WG: ready to run images for public and private clouds, and Fedora 21 Atomic Host. And, to pique the buzzword crowd’s interest, here’s a spoiler – we’ll be talking about Docker.
Today the Cloud Working Group held / is holding a Atomic Test Day to take a look at the state of the Fedora 21 Atomic Host that’s brand new in Fedora 21. The Test Day went quite well, we found a number of bugs without anything exploding massively, and folks provided really excellent feedback.
First, let’s take a look at what you’re getting with Fedora 21. We have the base image, which isn’t entirely new. We’ve offered a cloud image suitable for deployment on EC2, OpenStack, etc. for a while now. It was a “first-class citizen” in Fedora 20, and (once again) it’s a major focus for the release effort.
The base image is a tailored set of packages that are specially targeted at the cloud environment. These images should be an excellent base for developing and deploying services and applications in private clouds like OpenStack and Apache CloudStack or an public IaaS environment like Amazon Web Services (AWS).
Atomic Base Image
What’s totally new in Fedora 21 is the Atomic Host Image. What’s this Atomic business, you may well ask?
In April, Project Atomic was unveiled as a community of practice to develop a platform for running Docker containers. This means having a tailored platform build from an existing operating system (e.g., Fedora), that allows “atomic” updates and has just the tools you need to run and orchestrate Docker containers. (It also should make a nifty platform for developing containers as well!)
The idea is that a lot of folks now want to build apps and services using containers, but they still use general purpose OSes for many existing applications. Also, the components we need to build the Docker host OS exist in Fedora (or CentOS, or RHEL), so there’s no reason to re-create the wheel in building the Docker host.
Atomic uses rpm-ostree to create the Fedora Atomic image, and then allows users or admins to use rpm-ostree for updates. An update is an “atomic” unit that can rolled back in the event there’s a bug or issue that impacts deployed applications. RPM is a great technology for packages, but it was only envisoned to go one way – forward. The beauty of rpm-ostree is that it lets you revert to a previous state of the host OS with a single command. It also offers some interesting additional features, like switching between trees for two different systems, but we’re not offering those kinds of updates/options yet.
The Atomic image will also feature Kubernetes and Cockpit for working with Docker. Cockpit is looking great, the team there has done a fantastic job of adding features and polish, and getting a stable version ready to ship with Fedora 21. We’ll be talking about Kubernetes much more in the future, and have some features on Cockpit on the Magazine soon. (Note that Cockpit is also available with Fedora 21 Server!)
Docker, Docker, Docker?
It bears mentioning that the Docker base image has been split out from the Cloud Working Group to the Base Working Group, though (obviously) we’ll still be making heavy use of it in cloud environments. A big kudos to the Base Working Group folks who’ve taken that on and are doing great work in getting it into shape for Fedora 21.
The big take-away on Docker, though, is that the Fedora 21 release will have an “official” Docker image. You can use the Fedora 21 Atomic base image with the F21 Docker image to test Docker features, or use Atomic to run Docker to test your containerized applications.
How do I do this? Just run
sudo docker pull fedora:21 and you’ll get the latest Docker image for Fedora.
Where We’re At, Where We’re Going – Join Us!
As you can see, there’s a lot of exciting stuff going on in the Cloud territory. However, we still have a lot of work to do on testing, packaging, and developing documentation for best practices.
Have questions? Ask us on the cloud mailing list (firstname.lastname@example.org), or in #fedora-cloud on Freenode.