The number of clouds being built that are doomed to failure is staggering. Which is a shame because the builders are getting better by the day.
Let me explain.
At Citrix, we get the benefit of talking to a lot of people that are actively building clouds. They come in and talk to us about a variety of projects they are working on; from networking to VDI to basic virtualization. For instance, not too long ago we spoke with a team from a system integrator (SI) that had plans for building their own cloud to offer to their customers — not an uncommon strategy. After laying out their plans to cloudify compute, storage, and apps, I had to ask about their plans for networking.
Like many others, they really hadn’t thought about it. The assumption was that “networking was already there” and no further thought was required. As you might imagine from the title of this blog, to say “networking is already done” when speaking about the cloud is to doom a cloud to its failure.
Here is the problem: Two of the key goals with clouds is multi-tenancy and elasticity. Networks, as they are traditionally built today, do not achieve either of these goals. Most networks are traditional tiered hierarchies with a series of stovepipes for application proxies. So when a single instance (be it an app or tenant) needs to stretch beyond what the hierarchy can support, bad things happen. Manual changes are required, assuming that the change can be supported at all.
Take for example the simple case of having the infrastructure scale with the compute resources. The right way of doing this is to have the network infrastructure work with the orchestration tier so that as additional load is detected, additional servers are spun up and the network is configured to automatically bring these new resources online. Lose the elasticity, lose the value.
On the surface, this appears to be geekery. Except that it isn’t. Building a network that has characteristics like multi-tenancy, elasticity, and coordination with orchestration requires that a game plan be laid out up front and from the top. The CIO needs to work with his leadership team to insure that all of the players are empowered to be a part of the solution from the start. Operating from a single perspective and then trying to encompass other elements (e.g., starting with compute and then trying to wrap in storage and networking later) are sure fire ways to yield an unoptimized outcome.
Fortunately, Citrix is busy working on tools to help.
It’s not enough to build products. we really see the next step is in delivering solutions that integrate the various components as much as possible so that they work off-the-shelf. In the case of cloud and networking, there are three key facets to the solution:
Make the Cloud Ubiquitous. Between CloudStack, NetScaler, and XenServer, Citrix occupies major footprints in over 75% of the cloud market today. We know what makes clouds tick and how to make them successful. But to truly make them ubiquitous requires building an ecosystem of developers, tools, and partners. To take the first step, Citrix recently contributed the entire CloudStack framework to the Apache Foundation to fire up the juices of the developer community. This has kickstarted active tinkering so that we can see the next generation of tools and products designed with the cloud as an integral component in mind. For more traditional enterprise ISVs, an Apache CloudStack presents an especially interesting opportunity to tie into a truly open ecosystem where their work can remain theirs if they so choose. We expect that this will lead to greater involvement from major ISVs as well as a burgeoning startup community which is good for everyone in the cloud space.
Integrate Networking. CloudStack has integrated elements of networking from the start with various open source tools based on Linux providing routing stacks, NAT capabilities, and automation. But the way that a router and firewall are considered key elements in any modern network, enterprise grade Service Delivery Controllers that provide functions like L4-7 load balancing are becoming just as much of a requirement if not more so. NetScaler in particular is a strong solution in that space and is already off to a start with active integration work that looks past much trivial API integration. Developers are already asking how they can improve the workflow for enterprise deployments and deliver on the promise of cloud around scalability, elasticity, and multi-tenancy. We expect 2012 to be an exciting year on that front.
Automate. The way that forgetting the network is a sure fire way to doom a cloud, forgetting to automate is a similar matter. Automation is especially salient when looking at how the network is automated so that it can dynamically act and react to application changes, tenancy changes, etc. Tools to enable automation by way of well documented APIs are front on the list to make sure that both scripting mavericks as well as ISVs have what they need.
So that’s how we will make sure to bring networking into the cloud. Now it’s your turn.
Start top down. Take a look at the cloud strategy plans that have been laid out and be honest with yourself: is it truly top down? Are all the stakeholders at play? Are they all getting a meaningful say? If the project started from one team or there is a single “cloud” team, then chances are that something is getting the shaft in the design and it’ll be a problem later. Start top down and be honest — make sure all the stakeholders are at the table.
Revisit your defaults. Every major organization, be it an enterprise, telco, or SI has had a series of defaults available to them when they need to get the a common task done. Need another rack of disks? Call the EMC rep. Need a switch or router? Call Cisco. Even Citrix has been a benefactor in that: need a remote desktop? Call Citrix. But when it comes to the cloud, all bets are off. Every vendor has approached their cloud differently and not all methods are going to be compatible with your strategy. Revisit your default choices for what tools that you use. This doesn’t mean existing vendors can’t work – it just means that even existing vendors need a honest assessment to make sure that they are compatible with your cloud strategy.
Revisit your processes. Chances are, the operation team has a number of well defined and well thought through processes. While elsewhere in the office, someone is asking why the big cloud players are getting 1 administrator to 4,000 servers. Much of this answer comes down to processes. Too many processes are not well automated today and making a cloud successful, let alone the the network it relies on successful, requires automation. APIs are the new CLI and processes that don’t take a hard look at how automation can simplify steps are doomed to failure.
The net-net of all of this chatter is simple: the rules for everything we’re doing in our infrastructure are changing. Things that we’ve taken for granted like networking are being completely redefined. Most critically, if key elements like your network aren’t a part of your new underlying design, it is almost guaranteed that your grand plans for cloud greatness will fail.
I never like to bode an infrastructure ill will, but if you don’t want to doom your cloud project, don’t forget the networking.