Topics


Blogs


Forums


Samples


Media


Labs


Resources

 




DevCentral > Weblogs > Lori MacVittie - Two Different Socks
 Virtual Infrastructure in Cloud Computing Just Passes the Buck
posted on Tuesday, December 01, 2009 3:52 AM

There are many good reasons to go down the virtual infrastructure road. The illusion that it’s cheaper than dedicated hardware solutions is not one of them.

I was reading an interesting predictive article on WAN optimization that contends that virtualized WAN optimization controllers (WOC) are, well, just better than sliced bread. One of the reasons why the author opined this way was presented as the great benefits of horizontal scalability (linear) in cloud computing environments.

blockquote Savings and scalability.  This approach ensures that there is no need for dedicated hardware to support WAN optimization, saving on CAPEX and OPEX.  Cost savings will also be realized through virtual scalability.  As enterprises add more services or applications to be accessed by additional remote workers via the cloud, the virtualized WAN optimization model will be able to scale linearly.

The implication here is clear: WAN optimization via virtual solutions saves CAPEX and OPEX over dedicated hardware and additional savings are achieved through virtual scalability. But that’s ignoring that the initial investment cost is simply shifted from CAPEX to longer-term OPEX when scalability enters the picture. Not just scalability of the solution, but the impact of application and virtual infrastructure scalability on the solution as well.


VIRTUAL INFRASTRUCTURE is just PASSING the BUCK

Back in the old days we used to deploy all our infrastructure as software. As you needed more compute resources, you deployed bigger, beefier servers on which to deploy said solutions. That’s vertical scalability. Today we prefer the cloud computing model: horizontal scalability. Pay as you grow, compute resources on-demand. Whatever you want to call it the appeal is certainly in the perception that it’s easier and, perhaps more importantly, cheaper than traditional hardware-based scalability solutions. But it’s not accurate at all to equate this model with what is essentially “cheaper” scalability. The operational expenses associated with management, the cost of additional licenses, integration, and the hourly costs associated with the cloud computing environment in question all must be factored into the equation lest we fall prey to the hype that encircles cloud computing today.

One of the reasons you see cost savings in cloud computing is that the costs of the hardware – the physical servers – are shared. You only pay a “nominal” fee per hour for using that   hardware. The cost of that hardware is shared across hundreds of other customers, all seeking the same reduction in operating and capital expenditures. So far, so good. Sharing the physical hardware certainly does spread the cost around and results in a cheaper operating environment – at least for the customer.

passbuck But when you start virtualizing the infrastructure (as in virtual software equivalents) you generally don’t get to share the costs of the solution and you never share the costs of management. Most of the time you just share the same costs you do for any other generic virtual image: the underlying physical hardware. You’re also forced to scale horizontally based on the capacity constraints inherent in the virtual image. The provider and/or solution vendor sets the RAM/compute resources available for the virtual instance and if you need more resources when you’ve reached the largest configuration you’ll have to start scaling horizontally. Whether you want to or not. The second image incurs the same management costs as well as the hourly fees. Likely, too, you’re paying for the licensing because virtual versions of solutions aren’t free, after all, unless you’re leveraging open source solutions that are.

You don’t share those costs with anyone. They are yours, and yours alone. The buck passes from CAPEX to OPEX. CAPEX is reduced, yes, but OPEX? Not so much. Perhaps that’s better from an accounting point of view, but from a total cost perspective it doesn’t really change much.


SCALABILITY of APPLICATIONS IMPACTS COSTS of VIRTUAL INFRASTRUCTURE

You can, of course, choose the largest image and thus avoid horizontal scalability. But that is going to increase the costs of the solution overall. Consider the virtual equivalent of an application delivery controller delivered via Amazon EC2 on its largest (quadruple large) image is $4.80 / hour (based on pricing listed by Zeus Technologies for its virtual  solution on Amazon). It is unlikely you’ll have any hour in which that solution is not used. Assuming even one request handled per hour, every hour, every day you’re looking at more than $42000 per year. Don’t forget, too, you may likely have additional charges for bandwidth – both ingress and egress. Not nearly as “inexpensive” as purported. You could start smaller, but that means it’s more likely you’ll need to “upgrade” midstream. This is far easier to do with a virtual infrastructure than with hardware, at least from a physical deployment Someone is happy with this situation, but probably not you. perspective, but it is just as disruptive a process and may lead to jumping onto the horizontal scalability path earlier rather than later because it is so easy to simply “add another instance” when compared to “upgrade to a new image.” Consider, too, that deploying virtual infrastructure means it is not integrated with the rest of the environment. That may not sound bad, until you realize that automatic scalability means new instances of applications – and perhaps other infrastructure solutions - may be popping up that you need to manage via the infrastructure. How is the infrastructure going to know about it? Either you are manually managing this process or you are going to be doing some integration work. That’s yet another soft-cost of “scalability” that isn’t factored into the equation when comparing hardware to virtual infrastructure.

