This blog post is the first in a series on how to deploy EPiServer CMS to the Windows Azure Platform. It involves modifying the EPiServer database, rearranging the configuration files and moving files that were traditionally centralized in “program files” into the website project folder. This approach is not supported by EPiServer neither is it in any way shape or form recommended for a production environment. That said, let’s rock’n’roll!
The traditional infrastructure is dead – long live the cloud! The cloud is the generic name for cloud computing. Datacenters around the globe are deployed which you as the developer can publish your software to. No need to worry about traditional server infrastructure: simply sign up for a cloud account and you’re ready to go.
The beauty of the cloud is that it can scale. When a service is under stress in the cloud it can expand (just like a cloud, see?) and consume more computing resources as needed. All you need to do is configure the number of instances you wish to run and Azure will spin these up for you and propagate them to a load balancer.
The major cloud service providers are Microsoft, IBM, Amazon and Google. We’ll focus on Microsoft’s platform: Windows Azure. Here’s a great introduction to the Windows Azure Platform.
Pushing EPiServer CMS into the cloud
Quite the challenge. First of you’ll learn that the EPiServer database isn’t compatible with SQL Azure – we’re going to have to modify the EPiServer database (otherwise not recommended!).
Next we have a few assemblies that are stored either in the program files catalog or in the global assembly cache (GAC). It is also important that the assemblies referenced are included in .NET 3.5 or .NET 4. If we’re referencing assemblies that are not part of these frameworks we must ship them with our cloud package. There are also some other pitfalls as Windows Azure does not permit arbitrary write permissions and EPiServer CMS just happens to enjoy editing config-files. But more on that later!
As seen in the screenshot you’ll notice that some of the images are not showing up. This is due to the fact that we can no longer utilize our VPPs. Windows Azure does, however, support cloud storage. I’ll try to address this and create an EPiServer CMS Azure VPP which stores content like SharePoint: in the database! In the words of Tobias Zimmergren: awesome.
You’ll need to download or be familiar with the following technologies. Go get ‘em!
This is experimental work in progress. So this is my disclaimer that things may go haywire and change in the course of writing these articles.
I’ll add a link to the articles as they become available.