How to design a scalable IaaS cloud

Ivan Pepelnjak
19 May 2011

Building an Infrastructure as a Service (IaaS) proof-of-concept is a no-brainer these days—take a few high-end servers, cram as much memory into them as you can, deploy the virtualization platform of your choice (VMware or Xen seem to be the most popular choices), slap some management software in front of the infrastructure—be it a point solution like vCloud Director or a services-oriented one like those offered by Joyent—and finally add a bit of networking and storage to the mix.

But scaling the architecture to accommodate an Amazon-sized cloud is a totally different undertaking.

Most IaaS architects design their cloud network infrastructure based on two simple—and wrong-headed—assumptions:

- Customers want Layer 2 broadcast domains.

- If you want to achieve high utilization, then having unrestricted virtual machine mobility across the whole infrastructure is a must.

These assumptions unnecessarily limit your design options to stretched VLANs spanning a whole data center. When implemented with traditional data center switches (for example, Cisco Nexus 5000 or equivalent switches from other vendors), the number of VLANs supported by the switches—1,000 to 4,000, depending on the model—directly dictates the number of customers you can support.

Amazon Web Services (AWS) has already proven that the customers do not necessarily demand Layer 2 domains in cloud services. AWS doesn’t support broadcasts or IP multicasts, even with its latest set of networking features, but it still boasts tens of thousands of customers. Likewise, unrestricted mobility isn’t a must; you just have to have a large enough number of virtual machines and physical hosts in a cluster to achieve good load distribution. VMware can’t have more than 32 hosts and 3,000 virtual machines in a cluster anyway.

Even if your cloud designers insist on having end-to-end VLANs across your data center, all is not lost. After all, service providers have been building large Carrier Ethernet networks for years, and what tenants in your IaaS cloud data center need is no different from what Carrier Ethernet (or Metro LAN if you prefer a better-sounding name) customers need—a VLAN or a set of VLANs between a number of endpoints.

Once you get past the notion that you have to buy data center switches, there’s a variety of field-proven choices that you probably already use in your service provider network. You just have to check whether VLAN provisioning on the switches interoperates with your chosen virtualization platform—ideally, the switches would auto-provision VLANs on access trunks based on VMware VirtualCenter information.

Related content

No Comments Yet! Be the first to share what you think!