BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

Confusion As A Service Is Ruling The Container Land

Following
This article is more than 7 years old.

Containers as a Service, often referred to CaaS, is the latest delivery model of cloud computing. It involves exposing the entire container management platform as a hosted service, delivered through a self-service model. Similar to IaaS that exposes the building blocks of infrastructure, and PaaS, which delivers the runtime and frameworks, CaaS aims to bring lifecycle management of containerized workloads to IT and developers.

When compared to the previous trend of virtualization, containerization is moving at a much faster pace. With the goal of becoming the new VMware of containerization, almost every major platform vendor is heavily investing in containers and container management platforms. There is a rush within the industry to deliver an end-to-end management suite to customers. But, are enterprises really ready to consume CaaS? Has CaaS turned into ‘confusion as a service’?

What exactly is CaaS?

The goal of any service-driven offering is to let the customer focus on their core business instead of dealing with unwanted plumbing. For example, Platform as a Service focuses on developer productivity. Developers are expected to bring their code and leave the build, deployment, and management to a flavor of PaaS. In CaaS, IT teams are expected to bring their container images and leave the rest to the management platform. It tackles the complex issues of resource management, provisioning, scheduling, security, monitoring, scaling, and the overall lifecycle management of containerized workloads. The essential components of CaaS include core container services, an image catalog called a registry, cluster management software, and a set of developer tools and APIs.

Without CaaS, customers have to assemble the stack from an extremely fragmented open source ecosystem. CaaS delivers a turnkey container management solution both within the data center, and in the public cloud. It drives agility, efficiency, and better utilization of infrastructure resources.

Disagreement on the definition

The key platform vendors – Docker, CoreOS, Google, Microsoft, AWS – investing in CaaS have not converged on the definition. Though the top public cloud providers - Google, Microsoft, and Amazon – have a CaaS offering, but they don’t officially brand the service as CaaS.

Docker, Inc. has an official CaaS product in the form of Docker Datacenter and Docker Cloud. It is aggressively pitching and marketing them as end-to-end container management platform, which aligns with the company’s vision of delivering products to build, ship, and run applications. Docker is positioning its CaaS offering as the only open, and portable environment to run containers.

The approach that Amazon, Google, and Microsoft have taken to implement their respective offerings – EC2 Container Service, Google Container Engine, and Azure Container Service – are fundamentally different. Customers looking for a standard definition of CaaS from these industry leaders will be disappointed as there is no agreement among them. But as the market matures, there will be clarity on what defines an ideal CaaS platform.

The three camps of container land

At the heart of CaaS is an orchestration engine that controls the scheduling and management of containers and infrastructure resources. Customers have three choices of container orchestration engines:

  1. Docker Swarm
  2. Kubernetes
  3. DC/OS

Docker Swarm is an orchestration engine from Docker, Inc., which powers its Docker Datacenter platform. Docker is aggressively pushing Swarm as the native clustering and orchestration engine. Though Docker Datacenter is built on top of Swarm, Docker Cloud, the rebranded Tutum that Docker acquired in October 2015, doesn’t run on Swarm. Rackspace chose Swarm for Carina, its CaaS implementation on the bare metal cloud.

When compared to other offerings, Docker Swarm lacks features such as in-built service discovery, load balancing, and monitoring.

Kubernetes is an orchestration engine open sourced by Google. It’s a subset of complex tools that Google built to manage its internal infrastructure. Within a short span of time, Kubernetes has become a popular choice for managing containerized workloads. It’s a mature platform that comes with essential management features to run containers in production.

Installing Kubernetes in a production environment is not for the faint-hearted. That is the reason Google built Container Engine, which is a hosted service to deploy production workloads.

Google is banking on Kubernetes to get its foot in the enterprises. Its move to join OpenStack Foundation followed by a massive investment in CoreOS are clear indicators of its ambition. CoreOS Tectonic is a commercial implementation of Kubernetes targeting enterprise datacenter. Google is hoping that Container Engine in the public cloud followed by Tectonic in enterprises will give enough push to Kubernetes.

