By now, you’ve heard about Rocket, CoreOS’ new container runtime for Linux. What you may not have gotten from the blog post is the depth to which this will change the container landscape if it becomes successful.
Right now, Rocket is the only aspect of this stack that really exists, and it’s just the runtime. There’s also a new set of specs for container images and the metadata around services. The new term being bandied about here is “App Containers,” which CoreOS CEO Alex Polvi breaks down into three parts: the app image, the container runtime, and container discovery.
(Related: Microsoft announces CoreOS support)
This breaks with the Docker norms, where there is no real method for service discovery, nor a smooth method of configuration. Polvi specifically calls Docker to task for expanding its software into a platform. While Docker as a platform is a way for the company to make money, Docker as a way to get Solaris-like Zones into your network without all that messy Solaris is the reason people are at the table to begin with.
Leave it to CoreOS, the company that is allergic to feature creep, to get upset about Docker getting too all encompassing. Polvi is waving the Unix banner with both hands here, advocating for loosely coupled tools like grep and Netcat rather than large hulking platforms like, well, Docker.
CoreOS’ other projects are a part of this, and they’re similarly loosely coupled. Most notable to me was etcd, which is basically Doozer for your configs and services discovery.
Let me break this down a bit: Polvi is advocating for a world in which applications are stored as signed, encrypted chunks of data, managed like cattle, and are able to find one another via a services registry/repository. My god, man! He’s advocating for SOA!
And that’s not a bad thing. In Polvi’s world of SOA, however, there are no $250-million companies behind registries, no multimillion-dollar sales contracts behind service discovery and configuration management. There’s just a key-value store. A very fast, very simple key-value store.
And those signed, encrypted application images? They’re called ACIs, and they’re literally just tar balls.
It’s as if Polvi was making fun of the last 14 years of enterprise services offerings, the WS* specifications, BEA, and the whole world of companies that were bought and sold to do just these things: secure application infrastructure, run it efficiently, run it intelligently.
I’ve got to admit, this is the first coherent vision I have seen any company lay out for the future of Linux containers in the enterprise. It’s not as if this is going to happen overnight, but we can be sure that the cat’s out of the bag now. While Docker has been busy trying to find ways to make money and justify its large VC rounds, CoreOS has been sticking to its core principles: keep it simple, keep it in Unix.
Where the heck were these guys in 2007?