Hyperscale is a set of concepts and practices that have emerged among a set of players in terms of what is necessary to scale to hundreds of millions – maybe even billions – of users.
There is a set of unicorns out there that have built infrastructures that are massive in their scale, and their names are familiar - Pinterest at about 100 million users, LinkedIn at 100 million users, Twitter at 320 million users, Instagram at 400 million users, and then companies on the next level like Facebook with 1.6 billion users and Google with 2.6 billion.
Some of these companies actually design their own hardware and build their own software. The reason they started this is because commercial products simply weren't available that would allow them to build systems of scale that were reliable, never went down, could perform and could serve this massive audience.
Hyperscale moving towards enterprises
Now, as a matter of strategy, we started seeing how hyperscale computing was moving away from just the unicorns and towards the broader enterprise audience.
You have international pizza chains that have launched a bunch of mobile applications and suddenly have tens of millions of new users coming onto their network. We have customers launching IoT initiatives that result in terabytes of data flooding into their infrastructure, and we believe that we can take a lot of these unicorn concepts and industrialise them, meaning make them available to the broader enterprise market.
A holistic view of the datacenter
We think that in the future you will look at your datacenter holistically. You will look at all of your physical resources in terms of your facilities and real estate, your power equipment, and even your fire suppression equipment. You will look at your IT resources in terms of servers and networking and storage and everything that represents the intelligence inside of that datacenter. And you will look at your human resources.
How can we think about all those things as one continuous whole, bringing them together through software automation and thinking about them as a single system rather than sets of disparate resources?
What does hyperscale mean?
So let’s take a look at the kinds of things that we think about when we are talking about hyperscale systems. First of all there are the economics of the system itself. When you scale today’s enterprise architectures to hundreds of millions or billions of users, the economics don't work. So how can we radically redefine the economics of datacenters and infrastructure to make that a reality?
The hyperscale datacenter must include the following characteristics:
How can we reduce the labor content associated with managing these massive infrastructures? And put a lot more software automation into the process.
The idea is that if I have, for example, a new service, and I have a software stack that supports that service, I'm going to create an image of that service and I'm going to deploy that image across hundreds of instances, maybe thousands of instances. If I need to change that service, I'm going to rebuild the image; I'm going to tear down all those old instances, and I'm going to spin up brand new instances that I'm going to deploy that image to. And this is all going to be done through my deployment pipeline.
This is an essential ingredient of hyperscale systems because the old way of patching and mutating systems results in unstable, brittle systems over time as what some people call software entropy builds up in the system.
Hyperscale datacenters need to be data driven. Today much of our hardware infrastructure and software infrastructure is impenetratable from an analytics standpoint. So how can we change the hardware, change the software, so it is providing the type of data we need to make really intelligent decisions about how to manage this environment?
Then transparency is the flipside of that coin. How can every resource that we have be completely transparent to our probing and inspecting of what that component is doing?
A typical private cloud has about 10 percent utilization, and many people consider 20 percent to be world class. In contrast, the typical mobile network has about 40 percent utilization. So how can we bring mobile-network thinking around utilization into the datacenter, for small changes in utilization can make a huge difference in terms of how much budget you have available for transformational activities and other things.
What we mean by "scaleable" is that I can add units of capacity and that the unit economics of that infrastructure will scale roughly linearly and that and I can scale that infrastructure to any arbitrary size. We do this by adding units of capacity in parallel – a concept called horizontal scalability.
In the past, horizontal scalability was achieved by adding complete server nodes to your infrastructure. The more modern way of doing this is through disaggregated hardware, where you add units of CPU, memory and storage independently. Under software control, you can “compose” a virtual environment that is optimized for the needs of a particular application. One particular application might require a lot of processor power and relatively little storage. Another application might require lots of memory but very little processor capacity. Disaggregation allows us to achieve horizontal scalability at much higher levels of utilization.
We are living in a world in which we have a very complex overlay of jurisdictional rules, and in many cases countries now are talking about the classes of data and the classes of applications that have to stay resident within their jurisdictional boundaries. What sorts of mechanisms do we need to be able to enforce those sorts of things in a global distributed infrastructure?
This is something that we have dealt with in the mobile network for many years, and that we can now bring to the datacenter.
If you want to eplore hyperscale in more depth, please read original research by Mainstay on datacenter utilization that showed how our hyperscale architecture effectively delivers more than 50 percent capex and opex savings.