I’m two minutes into telling a story about some new technology endeavor, and someone interrupts me to ask, “What do you mean by ‘in the cloud?’" or “How do you simply ‘virtualize’ a data center?” These questions draw me back to the realization that many people consider the terms “cloud computing” and “virtualization” as magical abstraction layers that don’t really exist. I get the impression that they’ve thought these terms were conjured up by computer nerds to make hard problems go away.
I tell them that these capabilities really do exist, and I go on further to describe ‘web services’ and ‘data mashups’ through a countless number of vendors and scalable open source technologies such as MySQL, PHP, Ruby on Rails (aka LAMP stacks).
Then, the light bulb goes off. And if I’ve described the value of cloud computing properly, the next and final question is, “Why doesn’t everyone do it this way?” Good question.
The cloud is real. The cloud is affordable. The cloud is fast. Most cloud vendors do not charge any upfront costs and bill on a month-to-month basis. Pulling together a completely hosted environment through tier-1 vendors such as Network Solutions, Verio, Amazon’s EC2 and S3 is near effortless and can be operational within hours. These vendors do the backups, upgrades, monitoring and provisioning so you don’t have to. They all come with some form of a SAS70 audit, backup power and failover air conditioning systems. They maintain the demands of “five nines” system availability standards and Service Level Agreements… not you and your team! All of these vendors provide a host of options such as creating fully loaded computer instances (also know as images) within minutes. You can have your choice of operating systems, databases and application frameworks, all pre-loaded.
Some companies such as Engine Yard offer boutique-style services matched specifically to an application framework such as Ruby on Rails. With Engine Yard, you rent something known as a “slice.” The slice contains a portion of everything needed on a server, so you don’t have to provision a whole server. You get disk space, CPU utilization, a piece of a database, an application server, and a web server all with guaranteed service levels.
1.Unique security requirements – Of course financial or security sensitive disciplines can require complete control over every aspect of computing. So, letting someone else do the cooking probably won’t work with your board of directors.
2.System level access – I have noticed that applications requiring deeper control of system level resources, such as shared memory or network drivers and configuration, can have issues with some virtualization software.
Still, most of us are perfect candidates for cloud computing. So why not get your head in the cloud?