Google donated Kubernetes to the Cloud Native Computing Foundation, an industry consortium under the Linux Foundation.  Although Docker is an official member of CNCF, its agenda is to make Docker Swarm the preferred platform for running cloud-native applications.

Mesosphere, a young Silicon Valley startup has augmented Apache Mesos, to build cluster management software called DC/OS. Recently, Mesosphere has open sourced DC/OS, gaining support of many industry players including Microsoft. Azure Container Service, Microsoft’s CaaS is built on Mesosphere's DC/OS. ACS also offers the choice of running Docker Swarm.

Microsoft has stayed away from CNCF for strategic reasons. As a key investor in Mesosphere, Microsoft wants DC/OS to become successful. That’s one of the reasons why Kubernetes is not officially available on Azure.

The industry is currently divided among those who support Docker Swarm, the Cloud Native Computing Foundation, and the recently formed DC/OS community.

 Wait, where is AWS?

Interestingly, Amazon was one of the first to join the CaaS bandwagon with EC2 Container Service (ECS). When it was launched, Docker Swarm was in its infancy, and Kubernetes was barely known in the community. With the expertise AWS gained in building EC2 and Elastic Beanstalk, it went ahead to build a proprietary container management software. ECS is tightly integrated with rest of AWS’ services. It is only preferred by customers with significant investments in EC2, EBS, S3, and ELB. When compared to Kubernetes, Amazon ECS lacks key features such as service discovery, health checks, and service endpoints. Though technically possible, Amazon has never disclosed plans to officially support Docker Swarm or Kubernetes on ECS. Like Microsoft, it has stayed away from the Kubernetes camp and CNCF.

Startups building CaaS

Just in Silicon Valley, there are dozens of early stage startups building container management platforms that would compete with Docker Swarm, Kubernetes, and DC/OS. Most of them are well-funded by star Venture Capitalists of the valley.

Every startup aims to remove the pain of managing containers, and making it accessible to enterprises. Interestingly, that’s the goal of CoreOS, Joyent, Rackspace, and others who are busy building their own CaaS platforms. CoreOS has built Tectonic as the commercial platform powered by Kubernetes. Joyent is pushing Triton as the CaaS for both public cloud and private cloud. Rackspace is moving fast with Carina. Then there are players such as Alauda, BlueData, Cloud66, ContainerX, Rancher Labs and many other startups building container platforms. They may have differentiating factors, but their positioning seems to be similar.

PaaS is transforming to become CaaS

Traditional PaaS players such as Apprenda, Cloud Foundry, Engine Yard, Red Hat, and IBM have embraced containers. Apprenda is integrating Kubernetes with its PaaS. Cloud Foundry has its own containerization technology and orchestration based on Diego. Engine Yard has built a parallel container platform called Deis. IBM Bluemix offers container management along with VMs and PaaS.

Red Hat has completely revamped OpenShift to replace its underpinnings with Kubernetes. OpenShift, in its current form, is a thin DevOps layer on top of Kubernetes.

PaaS vendors are competing with CaaS to win customer mind share. It’s not an easy task for an enterprise to choose between CaaS offerings such as OpenShift and Tectonic.

Key Takeaways

The supply-side of the industry is busy articulating the value of containers and CaaS. They are creating a sense of urgency for customers to adopt containerization. But has the market reached maturity to stake a claim in enterprise data centers? Is there a real demand from customers?

Many Fortune 500 companies haven’t fully embraced Cloud computing. Enterprise CXOs have just started to trust the cloud for running their business applications. They are not ready to deal with another wave of disruption.

While there is no doubt that containers offer agility and efficiency to businesses, it will take some time before organizations will invest in a container management platform.

Follow me on Twitter or LinkedInCheck out my website