Rancher Labs is Building a Platform for Docker Containers
The folks at Rancher Labs are getting the band back together. They’re teaming up with systems integrator Redapt, just like they did when they were running Cloud.com. This time, the goal is to create a hyper-converged infrastructure platform for containers.
They aim to greatly simplify and reduce the cost of building private infrastructure stacks for containerized workloads by defining an application packaging and runtime standard.
The popularity of Docker creates an impetus to totally rethink infrastructure – storage, networking, load balancing, firewall, the works, according to Rancher Labs co-founder and CEO Sheng Liang.
“Docker images are portable, but if these images were tied to these infrastructure services that are not really that portable, then that destroys some of the value of the ubiquity of Docker. We thought it would bring value to the customer if we could build a rich set of infrastructure services written in software that can run anywhere,” he said.
That’s the thinking behind its container-management platform Rancher and RancherOS, a bare-bones (20MB) operating system built for running containers. In addition to the container infrastructure platform, it’s announcing Rancher support for orchestrating persistent storage services for Docker.
Redapt and Liang’s previous company, Cloud.com, previously worked together around 2011 on building a private cloud for games maker Zynga, one of the largest at the time, Liang says.
The traditional method is to build the cloud, put in virtualization, then run containers on top, but “with hyper-converged infrastructure, we’re eliminating a lot of complexity and layers,” he said, resulting in a turn-key, easy-to-manage platform.
While most people run containers on virtual machines and in the cloud – and he doesn’t see virtualization going away – “… in some circumstances, when people run things in their own data center at scale, they want to get the last bit of performance out, they want to have more control over resource scheduling, then it makes sense to eliminate some of the additional layers to improve performance, improve resource utilization.”
He’s talking about eliminating separate virtualization and cloud-management layers.
“In [this platform], RancherOS and Docker run on bare metal, but we still have to manage virtual machine workload because a lot of these users still have legacy workloads that can’t be containerized yet. It may be running in Windows or an old version of Linux.
“We still support KVM, but we don’t manage KVM separately anymore. We just run KVM inside a container, so the management stack is effectively the same. The management stack you use to manage containers, you can also use it to manage KVM. They’re effectively packaged as Docker images. That’s how we manage some of the backward compatibility with virtualized workloads. But a separate layer of virtualization has been eliminated. There’s no more layer like CloudStack, OpenStack. If you want a virtual machine, we just run it in a container – and that’s not anything new. Google has been doing that for many years.”
This platform, according to the company:
- Is built on Intel x86-based servers and SSD disks.
- Supports both virtual machines (VMs) and containers; orchestration frameworks Compose, Swarm and Kubernetes; and popular DevOps tools such as Chef, Puppet, SaltStack and Ansible.
- Provides a rich set of persistent storage features for stateful containers.
- Enables developers to expand capacity by registering instances in public clouds as computing resources.
- Provides network isolation and connectivity between containers and VMs running on different hosts.
- Provides a powerful resource scheduler that improves density and utilization of computing resources.
Incidentally, it doesn’t have a cool name – it’s just the “hyper-converged infrastructure platform.” Liang said the container market doesn’t seem ready for an all-in-one packaged option like previous proprietary software suites. His customers tend to be companies running their own data centers who don’t want to build their own cloud, he said, without naming any.
“We’ve deliberately made it more flexible because some prospective customers have very specific requirements, even down to the make and model of the server. What’s important is that we made the experience smooth,” he said.
These are very nascent technologies. Its Rancher product has been in beta since June. The company plans to make it generally available in the first quarter of 2016. It plans a general availability release for RancherOS, which Liang describes as not at the beta stage yet, and the hyper-converged infrastructure platform during the first half of next year.
Docker storage plug-in
Docker’s announcement of a plug-in model for networking and storage was a boon to Rancher Labs, Liang said.
“Networking is the first problem to be solved with containers,” he said. “[Version] 1.9 helps us a lot. Originally, Docker did not have plug-in frameworks, and we had to do a lot of behind-the-scenes work, hacks [with Rancher on networking] to get it to work,” he said.
It designed its persistent storage services to be one of those plug-ins. The company explains that Rancher can be used to:
- Orchestrate the deployment and configuration of storage services directly on container hosts, using any software-defined storage platforms shipped as containers, such as Gluster, Ceph and Nexenta.
- Launch applications using Docker Compose with these storage services to automatically create persistent Docker volumes to support stateful application services such as traditional databases.
- Use any vendor-specific advanced storage features such as snapshot, backup, remote replication and data analytics.
- Deploy an application with all of its storage services on any virtual machine or bare metal server, running in any public cloud or private data center.
The company has been working with software-defined storage vendors to make deployment and storage management easy with Rancher, Liang said.
Everything around infrastructure, including networking and storage, has been “an afterthought and they’re treated as bolt-on features,” Gou Rao, Portworx CTO, said of Docker when unveiling its storage software for hosting stateful applications in Linux containers.
Though Docker announced Flocker from ClusterHQ as its first storage partner, rival vendors have been lining up.
And Red Hat just announced support in its Atomic Host Platform for plug-ins for its Ceph and Gluster storage options as well as that of several yet-to-be-named third parties.
Meanwhile, a company called Hedvig connects distributed applications to existing storage through a software-defined route.
While Flocker is mapping between external storage and containers, Rancher is mapping directly from SD storage running as containers to other containers, as Mike Matchett, senior analyst and consultant at Taneja Group explains it, noting that he has not been briefed on Rancher. And, of course, container-hosted SD storage needs to be mapped to persistent storage somewhere at some point.
“There are several ways to now try to skin the container storage cat. The good news is that the container world now has some very interesting storage architectural approaches and options. The challenging part is that its not clear which solution provides the most robust, reliable, and performant IO,” Matchett said.
He pointed out that we’ve learned from virtualization that while storage and IO channel abstraction/isolation have great benefit, it also complicates visibility, troubleshooting, performance optimization and capacity planning.
“It’s interesting to talk to container world purists, who might still insist that container architectures are intended for relatively stateless microservice hosting, and putting persistent storage into them goes against principles. But then the practical IT world starts considering hosting all kinds of workloads in containers,” he said.
“The potential benefits of the container approach are huge, so I fully expect container architectures to keep evolving quickly to support, and maybe even supplant more and more virtual machine use cases.”
Docker and Red Hat are sponsors of The New Stack.
Feature Image: “Engineering plans storage, 2001” by Seattle Municipal Archives, licensed under CC BY-SA 2.0.