Network services, the problem statement
Now that the dust has settled from Embrane’s launch, I wanted to take a step back and address some of the insightful comments, questions and reactions that were raised, particularly in the technical blogosphere. While I’m happy to see that the heleos platform was welcomed with enthusiasm, I realize that the conversation was quickly pushed to the “how?” while plenty of people were still puzzled by the “why?”
Stefan Avgoustakis summed it up very well when he commented on Brad Hedlung’s blog, “Why do I need to buy an architecture?” People embrace solutions that solve new, real world problems, not just cool architectures. And, while our technical white paper does highlight the flexibility of the heleos architecture, a bit of a preamble is needed to put it in the context of the problem it intends to solve. Over the next few weeks I will attempt to review the problem statement from a technical perspective in a 3-part series:a tale of layer 4-7 network services deployments and four quadrants. Let’s get started.
The 4 quadrants
If you’ve ever had the opportunity to deploy a L4-7 network services layer in a data center, you’ve probably dealt with two simple dimensions: you picked the form factor of the appliances you wanted to deploy and you selected the type of tenancy for the appliances. At a very high level, you picked between physical or virtual appliances, and you picked dedicated or shared tenancy. Chances are you spent a lot more time sizing the actual appliances (how big of a physical/virtual appliance and how many tenants) than the time you spent selecting physical/virtual and dedicated/shared along these two dimensions. Chances are the two dimensions were not that interesting, unless your goal was flexibility of deployment… but even then, did you really consider all the options?
Plotting the two dimensions on a graph, you end up with 4 quadrants. These quadrants roughly map to variations of a number of metrics: price per tenant, maximum performance per tenant, service level agreements across tenants, automatability of the solution. You can name the metrics you care about; for the sake of this conversation, we’re interested in looking at two of them: prices and service level agreements. Without attempting any quantitative analysis, allow me to postulate that when it comes to prices, the first and the fourth quadrants sit at opposite ends of the spectrum; dedicating physical appliances is a lot more expensive than sharing virtual appliances, isn’t it? It will come as no surprise that every user wants the experience of the first quadrant with the prices of the fourth.
Historically, enterprise IT users have accepted to comfortably sit in the first quadrant, at least for network services that are tightly coupled with the applications they belong to. How many applications design best practices have been built around shared appliances? None, right? But how many physical load balancers have been purchased to simply front end pairs of application servers? “Load balance” everything to server A, and when you see a failure, switch everything to server B. Ever thought of sharing that load balancer? Probably not.
The first quadrant is great if you can (a) commit resources to a specific application for an extended period of time, or (b) aggressively and effectively recycle resources across multiple applications through their useful lifespan. And this is where enterprise IT and service providers diverge: while enterprise IT can still use (a) to justify the costs of sitting in the first quadrant, service providers will need to find creative ways to make (b) a reality, or pick another quadrant. (b) sounds an awful lot like yet another definition of “cloud”, doesn’t it? This is the essence of the problem we’re trying to solve.
We live in an IT world that has traditionally associated “sharing” to “trouble”. Sharing is something we instinctively reject, something that can be considered only for use cases at the very low end. Can the cloud change that? Where do you put your bets? Will we all one day be happy in the third and fourth quadrants? And if not, do we really feel comfortable with the state of our technologies in the first and second quadrants? I will pick this up in my next post when I take a closer look at multi-tenancy in the cloud.