I am experiencing Cloud fatigue already. If I hear anyone even come close to uttering the word "Cloud 2.0", I might be found hiding in the Forrester fitness room in a fetal position.
I am a fan of Cloud computing and my colleague James Staten has a great report on cloud in the enterprise. I think that cloud computing such Amazon EC2, Microsoft Azure, IBM, Google AppEngine, and others are legitimate and have a great future in infrastructure. What I am not a fan of is the buzzword grab going on by many technology companies saying they work in the cloud, have a cloud strategy, or have a new cloud offering à la SOA, Web 2.0, and whatever is next.
Vendor X can work in the cloud. Well, no kidding. You just spin up your platform in the cloud and run your app on it. Of course, that doesn't mean you can take advantage of some of the value-added services in the cloud right off the bat but there is still value in having an infrastructure on-demand. The buzzword grab vendors are the source of my fatigue.
What Do Application Developers Need To Know About Cloud?
On one level, the cloud is just another deployment option. One day when you are happily writing code in front of your NetBeans, Eclipse, or VisualStudio IDE there will be a button that says "Deploy". You will click the button and then see a list of deployment platforms such as: local, enterprise server, cloud provider. Just pick cloud. A wait dialog box will come up for a a few seconds. Then you are done. That should be the application developer's view of the cloud. The details are abstracted away. Easy breezy.
Now, many of the clouds also offer services such Amazon's SimpleDB. You'll be able to code to those using APIs just as always. If you are in Java you'll bring in the package to NetBeans and voilà you can start instantiating services and use them.
Cloud Vendors Will Seduce You With Services To Lock You In
Be careful when choosing value-added services offered in the cloud. Despite what the cloud vendors say about utility computing, they would love to make it harder for you to leave them. Remember how J2EE was designed to allow you to deploy to any server. Or, SQL was embraced as a database standard. What happened? Both app server and database vendors seduced you with features that made it difficult to leave them. Some of these features add value and are worth the lockin. Just know what you are getting into.
Cloud Security Is Still A Concern
The popular thing to say about Cloud security is to snicker and then to say that it is probably more secure than your data center or no different than outsourcing your infrastructure to a hosting firm. That kind of dismissiveness is unwise. Security is always a concern on any deployment platform - PC, Blackberry, corporate server, hosted server, mainframe, or Florida voting machine. Be concerned about the Cloud as you would any deployment platform, but don't be afraid.
Infrastructure professionals and perhaps CFO trying to save a few bucks should be concerned with the Cloud. But, cloud or no cloud, application developers still have to write code.
What do you think?