Docker cloud orchestration is the next frontier in the battle between Amazon and its competitors to capture enterprise...
business, as Google rallies a new consortium of vendors around its container management methods and AWS lures in customers with its services.
The Docker cloud market is a many layered phenomenon that starts with Docker containers, which are now merging with another Linux container format, rkt. Docker is the container format of choice, as it makes packaging apps for portability between Linux operating systems simple.
Above that in the stack, however, is anything but agreement.
There are several Docker orchestration methods, which include Apache Mesos, Linux CoreOS, Google Kubernetes, and the proprietary system Amazon Web Services (AWS) uses to orchestrate the Elastic Compute Cloud (EC2) Container Service (ECS). Amazon's system doesn't have a catchy name, but it was described in detail by Amazon CTO Werner Vogels in a blog post this month timed to coincide with Google's Kubernetes version 1.0 release on July 21.
At the top of this layer cake lie Docker cloud services, which rely on these orchestration systems to offer easy container management as a service. The two most prominent among IT pros so far are ECS, generally available last April, and Google Container Engine, which is still in preview but some customers run it in production already. It is expected to GA soon, but no firm date was given.
Amazon also offers Docker integration through its Elastic Beanstalk platform as a service (PaaS), and has since June 2014, which gives it some first-mover advantage in the Docker cloud services space.
Jason McMunnchief cloud architect for Ditech
Elastic Beanstalk as a Docker cloud appealed to Christian Beikov, co-founder of Sweazer, maker of a mobile e-commerce application based in Austria. They used the first version of the Elastic Beanstalk PaaS to get started, and since ECS is not available yet in the EU Frankfurt region of AWS, Beikov will stick with that version for now.
"[It] provides out-of-the-box building of the Docker images, which is very convenient because in the beginning we didn't have the infrastructure to set up our own Docker registry," Beikov said.
Setting up systems like Apache Mesos on-premises to host containers can be tricky, according to Docker cloud aficionados such as Anne Currie, co-founder of Force12.io, a startup in Barcelona working on a meta-scheduler for Docker. Currie is also the CEO and co-founder of WorkingProgram Ltd., a software company based in London, and has 20 years of experience in the software development field.
As part of its experimentation, Force12 first set up an environment in ECS then moved to a bare-metal environment and installed Mesos.
"What we found was -- and we're still doing this at the moment -- it's really, really hard to install," Currie said. "It's really hard to get Mesos up and running and [the nodes] all talking to one another and nicely coordinated, compared to how easy it was to run on ECS."
However, the Amazon ECS model can limit flexibility in some cases, Currie said. For example, there are more performance tuning knobs to turn in Mesos, meaning it has performed a bit faster than ECS in Force12's experiments.
"It's very nanny state," Currie said of ECS. "It's just a very nice easy place to start, and then of course once people have started there, they tend to stay, which is what Amazon relies on."
In this regard, Amazon has a formidable business model as it takes on Google in the Docker cloud management services market -- it has already established a relationship with many large enterprises through the breadth of its other services, and those customers will naturally look to an AWS alternative first.
Take Ditech Mortgage Corp., for example. The Fort Washington, Pa.-based company isn't yet using ECS, but it plans to look into it, according to Jason McMunn, chief cloud architect for Ditech.
"We had to go through quite a big, painful due diligence to validate Amazon as our cloud provider, so even if they had free kittens over at Google, we wouldn't switch, only because of the sheer overhead we had," McMunn said.
Not so fast -- Who's really the first mover in containers?
Critics of Google's Kubernetes approach -- which, as open-source software, can also be run on Amazon EC2 -- say the design is not ideal as a service, and could face scalability challenges as it requires a configuration management agent to run on each worker node.
But Google officials have a strong answer to that -- Kubernetes is based on systems Google has already run at Internet scale for more than a decade, to the tune of two billion containers spun up per week, according to Craig McLuckie, product manager for Container Engine and Kubernetes at Google.
Thus, while it lags AWS in infrastructure as a service in general, Google has a strong bid to play catch-up with Kubernetes and the Google Container Engine.
Home services directory website Porch for example, uses Google Container Engine in production despite that it has yet to reach general availability, and plans to move its entire infrastructure from AWS to Google as a result.
Kubernetes under the Google Container Engine covers has led to significant virtual hardware consolidation for Porch -- it now runs at about 40% of its original AWS deployment with Container Engine.
"I suppose we could've tried to do that in ECS, it's just that Google made more sense with the particular pricing model," said Tyler Davis, DevOps engineer for Porch.
Google Container Engine offers a sustained use discount -- its answer to Amazon's Reserved Instances, in which reserved capacity is offered at a cheaper price than on-demand capacity. But where Amazon's Reserved Instances require a one or three-year commitment, Google's sustained use discount periods can be measured in minutes, which leads to more cost savings, Davis said.
"Going with Google, if we don't need [an] instance and spin it down and spin up an instance of equivalent size, then we get the additional pricing discount over time," Davis said. "Whereas at Amazon you have to say specifically, 'I'm going to reserve my instance for a year to three years,' and that commitment to running a given machine wasn't something we could stick with -- it doesn't fit our method of management or deployment."
Open-sourcing Kubernetes and making it available for on-premises deployments as well as deployments by other cloud service providers such as Red Hat Inc.'s OpenShift PaaS, was a shrewd move on Google's part, according to Force12's Currie.
In fact, Google led the creation of Cloud Native Computing Foundation along with 1.0 of Kubernetes this month, a foundation that boasts enterprise cloud services companies such as IBM and Red Hat as well as powerhouse end-user members such as Box, eBay and Twitter.
"At least in theory, you're less locked in, because in theory you could just take that Kubernetes open source software and run it anywhere you like," Currie said. "In reality I don't think that will tend to happen, because once you're there, you still don't have anybody to go build your infrastructure elsewhere, but it might make people feel a little bit more comfortable."
Amazon declined to comment for this story.
Compare vendor cloud platforms