While the sandbox gives developers an option to creating custom solutions in the cloud, the fact remains that it can be somewhat limiting. Some tasks developers are used to doing on the server in a fully trusted environment are simply not permitted on the server. For instance developers cannot create custom web services or make calls to custom databases. While these limitations do exist, there are various ways to get around them when in a hosted scenario.
One option is to consider is leveraging Windows Azure, Microsoft’s cloud solution. Both Office 365 and Windows Azure run in the same data centers so communication between the two environments is nice and quick. In addition, Windows Azure does not impose the same limitations on custom projects that the sandbox does. In many cases, Windows Azure even adds additional capabilities that are not offered in SharePoint, either on premise or in the cloud.
Microsoft’s cloud offering is comprised of various components. The following list is a brief overview of some of the things you’ll find in Windows Azure:
- Windows Azure: The ability to run custom code in the cloud. For instance you can write web applications or services using the .NET Framework (even version 4) or non .NET languages such as php. It also includes storage such as blobs (for files), tables (for data) and message queues.
- SQL Azure: The ability to create cloud hosted relational databases. Microsoft is adding business intelligence capabilities here as well, such as reporting and analytics.
- Windows Azure AppFabric: AppFabric is a suite of middleware services you can use to extend your application. It enables your application to securely connect to backend services (ServiceBus), implement caching capabilities (CDN, caching) and authentication (Access Control Service).
The possibilities for how you can leverage SharePoint Online in conjunction with Windows Azure. For example, if you are working with large files, such as video or CAD files, it may be cheaper to store these files in Windows Azure Blob storage than using up your valuable site collection content database space. Depending on the application, you can leverage individual components in Azure or host the entire application within Windows Azure… it just depends on the project!
When exploring creating a project that will have a presence in SharePoint Online as well as one in Windows Azure, there are two things you need to figure out: how will SharePoint Online surface/communicate with Windows Azure and how will Windows Azure communicate with SharePoint Online.
If you haven’t picked it up already, the majority of this series will discuss how you can break out of the sandbox limitations and leverage the unrestricted power of Windows Azure in your custom solutions.