Data centers are the main engine behind today’s digital economy. More and more companies are looking to increase their differentiation by enhancing their offerings using more digital technologies. For example, many e-commerce sites offer recommendations and bundles to customers, when they buy a product. Similarly stores offer instant rebates on items that are on the shelf for longer duration. These services are typically built using an agile IT infrastructure that developers can use for quick prototype, testing, staging and final deployment. This infrastructure is also called a cloud with self-service built-in for developers and IT staff.
These cloud environments are built using two main models: (1) Rented out in units of racks to enterprises, who want to host their private infrastructure and (2) Owned by large corporations like Google, Facebook for their own use or for renting VMs and other software services in the form of public clouds. For public clouds, these large monolithic data centers that are designed for scale, the performance of applications goes down because users have little to no control on the application deployment and infrastructure details. Fundamentally, these clouds are designed for scale and not for performance. In fact, someone once told me that customers deploy 100 VMs, pick a subset with low inter-VM latency and shut down the rest to get a cluster with low latency among nodes. Similarly, many users over-provision the VMs deployed for an application to make up for high latencies and lower performance.
Of course, public clouds have many advantages — but being efficient or highly performant is not one of them! The top two advantages that they do offer are elasticity and ease of use. Elasticity allows users to grow the workload deployment based on demand. This requires them to keep a certain amount of spare capacity always available. Ease of use essentially allows users to consume a cloud without the hassles of building one themselves. The figure below shows a common structure of a public cloud with just one large data center backing it. Typically, there are more datacenters backing the front end APIs via regions and availability zones.
Here, developers consume the cloud using user facing APIs. The cloud operators team monitors and manages the cloud using operational APIs; use software systems to collect health and operational metrics from the large number of hosts, storage and networking components. The main economic advantage is the fact that hardware can be bought in bulk and the ratio of machines to operator can be in thousands. One still needs fat network pipes to get data in and out of this cloud. In fact, in the recent AWS summit, a lot of emphasis was on how to get terabytes to petabytes of data into AWS. One of the recommended solution was to ship a special server filled with disks from AWS to customer and back, since doing any kind of data transfer over WAN will be prohibitively long.
There is another way to get the same ease of use without compromising performance and going through the hassle of building and operating a private cloud. I call this new model – “Micro Clouds”.
In this model, a cloud is deployed by each customer closer to their users and other existing infrastructure. The cloud has a smaller scale, so one still gets high performance due to locality and control over application placement. However, no one wants to take on the burden of building a cloud at such small scale. It doesn’t make a lot of economic sense. The figure below shows this new model, where the user-facing and operational APIs are still consolidated but are shared by a large number of micro-clouds at different geographic locations. These micro clouds provide better performance, locality, control, with the same ease of use and operational economics as large public cloud. With hyper-converged appliances, these micro-clouds can also provide a scale on demand model and save significantly in terms of upfront costs.
Based on industry data shown in the pie-chart above, lot of infrastructure is still tied up in small and medium data centers that can benefit significantly from this new model. Looking into the future, we think this model will replace the monolithic public clouds for certain use cases, just like client-server computing and personal desktops replaced mainframes for a set of applications. For example, if a customer needs several smaller clouds at different locations with the ability to manage and operate them remotely with ease, this model fits very well. In addition, if an enterprise wants a cloud local to their existing data and do analytics, it is much more efficient to have a cloud connected via LAN.
At ZeroStack, we are making this vision a reality by combining a SaaS platform with on-premises infrastructure. The SaaS platform provides the same economies of scale in terms of operations and the on-premises infrastructure is built using a hyper-converged, scale-out architecture that provides high performance, control and security. Enterprises can leverage this new model today by using ZeroStack Cloud Platform.