The future of software is ‘Cloud Aware Applications’, and this new approach to software delivered from managed Cloud infrastructure presents a huge opportunity for a new generation of MSP (Managed Service Provider) solutions.
Yes Microsoft has their own Cloud services, Azure, but this doesn’t mean this is the only way to host and deliver their software via a Cloud model.
There is huge opportunity for others to do the same, such as large telcos, small web hosts and even end-user customers, via MCS: Microsoft Cloud Solutions. This is simply a formula of using the Azure services environment as a design baseline and then tailoring it for local markets.
It’s this localization that’s key. Like Amazon the Azure product is intended for a large but quite specific market, software developers looking for a global level Cloud service, but for reasons such as concerns over data regulations many organizations won’t be able to utilize a web-level option where they cannot control the physical location of data storage.
For example in Canada government is regulated to the degree that there are recordkeeping laws even at the provincial level let alone the national one.
However this doesn’t proclude them from enjoying the benefits of these same Cloud technologies, it simply requires this MCS localization.
Architecture for Cloud-Aware Applications
Azure represents a fundamental shift in software, not only in how it is operated through remote hosting but also in terms of how it is engineered so that it can run there. Described as the ‘Operating System for the Cloud’, it provides the online equivalent of the building block components that .NET has provided for software developers to run their applications locally.
The traditional approach to software has been one where each application is entirely self-contained and ultimately isolated. It runs on its own dedicated hardware and embeds all of its own supporting functions, like user authentication.
This is principally because it has been the only practical way to deliver it, but it creates problems that then need solved at a later date, where other software is then used to link it into a single sign-on environment or for enterprise application integration for example.
In essence software engineering for the Cloud is an approach that avoids going down these holes to begin with, where the Cloud represents this better integrated environment from the get go, and developers can simply plug in their pieces of the jigsaw.
The main component parts of Azure include:
- The core Cloud Compute platform, with virtualized SQL Server and supporting Storage.
- AppFabric for integrating applications, nicely illustrated through this set of diagrams.
- Supporing infrastructure, such as VPN to securely connect users and CDN to distribute content globally.
- An online marketplace of other users applications and data services
This combination of components means that moving a traditional application into the Azure environment is far more than simply hosting it in a remote data-centre where everything remains the same. It also answers the question of whether Cloud Computing is just virtualization.
For example using the Access Control service rather than in-built user authentication means the application is more natively integrated into the overall Web 2.0 ecosystem. Similarly composite apps can be built by plugging in these other marketplace data services.
In this white paper An Introduction to Windows Azure AppFabric for Developers (14 page PDF), Microsoft describes this process as making applications ‘Cloud Aware‘, and the same logic applies to the other components.
Whether it’s distribution of the app globally or utilizing globally replicated data storage, the Cloud is doing all the ‘heavy lifting’ and offering standardized components for elements that should be exactly that, standardized. Developers recreating these parts themselves are not only adding to the time and expense of building their app, but it’s highly unlikely they can do them better.
This frees them to focus purely on the new business logic that adds real value to their clients.
Microsoft Cloud Solutions
Microsoft themselves recognize not all customers will want to use them for hosting but will instead want to harness this powerful technology approach more directly, and for the same reasons too.
This includes the Azure Appliance, where it can be used to “leverage the benefits of the Windows Azure platform in your own datacenter while maintaining physical control, data sovereignty and regulatory compliance.”
MSPs can also utilize other products to achieve the same Azure Cloud Aware architecture and offer a new generation of managed IT services, applying it to customer scenarios such as:
- Application Migration – This white paper (20 page PDF) explains how an e-commerce type application can be migrated to a Cloud platform
- Records compliance – Leveraging Azure Storage for ‘Cloud Attached Storage’ to ensure compliance of users laptop content
- Exchange 2010 upgrade – Offering new modes of delivery to upgrade faster and smoother
- Virtual Desktops – Reduce the TCO of managing user desktops
And so on. Pretty much any IT scenario today can be enhanced (and therefore achieve MSP competitive advantage) through leveraging these new Cloud capabilities, and via our MCS program (MicrosoftCloud.biz) we will be profiling these technologies and the solutions they offer in more detail.
- Migrating an ASP.NET Site to the Cloud (itexpertvoice.com)
- Microsoft Announces New Windows Azure Features (ondemandbeat.com)
- Future of Windows Azure — platform is the service (cnn.com)
- The future of Microsoft Windows Azure: platform as a service (arstechnica.com)
- Microsoft draws closer to Cloud Computing (i-programmer.info)
- Enroute and Microsoft Cloud Computing Initiative Combine to Deliver More Efficient Shipping Solution (prnewswire.com)
- Windows Azure crosses over to IaaS (zdnet.com)
- Microsoft Is Serious To Take On Amazon Web Services (cloudave.com)