I was recently pulled into a Twitter conversation that spawned off a blog post Paul Galjan made concerning Microsoft Azure Stack IaaS and its use cases in which he correctly pointed out that Azure Stack is not just a VM dispenser. The question was posed as to what exactly constitutes IaaS vs. virtualization (VM dispenser) and where does each fit into the hierarchy of “cloud”?
Let’s start out by clearly defining our terms:
Virtualization in its simplest form is leveraging software to abstract the physical hardware from the guest operating system(s) that run on top of it. Whether we are using VMWare, XenServer, Hyper-V, or another hypervisor, from a conceptual standpoint they serve the same function.
In Enterprise use cases, virtualization in and of itself is only part of the solution. Typically, there are significant management and orchestration tools built around virtualized environments. Great examples of these are VMware’s vRealize Suite and Microsoft’s System Center, which allow IT organizations to manage and automate their virtualization environments. But does a hypervisor combined with a robust set of tools an IaaS offering make?
IaaS. Let’s now take a look at what comprises Infrastructure as a Service. IaaS is one of the service models for cloud computing, and it is just that – a service model. NIST lays it out as follows:
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).
You may be looking at that definition and asking yourself, “So, based on that, virtualization with a robust set of management tools is capable of delivering just that, right?” Well, sort of, but not really. We must take into account that the service model definition must also jive with the broadly accepted “Essential Characteristics” of Cloud computing.
- On-demand self-service
- Broad network access
- Resource pooling
- Rapid elasticity
- Measured service
Essentially all of these core tenets of “cloud” are capabilities that must be built out on top of existing virtualization and management techniques. IaaS (as well as PaaS for that matter) caters to DevOps workflows enabling Agile code development, testing and packaging, along with release and configuration management, without regard for the underlying infrastructure components. This is clearly not the same as virtualization or even “advanced virtualization” (a term I hear thrown around every so often).
So then how does that relate back to the conversation concerning Azure Stack IaaS and VM dispensers? For that we need to look at how it plays out in the data center.
Building a virtualization environment has really become table stakes as a core IT function in the Enterprise space. There are plenty of “DIY” environments in the wild and increasingly over the past few years we’ve seen platforms in the form of converged and hyper-converged offerings that streamline virtualization efforts into a turnkey appliance for hosting highly efficient virtualized environments – Dell’s VxBlock, VxRack, and VxRail being leaders in this market. That said they are not “IaaS” in a box – they are in essence, and by no means do I intend this as derogatory, “VM dispensers,” albeit highly advanced ones.
For customers that want to move beyond “advanced virtualization” techniques and truly embrace cloud computing there are likewise several possibilities. DIY projects are certainly plausible though they have an extremely high rate of failure – setting up, managing, and maintaining home grown cloud environments isn’t easy and the skill sets required aren’t cheap or inconsequential. There are offerings such as Dell’s Enterprise Hybrid Cloud which build on top of our converged and hyper-converged platform offerings, building out the core capabilities that make cloud, cloud. For customers that are fundamentally concerned with delivery of IaaS services on-premises that can be delivered from a standardized platform managed and supported as a single unit, Enterprise Hybrid Cloud is a robust and capable cloud.
So, what about something like the Dell Cloud for Microsoft Azure Stack? In this case, it’s all about intended use case. First let’s understand that the core use cases for Azure Stack are PaaS related – the end goal is to deliver Azure PaaS services in an on-prem/hybrid fashion. That said, Azure Stack also has the capability to deliver Azure consistent IaaS services as well. If your organization has a requirement or desire to deliver Azure based IaaS on-prem with a consistent “infrastructure as code” code base for deployment and management – Stack’s your huckleberry. What it is not is a replacement for your existing virtualization solutions. As an example, even in an all-Microsoft scenario there are capabilities and features that a Hyper-V/System Center-based solution can provide in terms of resiliency and performance that Azure Stack doesn’t provide.
In short – virtualization, even really, really, good virtualization, isn’t IaaS and it’s not even cloud. It’s a mechanism for IT consolidation and efficiency. IaaS on the other hand builds on top of virtualization technologies and is focused on streamlining DevOps processes for rapid delivery of software and business results by proxy.
In scenarios where delivery of IaaS in a hybrid, Azure-consistent fashion is the requirement, Azure Stack is an incredibly transformative IaaS offering. If Azure consistency is not a requirement, there are other potential solutions in the forms of either virtualization or on-prem based IaaS offerings that may well be a better fit for your organization.