Alexander Haneng
Jul 8, 2014
(5 votes)

Cloud Clinic: An EPiServer CMS in Azure demo site

To test the capabilities of running EPiServer CMS in Azure I created a demo site called “Cloud Clinic”. It is a fictional American hospital that focuses more on making money than their patients, and as such their slogan is “Your pain, our gain” :-) In this blog post I will show you how I made it.

You can visit the Cloud Clinic demo site at (please note that is my playground site, so it might go up and down). You can see from the domain name that it is an Azure web site, but you can of course swap that out for your own domain name.


Before we start we need a few things:

Azure account
We need an account and log in details for the Azure Management Portal. Microsoft offers a free tier for Azure web sites, but you also need SQL Server, a Service Bus and BLOB storage. Through my employer I have a MSDN subscription with 300NOKs of free credits per month to use on Azure services, so check if you have one of those.


EPiServer Cloud License
EPiServer currently offer a free “Cloud Developer License” for developers that supports 3 sites and 1000 servers. Get it at the EPiServer License Center, you don’t need to know the MAC or IP address, just select “Cloud” for the “Bound Input”.


Creating the site
The first thing I did was to create a blank EPiServer MVC project and follow the detailed instructions provided by EPiServer to make it run in Azure.

The steps includes logging in to the Azure Management Portal and create an Azure web site, Azure storage and Azure service bus.

Running the site locally and in Azure
I wanted to be able to develop locally so I set up the site with two host names: one for localhost:xxxx and one for Note that when I run locally I use the same Azure SQL server database and Azure BLOB storage as when I run the site in Azure. To make this work you need to add a firewall exception for your machines public IP to allow it to access the Azure SQL Server externally, you can do this in the Azure Management Portal. 



Activating the EPiServer license
The cloud developer license is not limited to MAC or IP address, all you have to do is to click the “Activate” button.


Deploying code to Azure
In step 4 of EPiServers’ guide you downloaded the “Publishing Profile” from Azure that enables one click deploy from within Visual Studio. Simply right click your project in VS and select “Publish”. No more FTP or RDP into remote servers to deploy code! You can of course also set it up to use continuous deployment to Azure from your source control system.

Adding some content
An empty EPiServer site isn’t much fun so I went the quick and dirty route and bought a template from Template Monster. That gave me a responsive HTML web sites with Bootstrap, CSS, JS and images. It was fairly easy to copy & paste the HTML into my empty EPiServer MVC site and create a few page types and block types with properties to make everything editable.


So now you know how easy it is to get good ol’ EPiServer CMS running in the cloud. I hope to use the “Cloud Clinic” demo site as a basis for future blog posts, so stay tuned.

Jul 08, 2014


Jul 8, 2014 06:22 PM

Great post and funny site. Looking forward to seeing more about the blog posts in the future

Please login to comment.
Latest blogs
Optimizely SendGrid SMTP host is deprecated

SendGrid is a services for sending email that is included in Optimizely DXP. Previously was the recommended SMTP server to use,...

Tomas Hensrud Gulla | Dec 4, 2022 | Syndicated blog

Hosting Optimizely CMS 12 on Docker Engine

Since Optimizely CMS can now be deployed as a Docker container, here is a demonstration of building, running and scaling an Optimizely CMS 12 site ...

Stefan Holm Olsen | Dec 4, 2022 | Syndicated blog

How to use CacheTagHelper with content areas in Optimizely CMS 12

I might be going out on a limb here - if you have a better solution, feel very free to share it!  Upgrading your Optimizely web application from .N...

Andreas J | Dec 2, 2022

The 1001st Piece in your 1000 Piece Puzzle: .NET Default Interface Functions

I was recently working with a client who wanted a reasonably large subsystem added to Optimizely that would add automated management to their...

Greg J | Nov 28, 2022 | Syndicated blog

Video Demonstration, creating a CMS12 Alloy Sample Site

Hey All Below you will find a quick video demonstration on how to install a local version of Alloy Sample based on CMS12 / .Net 6. As you will see ...

Minesh Shah (Netcel) | Nov 28, 2022

How to create an admin user I Optimizely CMS – with Episerver CLI

In this blog post I’ll show how to create an admin user for Optimizely CMS in a new environment where you don’t have access to the admin interface.

Ove Lartelius | Nov 28, 2022 | Syndicated blog