Last week, I gave an in-house presentation on cloud computing. I walked through an overview of cloud computing – characteristics (on demand, elastic, fully managed by provider), why are we interested (virtualization, distributed computing, increased access to high-speed internet, weak economy), various types (public, private, virtual private cloud) and services models (IaaS, PaaS, SaaS.) Though numerous providers have emerged in the cloud computing space, the presentation focused on Amazon, Google and Microsoft offerings and provided an overview of their platforms, costs, data tier technologies, management and security.
One of the biggest talking points was why developers should consider the cloud as part of their deployment strategy:
You only have to pay for what you consume
You will be well-positioned for one time event provisioning
You will reap the benefits of automated growth and scalable technologies
For the record: having deployed dozens of applications on various platforms over the years, pricing tends to be the biggest customer concern. Yes, scalability is a customer consideration, too, but it comes in distant second.
Boy do I hope you’re still reading…
You may be thinking, “Cloud computing is well and good and it sounds catchy, but should I bother? After all, it’s just another technology bundle which I’m supposed to ramp up on because it’s the latest thing, right?” Well, my clients used to be 100% reliant upon me to find adequate hosting for them. Now I find they are often aware of cloud services and some come to me with the “possibility” that deploying to the cloud is the best solution for them. It’s like the patient who walks into the doctor’s office with their diagnosis and treatment already in mind thanks to the handful of Internet searches they performed earlier that day. You know what? The customer may be correct about the cloud. It may be a perfect fit for their app. But maybe not… I don’t think there’s a need to learn about every technical thing under the sun, but if you are responsible for identifying hosting solutions for your customers, it is time to get up to speed on cloud computing and the various offerings (if you haven’t already.)
Here are a few references to get you going:
DZone Refcardz #82 Getting Started with Cloud Computing by Daniel Rubio
Wikipedia
Cloud Computing – What is it?
Amazon Machine Images (AMI)
Google App Engine SDK
Azure SDK
EC2 Spot Pricing
Google App Engine Team Blog
Amazon EC2 Team Blog
Microsoft Azure Team Blog
Amazon EC2 – Cost Calculator
Google App Engine – Cost and Billing Resources
Microsoft Azure – Cost Calculator
Larry Ellison has stated that cloud computing has been defined as "everything that we currently do" and that it will have no effect except to "change the wording on some of our ads"
Oracle launches worldwide cloud-computing tour
NoSQL Movement