It has become clear, even to the most causal enterprise IT observer, that the major cloud providers are in a relentless battle to win customers. These “cloud wars” are marked not only by increasingly similar feature sets across clouds, but also relentless price cutting. The leaders in these cloud wars—Amazon, Microsoft (News - Alert) and Google—are determined to build their market share even if that means reduced margins in the short term. If they can capture a user today with lower prices, the story goes, they’ll have a customer for life. Reduced cloud infrastructure costs are clearly a good thing for enterprise IT teams who get dual benefits of reduced CapEx (by using the cloud instead of building data centers) and reduced OpEX (due to unit price cuts). The emergence of container technology promises to expand these benefits even further, making CIOs the big winners of the cloud wars.
Portability: the overwhelming benefit of containers
Containers are an incredibly clever form of lightweight virtualization that enable large numbers of application components to run on a single Linux OS instance. Due to their lightweight nature, far more containers can run on a server than is possible with traditional virtual machines, increasing the efficiency of an organization's infrastructure. With over half a billion downloads of Docker, the most popular container technology, these benefits are not lost on organizations of all sizes.
When considered in the context of the cloud wars, however, there is another benefit of containers that dramatically increases CIOs’ negotiating power: portability.
Software running in a container, unlike VMs, is packaged along with all its dependencies. This means that with few exceptions, a container running on a laptop can be just as easily run on a cloud server. Likewise, a exactly the same container running on AWS can just as easily run on Microsoft Azure, Google (News - Alert) Cloud Platform, or many other public cloud services.
Let’s look at two specific ways in which container portability empowers the CIO: increased pricing negotiating power and reduced vendor lock-in.
How containers increase negotiating power
Cloud providers are already aggressively reducing prices, and the portability of containers gives enterprises leverage to drive these prices down even further. While cloud pricing is famously transparent, with pricing per hour or per gigabyte published online, further discounts are possible. Large enterprises can and do get even better rates for infrastructure than publicly listed prices. When it comes to negotiations, containers provide enterprises with a compelling argument for why they can just go across the street to the next cloud provider if pricing doesn’t come down sufficiently.
While initiatives like OpenStack, the open source cloud created by NASA and Rackspace (News - Alert), were created to make it easy to move applications between any number of OpenStack-based clouds, even those operated by different providers, that vision has never come to fruition. Even less so for moving applications between the major proprietary clouds.
Containers change this. While it is not always possible to pick up an application and move it, unmodified, between all environments, the level of effort required to get a containerized app running in a new environment is significantly less than with virtual machines. Cloud vendors understand this, and organizations who have containerized their apps will see the financial benefit when it comes to contract renewal time.
Containers reduce lock-in
Well before the emergence of containers as a megatrend in application development, the major cloud providers were busy locking customers into a vendor platform by encouraging them to use higher level services built on top of lower level components. For instance, AWS offers a database-as-a-service called RDS, which a customer can use instead of running a database themselves in an EC2 instance. These services are extremely convenient and are often the right choice for an organization that wants to outsource as much of its operations as possible to a third party. The downside of these services, however, is it that they tend to lock a user onto a proprietary cloud platform. In a recent article about the cloud wars, Holger Mueller, principal analyst at Constellation Research said, “Customers should always negotiate on price, but remember that loads are becoming sticky, and so they can’t be transferred as easily as before.”
Part of this stickiness comes from the difficulty of moving VM-based workloads between environments. A bigger part comes from relying on higher level services. Again, containers can help.
By building an application out of containers, instead of higher level services, enterprises can ensure that their applications remain completely portable between environments. The decision to use containers as the fundamental building block of an application is one that needs careful consideration. However, for organizations which make that choice, containers deliver a way to make sure that they aren’t stuck on a cloud that no longer suits their needs due to reliance on proprietary services.
The benefits of containers are becoming clearer every day. Not only do containers allow organizations to become more agile in their software development process, they put enterprises in a great position to take advantage of the competition between the major cloud vendors. For CIOs, that’s what we call a win-win.
Edited by Kyle Piscioniere