Advantages of Cloud Computing in a Small Geographical Area Deployment

188 Views Asked by At

My company is deploying a SaaS application that is targeted to very specific consumer base, located in a very specific location.

Overall, the defining characteristics of the application are:

  • Small user base (tied to a single or a few key indutries - thousands rather than millions)
  • Narrow geographical spread: used within city/province only
  • Expected peak times for usage

Anticipating significant spikes of load at certain times, I am evaluating the possibily of using a load-flexible cloud provider such as Amazon EC2. However, since I will only be deploying in my region with relatively small user base, I am wondering whether a cloud computing provider would get me better performance and scaling - as opposed to my own dedicated hardware (which is all going to be at a single rackspace/location)

So essentially I am asking if the load scaling flexibility is a more important factor than geographical accessibility.

Thanks,

1

There are 1 best solutions below

0
On

I am wondering whether a cloud computing provider would get me better performance and scaling - as opposed to my own dedicated hardware

The advantage of using your own hardware is that you can buy big machines and customize them to suite your application perfectly. The disadvantage is that you must incur the capital cost up front (or arrange your own lease plan), administer the servers, and rely on the infrastructure at your single data center.

The advantages of using a cloud product like EC2 are that if your application can scale trivially across many machines, you can easily scale it up as load increases and you can distribute your servers across multiple availability zones. You also pay for what you use as you use it, so you can match up your expenses with your income. No long-term contracts to worry about. The disadvantage is that you have to build your system so that it can be deployed across many instances. Your costs on a per-compute-resources basis are probably going to be higher with the cloud, but you will only be paying for what you use, and never have to worry about migrating off of old hardware (as long as you relaunch your EC2 instances from time to time).

Note that the size of your user base doesn't really matter - what matters is how well the load of your application scales. For example, you might develop a weather simulator (in the cloud... no pun int^H^H^H ok, pun intended) that runs offline. The weather simulator has only one user, but you might use 1024 EC2 nodes to complete your simulation in a reasonable amount of time. In computationally intensive applications like this, cloud computing gives you another huge advantage - you can multiplex time! In other words, a problem that takes 1024 compute-hours on a given EC2 instance type could be run in one hour on 1024 instances. This allows you to get your results very quickly at no additional cost. To do this yourself, you'd end up building your own cluster and then keeping it idle most of the time.