Everybody Likes Ninjas

To cloud or not to cloud

Sunday, 10 January 2010 09:02 by Guy

Guy I love looking at the sky and staring at the clouds, your imagination can run wild and you can invent wonderful stories about the shapes you see in the clouds, but they always seem so far away out of your reach. For me, especially as a DBA, it was same with cloud computing.

Cloud computing has been around for a long time, starting with on Google Apps and Amazon AWS. Working in medium size companies has limited my exposure to them. About a year ago I was asked to join a panel discussing “IT for startups”, when one of the most interesting issues raised was ‘should we use the cloud hosting solution?’ My answer then was no. Along the last year my view about cloud computing has shifted to favoring cloud computing as a partial solution for startups.

 

What are the benefits of cloud computing?


1) Scaling up and down is possible within a matter of hours. Moreover, you only pay for what use, and on an hourly basis. Meaning, if a new client comes along, you can place a request for ten new servers, and within the next day or hour you’ve receives them fully load-balanced and ready to go.
2) All hardware and OS management are the provider’s responsibility. No need for highly qualified IT tech that has wide knowledge in networking, security, virtualizations, storage, and FW.
3) You receive fully monitored OS and hardware services, including reporting and alerts.
4) You receive a fully redundant solution with an obligation for high availability.
5) Worldwide location distribution brings the application closer to your clients.
6) No need to upgrade your hardware every three years.

What are the problems with cloud computing?


1) These are not your servers! Your control on selected OS versions, maintenance and patches is limited.
2) These are not your servers! Placing sensitive data from passwords to your core technology is an issue.
3) These are not your server! If it crashes, nobody promises you how hard they will try to save the data stored on the hard drives.
4) These are not your server! For some reason, I can’t see a cloud solution passing a credit card organization inspection…
5) These are not your servers! You will probably have to make changes to your application to fit cloud computing, due to limitation of installed environment.
6) Windows .net based applications are not native to this environment. If you want to enjoy the monitoring and management benefits, you will have to use a non .net language.
7) Database solutions are very limited either in capacity and version or in manageability.

Deciding if to use cloud computing or not is not an easy decision. It will affect your application design and development environment. I can help with some point for consideration:

CDN on cloud?

Downloads require a lot of bandwidth. Your organization will probably want a redundant network (which cost a lot of money), and there is always an issue of being close to your clients (which require multiple locations). In order to solve these issues, you’re probably using some kind of a CDN solution. If you’re total download is not in Terabytes, I recommend looking into a cloud solution such as Amazon S3. In S3 payment is per usage that alone makes a huge difference (I’m talking about thousands of dollars per year) over buying a minimal quota package per month from major CDN providers.

Cloud computing?

If you are a new upcoming company, requiring just a few dedicates server including load balancing and firewall services , a managed dedicated solution will cost you 1,000-1,500$ per month per server. Each cloud server is about 200-500$ and you only pay for what you use on hourly basis. The key benefit is the ability to scale up in a matter of hour and not weeks or days. And it’s important to place your server close to your client, the latency is amazing a minimum of 1-2 second latency from US and some parts of Europe and far east to reach servers in IL.

Database?

If you require a simple DB services with storage requirements lower then 10G, and the number of hits on your server per second is not in lower thousands, finding an adequate SQL or MySql solution should not be a problem. Your solution will enjoy high availability redundancy and will be located near your clients. I’m fooling around with the lasts solution for cloud databases SQL Azure, actually it is the trigger for writing this blog but that will be on my next post. For now, I’m going to stare at the sky and look at the far away clouds.

Comments