Sitecore hosting and deployments in Azure PaaS
As promised I have made a webinar-like recording of my SUGCON talk about Sitecore Azure. It may not be the same experience as it was at the conference (I’m better at presenting to a live audience), and I do not have a fancy recording booth, so the quality isn’t top notch, but it serves its purpose I guess. I hope I can transfer my enthusiasm of the Microsoft Azure platform on to you, and share some of what you’ve missed at SUGCON 2015!
In this technical session we will start off by comparing the different methods of hosting within Azure. We will then take a deep dive in what’s needed for deploying your websites into a PaaS architecture, both in terms of Azure subscription configuration and your Visual Studio solution, targeted on Sitecore. What do you need to take into account? What are the pitfalls, possibilities, benefits and limitations?
Custom Visual Studio deployment
Apart from the explanation of what PaaS is, I will show you how we deploy our solutions to Azure. I am doing this via a custom Visual Studio deployment, which you can fully tailor to your own best practices and requirements.
The most prominent issue of deploying to Azure from your Visual Studio solution is that you need to include everything in your project, because the machine you are publishing to can and may be completely new and empty. Of course, this is a benefit as well, because you can build up a new server entirely from your development environment. This forces you to keep the whole server configuration into your project (and version control) and makes it impossible to have undocumented changes in your production environment. But if you need to include everything, you also need to include the /sitecore folder and that’s not working very well while developing.
Hence we have worked out a folder structure that is coherent to the Sitecore recommendation of working outside your webroot: we not only do have a development solution folder and a webroot folder, but we also create a third folder containing a second Visual Studio solution that is used for our deployments. This second solution, called “Deployment solution”, contains all Azure specific configuration, including the converted Cloud Services project. We just publish from our development solution to our deployment solution using a Web.config translation to insert the Azure config changes we need while publishing to Azure.
For the complete process of deploying a default Sitecore 8 installation to a fully Cloud enabled Sitecore implementation running on Azure Cloud Services, you can watch the following video (be sure to set the quality to 1080p).