Microsoft provides at least two solution platforms in the cloud that I’ll talk about here to address some recent questions I’ve gotten. The first is Windows Azure, which is Microsoft’s premier cloud application platform. The second is Dynamics CRM Online, which I see showing signs of developing into a special case cloud-based business application environment of its own.
First a definition of "cloud" in this context: There are various ways to virtualize platform layers in hosted internet services that can qualify as "cloud." You can virtualize the traditional infrastructure, the server hardware, and provide a virtual server environment hosted in an internet connected datacenter. Beyond that, you can move the level of abstraction up a layer and virtualize the application or solution platform as a service, and build custom solutions on it. While infrastructure virtualization is interesting, the development teams using it still need to configure or build the application platform plumbing. Greater value is provided by offering a cloud solution platform environment, as less plumbing needs to be implemented (even if it still does need to be considered.)
So what does Microsoft offer?
Windows Azure is a complete set of custom application plumbing available as a cloud service. The core services are a layer above the idea of a virtual server, providing a scalable application platform for developers to build out custom solutions without having to worry (much) about platform configuration and scaling issues. Adjunct services of the platform provide SQL data services in the cloud as well as the ability to extend application integration to on-premise solutions.
While there is a cost to using application services like these, the benefits are often great and come in the form of reduced application plumbing complexity, faster time to market, better application/service scalability, etc.
However, Azure is merely a platform, similar to a .NET application server or a WebSphere server. It is up to application developers to build custom applications from the platform up. It’s on this point that CRMLive has something slightly different to offer.
What Microsoft has provided with Dynamics CRM Online is a hosted version of their CRM solution. What has come along with that is the ability to customize the solution down to its roots, building completely new business applications, if desired, that may have no relation to CRM. Microsoft calls this customization xRM (where the "x" stands for whatever you want it to.)
In CRM Online the level of customization is slightly more constrained that in the on-premise installations of the product, but there are ways around that. Integrating additional application functionality from outside CRM Online (e.g. from a separate could based application service) can round out the customization possibilities. A custom engineering configuration and quoting system I’m working on now uses this approach.
xRM is great for entity relationship based custom business applications. Reporting, workflow, and business user customization are built into the platform. xRM doesn’t makes sense for a wide variety of custom services and solutions (where you would use something like Azure) but for the class of business solutions it does make sense for the benefits are huge. The strong business application framework is a whole additional layer of plumbing that is already done, allowing the architects and developers to focus directly on the business problem.
Microsoft seems to be downplaying the apparent strengths of the xRM solution approach from their initial marketing messages a year or two ago. I’d expect this is in an effort to not confuse their development platform messaging (which I may be doing right now.) However, I think the feasibility of xRM, especially in the cloud, is huge under the right circumstances.
Let me know if anyone needs more details and we can talk further on either of these or any other cloud computing platforms.