681

Playout Intelligence

Cloud Computing Is Not A Resource Problem – It’s A Design Problem

Most amateur database programmers will answer you that any kind of application “basically only needs one big table”. Well, Twitter has proved them wrong. Just throwing more resources at a problem isn’t necessarily the best idea if your design is already flawed. That is also true for cloud-based testing, or even cloud-based testing of your cloud-based applications.

I ran into similar problems when testing my deployment of 100 Asterisk servers last night and loading them with about 100,000 calls per hour. Lori Macvittie has a great summary on ports, load balancing, browsers, and polocies; here an excerpt (and read the full article!):

clipped from virtualization.sys-con.com
quote-left A firm wanted to test their application and need 100 browser instances. In the old days it would have required 100 machines — that would be a massive undertaking. Even with hardware virtualization, you would need 5 to 10 machines, and there would be some complex configuration issues. However, by putting it all in the cloud, they were able to sync up 100 virtual instances of the browsers and take them down over a weekend at a dramatic cost reduction.
It’s therefore important to understand what policies may be triggered by sudden bursts of traffic as well as what security policies may be triggered by the constant hammering of a single client at an application. It’s also important to understand the flow of requests and responses through the infrastructure and recognize the various touch points along that path. Doing so may ease the troubleshooting process greatly.

4 Responses

You can follow the comments for this article with the RSS 2.0 feed.

Hi Thorsten,

The issue Lori brings up is a network provisioning (lack of IP addresses) rather than a cloud-specific one. It would be the same if she had 100s of (non-cloud) physical machines; unless she supplied non-NATed PCs to test, there would still be the confused web-apps. So I would contend that the lack of resources (IP addresses) caused the issues she described, rather than cloud computing. In my opinion the design assumptions of the applications being deployed over cloud infrastructures are not in line with the new reality of execution environments (e.g. assumptions of non-NATed machines).

Theres a whole bunch of applications that need to be re-written due to (1) Cloud computing execution platforms (2) Multi-core processing environments. Thats good news for developer firms!

1 Sachin Agarwal June 18, 2009 11:05 am

You make some good points here, Sachin. I guess the lesson learned is that a lot of people who have little previous experience with large deployments also have little experience with the right testing environments. In effect they forgo basic testing principles and procedures that are “old” and well known and instead think that more resources can solve their problem instead of the right design – which is exactly my point.

On the other hand, if she would have 100 local PCs in her network, a DHCP router would’ve assigned 100 IP addresses, which in return would’ve avoided triggering flooding policies. Bad virtual machine setup, on the other hand, could lead to a single IP address for 100s of machines, resulting in her aforementioned triggering of flooding policies.

And yes, I’m looking forward to the order entry due to “please rewrite my applications” requests :)

2 Thorsten Claus June 18, 2009 1:02 pm

http://www.kemptechnologies.com/?utm_source=blog&utm_medium=pv&utm_content=zs&utm_campaign=home

For the small-medium businesses who are struggling with server issues, think about investing in a load balancer.

3 Frank June 26, 2009 1:27 pm

why *exactly*? When i’m struggling with server issues, I buy a load balancer – in general? Could you elaborate a little bit, please? or are you simply advertising that you have a load balancer at kemptechnologies? ;)

Please let me know, I’m genuinely interested where you see that connection, for what business need, and for what technology problem…

4 Thorsten Claus June 27, 2009 8:38 am

Leave a Reply

Required fields are marked with an asterisk (*), you may use these tags in your comment: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

blog comments powered by Disqus

Recent Tweets

Archives

Content © Playout Intelligence
Proudly powered by WordPress
Theme designed by Artisan Themes

Entries (RSS)
Comments (RSS)

31 queries.
0.635 seconds.

Creative Commons License
This Playout Intelligence blog post by Thorsten Claus is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.

All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer or sponsors.

Except where stated, all materials contained in this Web site are the copyrighted property of Thinkstorm. Permission is granted to use, copy and distribute these materials as presented in this Web site for personal, non-commercial use only. All copyright and other notices must appear in all copies as they appear in the original. All other uses are prohibited. (please also see these two articles about “All Rights Reserved” and general copyright law, with some focus on the US).

This site contains links to other sites that are not owned or maintained by Thinkstorm. These links are provided for your convenience. Thinkstorm makes no warranties about the contents of or products and services offered by such sites.

Thinkstorm shall not be liable for any injury, claim or damage whether direct or indirect which arises out of the use of this site or its contents or the inability to use this site. Thinkstorm shall not be liable for any injury, claim or damage whether direct or indirect which arises from the unauthorized access to or alteration of your transmission unless it results from the gross negligence or intentional actions of Thinkstorm.