What does an enterprise cloud look like?
What's here already, what's missing
Sysadmin blog In late 2014 I wrote about Software Defined Infrastructure (SDI). I revisited this early last year. This year I expect the first mainstream SDI blocks to emerge, likely under the moniker "Enterprise Cloud". So what does the enterprise cloud of 2017 look like?
A number of players are entering, or have already entered the turnkey cloud market. "Push button, receive bacon" on-premises clouds are a real thing that everyday companies can buy this year. No largesse required.
At the core of most of 2017's enterprise clouds is Hyperconverged Infrastructure (HCI). The ability to reliably manage virtualization and storage while integrating various services, all on commodity hardware has been a huge enabler. This has driven down costs to a reasonable level, and also simplified support.
Commodity x86 supply logistics and support apparatuses are well known. There is a huge channel of integrators and service providers hungry for a reason to still exist in the face of an increasingly easy-to-use public cloud. Vendors up and down the supply chain want to make the enterprise cloud happen, and that lack of friction means that those with good software are getting chances that, five years ago, they wouldn't have had.
The public cloud itself is a huge boost to the enterprise cloud. It raised expectations of what on-premises IT should be delivering, driving demand for self-service solutions. The public cloud has also helped drive a stake through the heart of the antiquated notion of dedicated nodes or clusters for single workload types.
You simply provision what you need, and go. If it meets your needs, you're good. You don't freak out about what's underneath. Mixed workloads are the new normal - something HCI vendors have been banging on about for years.
Ultimately, the enterprise cloud is about choice. Cloudy setups let you grow as you need instead of massively overprovisioning. The magic is in the management software, not the hardware. Cloudy setups also allow internal or external customers to provision the resources they need instead of going begging to IT for every little thing. IT sets parameters, limits and profiles, but the choice of what to deploy and when is in the hands of those who will use and/or administer the workloads themselves.
Given that this is the goal, how close are we to the SDI utopia I defined in 2014?
Today, you can buy SDI blocks with a number of key features integrated into your turnkey solution. Compute resources (CPU, RAM, GPU, etc.), distributed shared storage, and storage services (such as compression, deduplication, thin provisioning and so so forth) are all part of the basic package.
The better enterprise clouds incorporate or obviate the need for WAN optimisation technology, offer fully integrated hybrid cloud computing, a bare metal hypervisor or microvisor, and have some form of workload migration/maximization software. (Sadly, none of the load-maximization bits are licensing aware at the moment, but that was probably a pipe dream on my part.)
Most enterprise clouds offer orchestration to spin up groups of applications as services, incorporate an app store or marketplace and integrate with hybrid identity services allowing for Role Based Access Controls (RBAC) that work on a combination of on-premises, service provider and public clouds.
Software Defined Networking (SDN) has found its way into today's enterprise clouds as well, but as the argument over just which approach to SDN will win out is still very much in the air, it's a little to early to know if the solutions provided by any given vendor will matter in the long run.
REST APIs and self-service portals are, of course, included. An enterprise cloud wouldn't be much of a cloud if it didn't offer those! But it is worth noting that these self-service options most often incorporate robust RBAC options that allow for deep tracking of who does what, when, where and how. Added to appropriate reporting, this information is important for auditors.
What is only partially available
Perhaps the most distressing partial feature of today's enterprise clouds is my dream of fully automated and integrated backups. I wanted application aware, auto-configuring, auto-testing backups. Ones that would be able to back up to whatever on-premises storage you happened to have, to secondary sites, to service providers or the public cloud.
Sadly, the closest we get in most instances is the SDI vendor automating snapshots and offering you a way to buy more of their gear to send your snapshots to. As an extension of this, fully automated and integrated disaster recovery is still narrow and limited in today's enterprise clouds; it only works if you do it exactly as the vendor envisioned it to get you buying the maximum possible amount of their gear. Otherwise, you're stuck hunting third-party software as we've done for the past umpteen years.
There's a lot of work still to be done here.
Adaptive monitoring software has been implemented by enterprise cloud vendors, but only in a limited fashion. The onboard monitoring solutions rarely offer any insight into the operating systems or applications inside the virtual machines or containers. I envisioned a solution that would not require manual configuration, but integrate with workloads, not just the infrastructure. We're not there yet.
Another feature only partially implemented in today's enterprise clouds is predictive analytics software. Most vendors provide some version of it, but nobody is close to the standard set by Turbonomics. Similarly, autobursting – orchestration that would hot-add capacity then scale back down when possible – never really did get born. The operating systems are taking their sweet time to support it, and customers will take even longer to migrate to the latest.
Management software to allow us to manage the hardware is hit-or-miss. Many enterprise cloud solutions are built on the likes of Dell, HP or Supermicro that offer lights-out management controllers and IPKVM solutions. The ability to get down into the metal and make changes to the BIOS, diagnose a hardware error or so forth is, however, often quite limited in enterprise cloud offerings. Unfortunately, almost none of the vendors seem to offer their cloud stacks on top of truly "disposable" open compute hardware, so there remains an unmet need in the ability to baby balky nodes.
What's not included
Notably lacking from any of today's enterprise clouds is integrated chaos creation. If you want a Chaos Monkey, you have to integrate your own. That saddens me mostly because it means that this level of automated testing isn't yet accepted in the mainstream of IT, which means we collectively aren't as good at our jobs as we like to think.
Also missing from most clouds is any concept of data tagging, data locality or data sovereignty tracking. At best you can set up different clusters as different "regions" and manually ensure that workloads aren't in the wrong jurisdiction. Most don't even offer that, and it's woefully inadequate to start with.
The final missing piece of the puzzle is the incorporation of the buzzword du jour: machine intelligence. In the context of an enterprise cloud this would be a solution that ran a Chaos Monkey, noted failures, paid attention to sensors and log files from metal to application, and learned to predict (and thus avoid) failures before they happen. Most of the large public cloud providers have at least a nascent version of this, however I suspect we're still a decade away from seeing this in our enterprise clouds.
Enterprise clouds are a lot closer to my SDI block dream today than they were six months ago. A year from now I expect we'll have not one, but at least four different vendors offering these things with 90 per cent of the asks in place. It's been a long haul, but the end is in sight. ®