There's a new kid on the container management block called ContainerX, and its goal is very ambitious: the company wants its flagship product to be nothing less than the vSphere of containers.
ContainerX launched a beta version of its container management platform at DockerCon in Barcelona in the middle of November. Now given that VMware is the multi-billion dollar daddy of the server virtualization world and that vSphere is its all-powerful server virtualization management platform — the nerve center of a virtualized data center if you will — then the idea of a startup aiming to produce a similarly powerful container management platform may sound preposterous.
Especially when you consider that ContainerX faces some formidable competition from other companies bent on building enterprise container management platforms — notably CoreOS with its Kubernetes-based Tectonic platform, Joyent with Triton Elastic Container Infrastructure, Red Hat with OpenShift and Kubernetes, and even VMware with its vSphere Integrated Containers.
But ContainerX is no ordinary startup staffed by fresh-faced developers. CEO Kiran Kamity co-founded RingCube, a desktop virtualization company that was bought by Citrix, CTO Pradeep Padala formerly worked at VMware and Docomo Labs, Container Jedi Himanshu Raj comes from Microsoft's Azure team, and Elastic Cluster Goddess Selvi Kadirvel is another ex-VMware staffer.
The investor roster is similarly impressive, including Steve Herrod, a former VMware CTO, and Jerry Chen, Docker's first investor.
Forging the Basis for a Container Management System
CoreOS's Tectonic platform is built using a core of open source software, with proprietary applications integrated around it. ContainerX's strategy is pretty much identical. Its platform will support the Docker container format and uses Docker Swarm for clustering. Add in Docker's libnetwork networking code and ContainerX's own proprietary storage plugin, and you have the basis for a container management system.
(This is how ContainerX is being launched, but Kamity says that in the future it will be open to supporting CoreOS's rkt instead of Docker, and Google's Kubernetes, or Apache Aurora and Mesos instead of Swarm if that's what customers want.)
But then comes the smart parts. Where Kamity believes ContainerX is unique is in the way it handles clusters.
"If you have three teams in an organization and they share a cluster, you can't isolate containers from other teams," he says. "That means you need separate clusters for each team.
"Also, there is no resiliency: one rogue container can crash other containers or starve them of resources. It can even crash Docker Engine," he adds.
ContainerX's solution includes what it calls Elastic Clusters and Container Pools. It allows a flexible pool of compute resources to provide separate container pools that are given resource limits in terms of the proportion of the total CPU and memory resources from the compute pool they can consume.
These container pools can also be given differing priorities, so that high-priority pools can get more resources to deal with demand spikes at the expense of lower priority ones.
According to Kamati the benefits of this approach are:
- Resilience: No rogue process can crash a host or kill or starve another container
- Multi-tenancy: Multiple dev groups can access their own container pools in a single cluster
- Auto-scaling: The container pools scale automatically
- Horizontal scalability: The server clusters can also scale out
In the future the company intends to add more features such as the Google Container Engine-type ability to provide guaranteed resources at the container – rather than cluster – level.
The system will work with Linux and Windows containers, running on bare metal or inside virtual machines, either in the data center or in AWS or Azure public clouds.
At the moment Kamity recommends running containers on bare metal (i.e. not inside VMs) and also says for now it's necessary to keep server clusters in single locations — one on AWS, one on Azure, and one in the data center, for example — rather than having a single cluster spanning all three locations to form a hybrid cloud. All can be managed from a single pane of glass though.
ContainerX's platform will be targeted at Global 5000 companies, Kamity says. "We are looking at ones that use VM related products already, and where containers will become first class citizens," he explains.
The company intends to offer its platform free for managing less than a specific number of containers – perhaps 50 – and beyond that there will be a tiered pricing scheme: $x per container for less than 1000 containers, $y for 1000 - 2000 and so on. The exact figures have not been settled on yet, but Kamity expects customers will be charged an annual subscription. There may be an option to purchase a perpetual license as well.
So where does the name ContainerX come from? "We are fans of Elon Musk's SpaceX, so we thought ContainerX would be a good name," Kamity explains. "But ContainerX also represents the fact that we don't care about the underlying container format and other underlying technology."
It's a good name, and Kamity talks a good story. And while there are other container management platforms out there, none currently offers everything ContainerX does.
Will ContainerX be successful in its aim of becoming the vSphere of containers? It will be tough — although it's certainly possible.
How long the company remains independent though is another matter entirely.
Paul Rubens is a technology journalist and contributor to ServerWatch, EnterpriseNetworkingPlanet and EnterpriseMobileToday. He has also covered technology for international newspapers and magazines including The Economist and The Financial Times since 1991.