Efficiently rollout Sitecore environments on Azure PaaS with VSTS
The new Mirabeau website went live earlier this month. In this blog post I'll tell a bit more on the architecture and development part of this project. So.. a making of story from a engineering point of view.
During the development we used Visual Studio Team Services (VSTS) to quickly rollout a Sitecore environment with all needed components like webapps, SQL databases, Redis cache and Azure Search.
With the Azure Resource Manager (ARM) templates provided by Sitecore, the foundation of a Sitecore environment is created. With these ARM templates and the VSTS Build and Release pipelines we manage the continuous integration and delivery of our Sitecore applications. This combination enables us to rapidly rollout Sitecore environments on Azure Platform as a Service (PaaS) and makes it possible to repeat this for multiple projects.
Another advantage is that upgrading to a newer version of Sitecore is much easier. Upgrade your code, rollout the latest Sitecore version to Azure, redeploy your code and you're good to go!
We all know how cumbersome an in-place Sitecore upgrade can be, when it’s hosted on VM’s. By leveraging VSTS CI/CD pipelines and Azure PaaS you will save time and money.
Why host Sitecore on Azure PaaS?
The latest version of Sitecore Experience Platform has been developed to take advantage of services in Microsoft Azure. Platform As A Service (PAAS) has proven to add speed and agility, improve scale and resilience, and save costs. These are the three key advantages to hosting Sitecore Experience Platform on Microsoft Azure PaaS above IaaS:
- Enables organizations to efficiently manage the application lifecycle by providing all the capabilities needed to support a complete web application lifecycle
- Improve application delivery time-to-market
- Automatically scale to meet peak demands
- Scale back resources to a minimum in quieter times
- You only pay for the level of use you require, without the worries of hard disk failures, failover systems, and power outages
- Cuts down on software concerns like operating system updates, database updates, and software license
Advantages of using VSTS Build & release pipelines
Visual Studio Team Services is a collection of hosted DevOps services for application developers. The DevOps services are offered as a SaaS solution. In our current setup we started with the service Build & release pipelines. Only using these pipelines already gives us advantages:
- No longer have to host virtual machines with build servers like TeamCity
- No longer have to host virtual machines with deployment tooling like Octopus
- Easy integration with Azure AD to use you domain users for authentication and authorization
- Default integration with Bitbucket, GitHub and other code repositories, no need to move your code, just connect and use it.
We can optimize even further by also using integrated Git repositories with code review options, agile tools like backlogs and scrum boards. Run test plans with automated tests or even host your private Nuget, npm, and Maven packages with VSTS.
In close conjunction, VSTS and Azure PaaS have proven to be a solid combination to use when you want to deploy Sitecore in a truly Agile/DevOps way of working.