Contrast that to a model in which services are provided via shared hardware infrastructure solutions. The cost of the hardware is not nominal. But like the rest of the physical infrastructure its costs are shared across all customers. Providing traditional network and application network solutions as services is inherently better suited to a cloud computing environment in that it allows the management costs to be shared (the provider manages the solution, not the customer) and is completely on-demand. Scalability is not the concern of the customer and generally speaking the limitations on RAM/compute resources do not exist in the same way they exist in virtual solutions. Bandwidth in both scenarios can be limited or unlimited, depending on requirements and implementation. Integration should also be taken care of by virtue of the fact that it’s a part of the cloud computing environment and the provider likely wants to ensure that they are billed properly for services rendered.

The current method of deploying a virtual infrastructure actually breaks the “shared resources, shared costs” model of cloud computing and negates the cost savings associated with the elimination of CAPEX for the hardware with the OPEX costs of management, integration, licensing, and a more constrained operating environment that ultimately leads to the need to scale out sooner than would otherwise be required. Certainly a shared model could be implemented via virtualized software solutions, but this model has the same implementation roadblocks as hardware solutions that lead to non-implementation today. Virtual infrastructure shifts many of the management and maintenance-related burdens offloaded by a public cloud computing model back onto the organization and requires more vigilance and dedication to ensuring the overall architecture is operating as expected.


VIRTUALIZED INFRASTRUCTURE is PROBABLY YOUR ONLY OPTION

Today, virtualized infrastructure may be the only option for an organization to obtain the control and choice that is currently lacking in today’s cloud computing environments. Deploying hardware solutions and associated services requires an investment on the part of the provider and additional time and investment in developing the means by which customers can take advantage of the solution via services. While most providers invest in hardware solutions without pause, they rarely take the next step in integrating its offerings as services for customers. This means that if you need specific infrastructure components – application acceleration, WAN optimization, web application security – that you’ll likely need to go the virtual infrastructure route. That’s not all bad; this path leads to control and isolation of implementation and configuration, which can be a requirement for conforming to organizational security policies. Organizations having concerns about the impact of other customers sharing infrastructure resources (they already do, but a service-based model brings this to the fore) will almost certainly want to take advantage of the isolation afforded by a virtualized infrastructure implementation.

I’m not arguing against virtual infrastructure in theory or against the control and choice they offer customers. There are challenges with such implementations, mind you, but that’s not really the point today. I’m simply arguing against the “it’s cheaper” mantra that is patently false and fails to take into consideration all the variables in the equation and instead focuses only on the most tangible ones.

There are certainly benefits realized from both deployment models and it is up to the organization to decide which model is right for them. But don’t fall into the trap of thinking virtual infrastructure is a “cheaper” solution, because when you step back and take a look at the entire cost of a solution, that’s just not the case and in fact a services-enabled infrastructure may be a much more financially advantageous solution – except for the provider.

Which may be the real reason the only option you ever have is a virtual one.

Follow me on Twitter    View Lori's profile on SlideShare  friendfeed icon_facebook

AddThis Feed Button Bookmark and Share

Related blogs & articles:



 
      

Feedback


12/1/2009 4:55 AM
Gravatar Here is another thing to ponder. The classical Omnea Mea Mecum Porto approach. If you want to avoid any type of cloud provider lock-in you want to build your solution stack as portable as possible. If you depend on piece of shared specialized hardware you are locked to that cloud provider.

Customers are lucky that they have a choice of legacy approach with dedicated/shared hardware infrastructure or gain the flexibility of virtualization. While an example I will give is not cloud one it shows the benefit of virtualization approach. Customer replaced hardware ADC with one running in their virtual environment. They've incurred 75% performance increase over hardware solution and due to simplicity of management reassigned 2/3rds of staff that was needed to manage hardware ADCs to other roles (they didn't need to hire new staff to handle other tasks as they grew). (Reduced capex and opex while increased manageability and increased performance.)
Izzy

12/1/2009 6:58 AM
Gravatar Is there any way you can provide the cost of an equivalent Big-ip configuration to the quad sized EC2 instance? It is hard to claim the cost point is false without some type of comparison between the actual costs.

