Kevin Houston, Founder of Blades Made Simple and all around server and blade rocket surgeon, posted an excellent thought provoking article titled ‘Why Blade Servers Will Be the Core of Future Data Centers ( http://bladesmadesimple.com/2011/10/why-blade-servers-will-be-the-core-of-future-data-centers/.) The article is his predictions and thoughts on the way in which the server industry will move. Kevin walks through several stages of blade server evolution he believes could be coming.
- Less I/O expansion, basically less switching infrastructure required in the chassis due to increased bandwidth.
- More on-board storage options, possibly utilizing the space reclaimed from I/O modules.
- External I/O expansion options such as those offered by Aprius and Xsigo,
- Going fully modular at the rack-level,extending the concept of a blade chassis to rack size and add shelves of PCIe, storage and servers.
I jokingly replied to him that he’d invented the ‘rack-mount’ server, as in the blades are not in a blade chassis, but inserted into a rack, access external storage in the same rack and have connections to shared resources (PCIe) in that rack. The reality is Kevin’s vision is closer to a mainframe than a rack-mount.
Overall while I enjoyed Kevin’s post for the thought experiment I think his vision of the data center future is way off from where we’re headed. Starting off I don’t think that blades are the solution for every problem now. I’ve previously summarized my thoughts on that, and some bad Shakespeare prose, in a blog on my friend Thomas Jones site: http://niketown588.com/2010/09/08/to-blade-or-not-to-blade/. Basically stating that blades aren’t the right tool for every job.
Additionally I don’t see blades as the long-term future of enterprise and above computing. I look to the way Microsoft, Google, Amazon and Facebook do their computing as the future, cheap commodity rack-mounts in mass. I see the industry transitioning this way. Blades (as we use them today) don’t hold water in that model due to cost, complexity, proprietary nature, etc. Blades are designed to save space and they’re built to be highly available, as we start to build our data centers to scale and our applications with more reliability designing them for cloud platforms, highly available server hardware becomes irrelevant. No service is lost when one of the thousands of servers handling Bing search fails, a new server is put in its place and joins the pool of available resources.
If blades, or some transformation of them, were the future I don’t see it playing out the same way as Kevin does. I think Kevin’s end concept is built on a series of shaky assumptions: external I/O appliances, and blade chassis storage.
Let’s start with chassis based storage (i.e. shared storage in the blade chassis. This is something I’ve never been a fan of as it limits access of the shared disk to a single chassis, meaning 14 blades max… wait, less than 14 blades because it uses blade slots to provide disk. In very small scale this may make sense because you have an ‘all-in-one’ chassis, but the second you outgrow that (oops my business got bigger) you’re now stuck with small silos of data.
The advantage of this approach however is the low-latency access and the high bandwidth availability across the blade back/mid-plane. This makes this a more interesting option now with lightning fast SSDs and cache options. Now you can have extremely high performance storage within the blade chassis which provides a lot of options for demanding applications. In these instances local storage in the chassis will be a big hit, but it will not be the majority of deployments without additional features such as EMC’s ‘Project Lightning’ (http://www.emc.com/about/news/press/2011/20110509-05.htm) to free the trapped data from the confines of the chassis.
Next we have external I/O appliances… These have been on my absolute hate list since the first time I saw them. Kevin suggests a device based on industry standards but current versions are fully proprietary and require not only the vendors appliance but also the vendors cards in either the appliance or the server, this is the first nightmare. Beyond that these devices create a single-point-of-failure for the I/O devices of multiple servers, and run directly in the I/O path. Your basically adding complexity, cost and failure points, and for what? Let’s look at that:
From Aprius’s perspective ‘Aprius PCI Express over Ethernet technology extends a server’s internal PCIe bus out over the Ethernet network, enabling groups of servers to access and share network-attached pools of PCIe Express devices, such as flash solid state storage, at PCIe performance levels (www.aprius.com.) I’d really like to know how you get ‘PCIe performance levels’ over Ethernet infrastructure???
And from Xsigo: ’In the Xsigo wire-once infrastructure you connect each server to the I/O Director via a single cable. Then connect networks and storage to the I/O Director. You’re now ready to provision Ethernet and Fibre channel connections from servers to data center resource in real time (http://xsigo.com/.)’ Basically you plug all your I/O into their server/appliance then cable it to your server via Infiniband or Ethernet, why??? You’re adding a device in-band in order to consolidate storage and LAN traffic? FCoE, NFS, iSCSI, etc. already do that on standards based 10GE or 40GE and with no in-band appliance.
Kevin mentions this as a way to allow more space in the blades for future memory and processor options. This makes sense as HP, IBM, Dell and Sun designs have already run into barriers with the height of their blades restricting processor options. This is because the blade size was designed years ago and didn’t account for today’s larger processors/heat sinks. Their only workaround is utilizing two blade slots which consumes too much space per blade. Newer blade architectures like Cisco UCS take modern processors into account and don’t have this limitation, so don’t require I/O offloading to free space.
Lastly I/O offloading as a whole just stinks to me. You still have to get the I/O into the server right? Which means you’ll still have I/O adapters of some type in the server. With 40GE to the blade shipping this year why would you require anything else? GPU and cache storage argument? Sure go that direction and then explain to me why you’d want to pull those types of devices off the local PCIe bus and use them remotely adding latency?
Finally to end my rant a rack size blade enclosure presents a whole lot of lock-in. You’re at the mercy of the vendor you purchase it from for new hardware and support until it’s fully utilized. Sounds a lot like the reason we left main frames for x86 in the first place doesn’t it?
Thoughts, corrections comments and sheer hate mail always appreciated! What do you think?