Virtual Works introduces a significant new approach to delivering IT infrastructure to data centers that we call Composable Systems, an integrated fully software-defined infrastructure platform that includes native virtualization of compute, storage and networking resources able to run applications out of the box. The first generation of IT infrastructures were “siloed” architectures where compute, storage and networking were selected separately. Starting from 2007, a second generation of converged infrastructure systems emerged that bundled existing server, storage and networking products together with management software. Hyperconverged or HCI systems emerged in 2012, as a third generation – offering tightly coupled compute and storage hardware that eschewed the need for a Storage Area Network (SAN). In almost all cases, networking hardware is not included as part of the HCI system and must be procured separately. None of these first three generations of IT architecture can meet all the needs of all customers. We believe that a fourth generation of Composable systems will emerge making it extremely easy for customers to consume IT while meeting all of their performance, resiliency and cost objectives. Our view of Composable systems aligns well with Gartner’s view of a 3rd phase of integrated systems.
Requirements that modern infrastructures must support, and provide an outline about how infrastructures can be built to meet these requirements.
2.1 Workload Diversity
If IT infrastructure is to be an attractive platform for all customers, it must support all types of applications, including today’s business-critical Tier-1 applications such as Oracle, Microsoft SQL Server, Exchange, SharePoint as well as tomorrow’s emerging applications such as BI, Hadoop, NoSQL and predictive analytics. It also needs to support new styles of application development and deployment, like Docker.
2.1.2 How it can be met
• An infrastructure must be easily scalable as needed, so there is no need to overprovision at the start, nor do a fork-lift upgrade later. More specifically, to support a wide diversity of workloads with varying requirements, it is important for the infrastructure to support independent scaling of compute, storage and networking.
• Since multiple workloads may be running on the same infrastructure, the IT infrastructure should allow each workload to specify Service Level Agreements (SLAs) and for the infrastructure to be able to enforce these SLAs, so each workload gets predictable performance.
• The infrastructure must have an attractive cost point and an efficient physical footprint.
• The need for operational simplicity is dealt with as part of a separate requirement to be described shortly. The usage of the infrastructure must be optimized.
• Each workload should consume just the resources it needs – overprovisioning should not be necessary.
• Compute, storage and networking must all be virtualized, so that the infrastructure allocated to an application is neither under or overprovisioned.
• Storage resiliency must be provided in a space-efficient manner – by using redundant array of independent disks (RAID) instead of multiple copies of data, for example. While some in the industry have downplayed use of RAID recently, the truth is that de-clustered RAID has performance and rebuild times that are superior to other touted alternatives such as erasure coding.
• Storage must provide data reduction services such as deduplication, compression, snapshots and thin provisioning. This is particularly important for Flash storage. Advanced data services such as snapshots and replication must be space and bandwidth efficient.
To support Tier-1 applications, the infrastructure must support high performance and lowlatency. High performance in each of compute, storage, networking and virtualization layers are important. The performance must also be predictable.
How it can be met
• The infrastructure must use the latest generation of servers, all Flash storage, high performance networks and modern hypervisors with low overheads.
• Virtual Machines (VMs) must be given direct access to block storage without layers of translation to minimize storage latencies.
• Enough compute resources must be dedicated to storage controller functionality to ensure that the inherent read/write capability of the storage drives is not inhibited.
• Low-overhead implementations of network and storage virtualization must be used.
• VM level network microservices such as routing and firewalls must be provided to minimize the need for east-west traffic to hairpin to physical hardware and back.
• Predictable performance must be supported through SLA enforcement and use of all flash storage.
Simple to Deploy, Manage and Use
It should take only a small number of people and minimal expertise to deploy, manage and use the infrastructure. It should take only minutes after the hardware has been racked and powered, to set up and get operating everything needed to run the first application. The infrastructure should be composable – it should be easy to separately carve out the exact compute, storage and network needs of each user or tenant of the infrastructure. It should be simple and non-disruptive to add more infrastructure or to upgrade it. Agile, dynamic environments need independent scaling of compute, storage and networking. It should be easy to know if an application is meeting its SLA and to remediate if it is not.
It should all be able to be managed from a single portal – no silos. It should be easy to bring in the infrastructure and have it sit side-by-side with existing infrastructure and be able to move existing applications and associated data to the new infrastructure.
How it can be met
• The entire infrastructure must be software-defined, meaning that it can be easily provisioned using an Application Programming Interface (API), using software or from a single portal – no need to resort to scripting, Command Line Interface (CLIs), terminals and keyboards.
• Analytics and optimization techniques should be used to monitor and optimize the placement of applications and the assignment of infrastructure to each application.
• Virtualization of all functions (server, storage and networking) must be integrated into the infrastructure and controlled through APIs to ensure fast and automated provisioning of the infrastructure.
• Storage and networking capability must be VM- or container-centric rather than LUN- or network-centric. A composable infrastructure would eliminate unnecessary choices for the customer, where such choices add to complexity without providing significant value. As an example, Flash storage has become cheap enough relative to spinning disks that all Flash storage is appropriate for most application needs – other storage requirements such as for archival storage can be satisfied using the public cloud. This simplifies the infrastructure and its management, reduces unnecessary customer choice, and eliminates use of failure-prone mechanical components from the data center.