I think you are also skipping the cost of supporting the hardware and assuming that anyone interested in this type of solution has the staff to support the hardware version. The cost of the Zues product is probably more along the lines of $51k a year with 24x7 support (24*365*$4.80 + $750 * 12 = $51k). While it is surely arguable that the support you will get with the cloud solution will be right for the situation it still needs to be factored into both sides of the equation.
Carson McDonald

12/1/2009 7:14 AM
Gravatar @Izzy,
The trick with portable solutions is that it's never truly portable because the solution usually hits it's stride on where it was developed from. Because virtualization has to rely on how it interfaces with hardware and the drivers it uses or the hardware uses to make it all work.

#Bhattman
Chetan Bhatt

12/1/2009 7:23 AM
Gravatar @Carson

I will look into the equivalent hardware platform and try to price it out - although simple hardware equivalency isn't quite a fair comparison because it's likely in terms of TPS more compute will be needed for sw than hw simply because of (1) specialized, optimized network stacks and (2) switch fabrics/backplanes process traffic more efficiently than generic software NIC drivers.

Of course then you get into life of the investment - how many years do you compare to? 2-5 is typical for infrastructure products for hardware, but software...the ease of deployment could reduce that and the lack of portability (as noted by @Chetan) could extend it. Will be interesting to see the #s in a few years to see how that pans out.

Good point re: support/maintenance for both sides of the equation. It isn't clear whether support is part of the $4.80/hour or not; it may be already factored in - the base cost of the Amazon AMI is already included, so that pricing may reflect a "total" solution in that regard.

Lori

macvittie

12/1/2009 7:27 AM
Gravatar Lori,

If you chose to argue against the "it’s cheaper" mantra, may I point out that $4.80/hour does not add up to "more than $48,000 per year" on my calculator!

Moreover, seeing as you chose Zeus' pricing for your example, let me concur that selecting the largest 'quadruple image' version to handle one request per hour/per day/per year would indeed be far too expensive. It would be much more sensible to select Zeus' smallest image at less than $.90/hour, amounting to about $7,800/year. If you just need layer 7 load balancing, the price is less than half of that.

Upgrading virtual hardware (at least in Zeus' case) need not be very disruptive; on EC2, moving from one Zeus instance size to another takes a matter of minutes and is likely to incur a maximum of 30 seconds of downtime (IP address propagation in EC2). Granted, only something you’d want to schedule infrequently, but not an argument against virtual infrastructure when you consider the alternatives.

Virtualized infrastructure is not the only option at present. Cloud providers do provide shared services based on hardware load balancers (including F5's); this can be cost-effective for everyone concerned but they must obtain and hold the number of customers sharing it in the 'sweet spot', and ensure that customers must play well together. For this reason, shared systems have a high markup to the customer and offer limited control and functionality.

Virtualized dedicated infrastructure may be more expensive than a slice on a shared system, but because it is dedicated, it gives customers much more functionality and control, with much less risk of contention; for some customers, this will justify the additional cost.

So, customers have a choice, and anyone who can use a calculator will hopefully make the correct one for them!

Owen (Zeus)
Owen Garrett

12/1/2009 7:36 AM
Gravatar @Owen

$4.80 / hour
24 hours in a day = $115.20 / day
365 days in a year = $42048

You are absolutely right - I am updating now.

The comment regarding "one request per hour every hour" was not intended to be interpreted as "that's your entire load".

It is unlikely that you would deploy a solution that would see NO requests in any given hour interval (bots, scans, miscreants, if nothing else, will ensure usage 24 hours a day), thus "pay for what you use" is technically true but what you end up paying for is 24x7x365. The point of that statement is to remind folks that even a SINGLE request in any given hour period means they are charged for the entire hour.

Of course if you only had 1 request per hour you'd choose something a lot smaller - if you even chose anything at all.


Lori

macvittie

12/1/2009 8:38 AM
Gravatar If you have less then 10 requests per second you are probably looking at this just from development perspective. In such case you can elect to go with free traffic manager (also available from aforementioned software ADC vendor).

68.4 GB of memory, 26 EC2 Compute Units (8 virtual cores with 3.25 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform is pretty large instance with a lot of CPU and I/O power as well as a lot of caching capability. If I would venture to extrapolate from existing performance data we would be could looking at close to 10 Gbps performance at L7 (inspecting and manipulating traffic) with option of several hundred GB of caching space. I think you will be looking at some high end BIG-IPs to match the performance at L7. 8800?
Izzy

12/1/2009 6:37 PM
Gravatar This post was mentioned on Identica by lorimacvittie: Virtual Infrastructure in Cloud Computing Just Passes the Buck http://tinyurl.com/yzw54am
uberVU - social comments
 Leave Feedback
Title  
Name  
Email
Url
Comments   
Please add 2 and 6 and type the answer here: