Extending to the cloud…but what is cloud computing?

Over the next few months, I’ll be spending some time with my blog investigating and discussing the cloud. Specifically, I’ll be addressing how you can leverage the cloud when building out Office Business Applications and when you’re developing SharePoint solutions. For example, you’ve already seen some discussion around Azure Dallas integration with SharePoint; I plan on doing more of this type of thing and also things like integrating oData, custom Azure services, and other cloud-based services and applications with on-premises solutions. As we begin to ship the Wave 14 BPOS, I’ll explore what this means as well.

However, to kick off this series of blogs I want to simply define what the cloud is in terms of cloud computing and point you off to a couple of decent references to get you started. The primary reason for me doing this is that I presented to a group of folks at a small conference called the IT Summit on Friday and even while we walked through an example of cloud integration, I didn’t feel great about the definition of cloud computing I left them with.

A commonly accepted definition of  ‘cloud’ is that which represents a metaphor for the Internet and all of the devices and services that are accessible beyond your immediate client machine. And in cloud computing, you leverage these resources as your operating system and for load balancing resources to make your cloud-based solutions more scalable. For example, I build an application on-premises and I need to make sure I have a server on a rack, and I need to make sure I take care of updating the server with software patches, need to manage the security, and need to staff someone to manage the hardware. When leveraging the cloud, I can offload these items to an external company who hosts the hardware and application for me. They take care of the management of the hardware and the staff needed to run it. But more importantly, I don’t have to worry about buying more servers and putting them in place; as more people use my solution the fact that I run it in the cloud will scale out with increased usage. This is one of the many benefits.

So, the simple definition: 

Cloud computing is an approach to computing that leverages the Internet as an operating system and set of IT resources to scale and connect to a variety of devices and endpoints.

Examples of Microsoft’s cloud computing run from consumer-based services (e.g. XBox Live, Bing, MSN, etc.) to a suite of productivity services (i.e. Business Productivity Online Suite) to building block services (i.e. Azure). Broadly, these services are called Microsoft Online Services, and you can find more information about them here: https://www.microsoft.com/online/default.mspx.

[Note: If you’re looking for a beginner book on cloud computing, the following two are pretty good: 1) Cloud Computing: A Practical Approach, and 2) Cloud Computing for Dummies.]

As I move forward in these blogs, look for how-to, code-centric ways to integrate things like Azure, oData, and Web 2.0 APIs/services with Office and SharePoint 2010. I’ll shoot for TechEd as my first set of blogs.

Steve