Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We are a small start up in the early stages and are working on a SaaS-based Rails product. Currently, we use EC2 for a small instance and have a need for another large/extra-large instance as we are beginning to deploy to the Cloud and get ready to release our "alpha" version. While EC2 was my choice for numerous reasons (reliability, accessibility - small team is geographically dispersed, maintainability, and things of that nature), it appears to be rather expensive.

While the product will ultimately be deployed in the Cloud (be it EC2 or otherwise) and that experience would help the development team, would it make sense to purchase a physical server and stick it in the basement or bite the bullet and pay the price for EC2 (or other Cloud Providers)?

While such decisions are driven by numerous factors, it would certainly help to get the thoughts of other folks who may have been in similar situations. Hence, the post. Thanks much!

share|improve this question
    
I've written some ideas on SO, relating to Hadoop - prototyping for EC2 - but some should be applicable and save you $$. –  Iterator Sep 6 '11 at 1:46
add comment

2 Answers

Cloud computing is also called "utility computing", and you can leverage that analogy for your own analysis. We've done our own analysis of the role of cloud services in providing computing services and yes, the cost is rather high. Especially for 24/7/365 service.

A SaaS stack is going to have a certain number of machines always running just to keep the base infrastructure ticking, and that's without any user-load on the system. The servers and services you need for this are the foundation for the "base load" of your software utility company.

"Base load" is a term used in the electrical industry for the minimum electrical demand that they supply. Generating capacity that supplies base-load are power stations that take a while to spin up and spin down, such as coal or nuclear, or those that provide a constant supply no matter the time of day like hydro. Variable load, the demand above base load, is supplied by power stations that can be spun up and down very quickly, such as natural gas, or vary by time of day, like solar or wind.

For SaaS, base-load is the load required just to have your infrastructure up, plus the load minimum generated by your consumers. If your consumers keep strict business hours, your infrastructure may be doing mostly nothing for 12 hours a day. If they're global, or consumers, load will be all day every day.

When it comes to SaaS and utility computing, it is generally (though not always!) more cost-effective to supply base-load from infrastructure you own. The Cloud is great for supplying the variable load above base-load, since it doesn't always have to be running. This is why you also build the ability to rapidly deploy (and destroy) to the Cloud for handling peak loads, and build your application for horizontal scalability.

In the early stages when you have maybe three servers driving your application, the physical/virtual decision is a lot muddier; I can't tell you what is best. Once you've grown horizontally, it starts making more and more sense to supply base-load out of your own infrastructure rather than shared infrastructure.


That's speaking strictly financially, which is important. However, just as important is your ability to maintain the infrastructure. If you are fully dispersed and don't plan on having one of your staffers near a datacenter to handle hardware issues, then the added cost of a fully virtual infrastructure is worth the expense.

At some point in your application's growth you'll hit the point where running your own may make a lot more sense. That could be very far down the road, or pretty close, it all depends on what exactly you're doing with your SaaS application and how it performs.

share|improve this answer
    
Goos argumentation. I know one company spinning up 15.000 EC insances end of every day for their accounting.... for 1-2 hours, then they are gone again for a day. Good example where EX2 is cheap compared to own infrastructure. Baseload - sorry, get a VS or your own servers, but not something accoutned for by the hour. –  TomTom Sep 6 '11 at 4:14
add comment

Amazon EC2 seems to cost too much when speaking on "on-demand" instances. But prices for "Reserved Instances" seem reasonable enough when running just few severs. It costs approx 2000$ per year to run an Extra Large instance. It costs well enough to buy a new server with the same characteristics but not so much compared to wages you should pay for IT staffers who responsible to oversee it.

Moreover since Google, Microsoft and many other vendors entered the IaaS market I think the prices would lower prices during their competition.

Speaking about base load servers, I should mention, some applications and services not only should be available 365x24x7 but for some services every hour of outage means lots of business losses. I've heard a story of big advertising company their servers to Amazon just to be sure there will be no outage. Few datacenters could provide SLA and confidence comparable to Amazon (for reasonable prices of course).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.