Cloud services claim to provide nearly everything you need without requiring you to run your own IT infrastructure. From e-mail and Web hosting to fully managed applications to vast on-demand computing resources, the cloud is shaping up to be one of the most important technology shifts in the last few years.
Sound too good to be true? Based on my experience over the last two years, I estimate that companies can easily offload 50 to 100 percent of their needs to cloud-based services with minimal business impact and near zero risk -- provided you follow the most basic best practices.
That said, not everything is easy, nor is the cloud right for everything. Certain technical requirements, such as very high performance with low latency, are challenging if not impossible. But there are a great many things that can be achieved at a lower cost and minimal risk.
There are three basic uses of the cloud's tech resources: computing power on-demand, (such as Amazon Web Services EC2 and S3 and Google App Engine); SaaS (software as a service) applications delivered over the Internet, such as Salesforce.com and NetSuite; and PaaS (platform as a service) application development and provisioning delivered over the Internet, such as Force.com.
As cloud offerings continue to mature, I am sure we'll see multiple iterations of the offerings, as well as many permutations. For example, I don't yet know where storage as a service fits, but there are multiple offerings for that, too.
Why I entrusted my own business to the cloud
I recently worked for an open source software company that had employees all over the world. That made us extremely dependent on technology to manage interpersonal relationships, all business functions, communications, and software development mechanics.
Having a geographically disperse team is not all it's cracked up to be. Even basic communications can be painfully difficult. If Skype were sketchy, development meetings could get set back an entire day. If e-mail were to go down, multiple business processes would require significant manual intervention. And if Salesforce.com was unavailable, we wouldn't have access to customer data for sales or support.
For the intrepid startup or IT department, the ability to outsource system operations to (theoretical) experts is very appealing, and most people are already comfortable with outsourcing certain elements such as Web servers and e-mail. And in companies with minimal IT staff, developers tend to help out with system administration.
Our goal was to not have to maintain physical machines or applications that weren't explicitly part of our development process. As a software company, we made the decision that our developers should be writing code, not performing system-administration tasks. But sadly, life isn't always that black and white. Our hosted systems and cloud services still required a modest amount of developer time, if for no other reason than the fact that they knew what they wanted the systems to do.