Articles about the beauty of composable infrastructures (sometimes also called “infrastructure as code”) made me take a closer look at this new hype.
So what is all the noise being made about? To keep it short and simple: It is about high-density racks comprised of disaggregated physical resources for compute, storage and – to some degree – networking (physical NIC’s cannot be dynamically connected or disconnected from compute resources). Whenever a workload is expected to run, either bare-metal, in a virtual machine or a container, these resources can be dynamically composed through a single management interface. Dedicated hardware management will logically connect the respective resources, and dynamically adapt the infrastructure at near-instant speed on the fly, if the workload once requires more of a resource. And when the resources are no longer required, they will be returned to the resource pool. Basically, hardware configuration is completely automated.
The benefits are quite obvious: Cost-effective use of your physical infrastructure, because under-utilization and over-capacities can be avoided, faster deployment of new applications, optimum application performance, increased productivity and agility, as well as reduced operational effort and cost. However, there are also some limitations: The hardware building blocks are still rather inflexible. Processors and memory are tightly bound to the motherboard of a single server; aggregating and pooling them across units is not possible. Furthermore, there are no industry-wide standards in place yet, which results in a hardware vendor lock-in.
The benefits of composable reminded me of the software-defined data center approach. With this approach, hardware is also pooled and shared; provisioning, configuration and operation including the entire lifecycle management are automated; a policy-driven and adaptive resource orchestration is also supported.
There are a few minor differences, too: with SDDC all resources are virtualized, and hence deployable on any hardware (even commodity hardware), while the resources of a composable infrastructure are physical resources, which have to suit to the management interface of the infrastructure vendor. In both cases, there is a unified management for all resources; but as said: with SDDC the resources are virtual, while with composable they are physical. But basically you can achieve similar targets with both approaches.
I was wondering why vendors of composable infrastructure implement something in hardware that can be implemented in software, and even better, in a finer granularity, faster, and at lower efforts, while avoiding hardware dependencies. I found only a single argument: composable infrastructures enable you to run applications bare-metal, which is not supported in a software-defined data center. But do such applications really need a high level of flexibility? Is a composable infrastructure really the ideal solution for them? Or is it like taking a sledgehammer to crack a nut?
My conclusion after having a deeper look at composable: there is no compelling event for adopting it. With a software-defined data center approach, you will achieve the same, in a more elegant, and more importantly, in a tried and tested way.
For more information about software-defined data center implementations, have a look at PRIMEFLEX for VMware Cloud Foundation.