NVMe SSDs are becoming an expected storage resource for developers writing or deploying high-performance applications.  If you're a cloud operator providing either public or private clouds, how do you satisfy your tenants with instantly provisioned NVMe volumes connected to their bare-metal servers or virtual machines?

“Bare-metal” describes a platform where the physical compute, storage and networking resources are available to the user and her choice software – there’s no virtualization or abstraction of the underlying resources.  No hypervisor; no software-defined-storage; no software-defined-networking.  Customers use it to support enterprise apps that don’t run on cloud infrastructure or for performance reasons.  Customers value not just raw performance, but the fact that the performance is flawlessly predictable and not subject to noisy-neighbor semi-outages and unpredictability that plagues other solutions.  Bare metal platforms have become critical for analytics, database and state-ful applications that have been optimized for flash-based storage and SSDs.

While hypervisor-based cloud infrastructure provides more flexibility versus bare-metal clouds, block storage is virtualized and abstracted via multiple layers of software abstraction.  Traditional hypervisor virtualized storage is typically a fraction of the underlying, physical NVMe SSD resources.


  • Compose virtual machines (VM) or bare-metal servers with an arbitrary selection of SSDs from a common pool
  • Run any OS, Hypervisor or software on the SSDs mapped to the VM or bare metal server
  • Realize near-native NVMe SSD performance, latency with predictable performance
  • Reduce costs by avoiding overprovisioning
  • Reduce costs by scaling capacity as you grow


  • Private cloud operators are always guilty; always at-fault for project delays
  • Public cloud operators are losing business due to inability to provide what tenant wants

Because cloud infrastructure is constructed from a physical collection of processor, memory, storage and networking, it prohibits today’s real-time digital businesses where the application and data are constantly changing.  Tenants that support the business don’t have the luxury to wait for days, weeks or months until an IT admin physically configures or reconfigures a server with additional resources every time the app or data changes.  The monetary impact of delayed schedules or idle developers can be substantial.

  • Always being innocent is too expensive

The brute-force solution is to overprovision – e.g. create several racks of “superset servers” that are packed to the gill with the highest end processors, memory and up to two dozen high-end SSDs per server.  Of course, that’s not affordable.  Some bare-metal public cloud vendors (e.g. Rackspace OnMetal) attempt a compromise solution by limiting their available SKUs to just a handful of CPU/memory/SSD permutations.


Attala enables “composable bare-metal infrastructure” & "VMs with virtual SSDs" using three critical capabilities

  • Hardware-based, networked SSD resources
    • Just like traditional bare-metal, a composable bare-metal server or VMs-with-virtual-SSDs have complete ownership of a set of SSDs.  However, these SSDs are allocated – in real-time and as needed – from a central pool of SSD resources.  To preserve the performance of locally installed SSDs, the Attala solution implements an end-to-end, 100% hardware path – from the server, across the network, to the SSDs and back.  Workloads running on the server will be hard pressed to discern any performance difference versus local SSDs.
  • Virtual SSDs
    • Using the Attala solution, composable bare metal servers or VMs are arbitrarily provisioned with any SSD or collection of SSDs (from the central pool).  Then this server/SSD “composition” is “delivered” to the user who then proceeds to load their favorite OS, hypervisor or app software, boot the server and operate with no knowledge that the SSDs weren’t actually local to the server.  The Attala solution accomplishes this via a host NVMf adapter that does full hardware emulation of an NVMe SSD (or SSDs) such that the host OS, hypervisor or driver - residing in bare-metal or VM - treat it as-if it were an actual SSD using standard, in-box NVMe drivers.  The solution also includes a mechanism to create these virtual SSDs - and their allocation to physical SSDs from the pool – using an out-of-band technique that enables both pre-boot and run-time provisioning.
  • Resource automation
    • Either the user or operator uses the Attala GUI or API to provision SSD resources for a given bare-metal server.  During provisioning, the user/operator does not need to be aware of the available pool inventory; SSD resources are autonomously selected and bound to the server.  A separate operator interface - including alerts - are provided to ensure that the SSD resource pool continues to have sufficient performance and capacity headroom for growth.