The “Cloud”

If you have ever wondered what this “Cloud” thing is, that people are talking about.

You know, the thing that is suppose to save your company tons of money and magically do everything from host your files to washing your car.

Then I’m here tell you, it probably can, but for the most part its not as easy set up as the delightful name would lead you to believe.

When people say “the cloud” they normally are referring to one of three major systems, infrastructure as a service, platform as a service, and software as a service.

In my opinion, the “cloud” people refer to when speaking about the subject is the infrastructure as service (IaaS).

The IaaS is a means by which company’s can off load most if not all of there computing needs off site and in this case to “the cloud”.

Some advantages of moving to a cloud based IaaS are:

- Relatively inexpensive to get started, hosting can start for as little as 1.5 cents an hour.

- Fast deployment, getting an “instance” up and going can be done in a jiffy, no need to configure hardware, install servers and get ports open. Simply point click, and launch.

- On demand resources, basically should you need more resources most IaaS providers will give you the option to dynamically allocate more to meet demand. If you take full advantage of certain IaaS cloud providers, you can even scale on demand, launch more servers to meet the spike and “kill” them once demand drops.

Although there are several reasons the “cloud” is ideal, there are of course plenty of disadvantages such as:

- Development logic changes, to take full advantage of the cloud and its possible “scale on demand” features, developers need to code for the cloud. In most cases this simply means, keep your dynamic content out of your “instances”, and use some proprietary language functions to perform certain tasks. So at times its not as easy as coping your application & dropping it in the cloud.

- Cloud to Cloud migrations, should you take advantage of certain IaaS providers scaling on demand, as well as resources on demand you will more then likely need to use there application programing interfaces (API) most cases they are completely different from one IaaS provider to another, there by creating the possibility of a “locked in” syndrome. Where by your application has been built so closely to one particular service that moving would require significant changes.

- Recovery, when you have your own hardware you generally have your own recovery procedures such as backup tapes, hard drive configurations, and redundant hardware. Well when you move to an IaaS you let that all go, “its there problem”, well point in fact its also yours. When moving to a cloud solution, you need to come up with alternative recovery procedures for your data and of course in the unlikely should that cloud go down you should have a plan for that as well.

There are several different providers out in the market now, all of them have there merits so when choosing which solution you plan to go with you should conceder a few things.

One, how fast can you get up and running with all the tools and services you require, you see while some might be cheaper, and others have more toy’s in the box, if time is an issue then be ready to pony up a few more penny’s an hour (they add up quick believe me) to get that cloud computing going.

Two, what kind of cloud computing are you going to be doing, some providers are have tools  & services that make doing certain task’s  more efficiently, and with less configuration and where time is money every pre-made tool is golden.

Lastly, what are the hidden costs, some providers offer free “in house” service to service communication but charge for external data transfers, while others charge per computing cycle you use so keep an eye out on the fine print or you might get a bill you weren’t expecting.

In closing, here are some of the companies I’v personally used and as such would recommend.

Amazon AWS (http://aws.amazon.com/)  - More cloud based toy’s than you can shake a stick at.

Rackspace Cloud (http://www.rackspacecloud.com/) - The Fanatical customer support of Rackspace with cloud resources to run it.

vCloud Express by Terremark (https://vcloudexpress.terremark.com/) - Amazing cloud management portal, easy to load balance several instances, as well as point and click firewall controls well worth the few pennies more an hour.