Sitecore and PaaS
In a side by side comparison, obviously PaaS would win over IaaS anytime. As it makes an abstract of all layers of your hosting environments except for your own application and data. However, that same abstraction obviously removes some flexibility that we have become accustomed to when using on premise or IaaS. Since Azure is in charge of the runtime, OS and middleware, any changes and settings that get changed outside of your dedicated application and data environment are reset whenever Microsoft performs an update or reboot of the system.
When looking into PaaS, there are a number of possible approaches that exist with Sitecore. And as each of these deserve some clarification, we’ll go over the different options in more detail.
The PaaS Hybrid server role solution
When referring to Hybrid in a cloud based setup, it tends to imply a mixed setup of On-Premise servers with cloud servers. However, Sitecore Hybrid PaaS means that the different Sitecore server roles are placed on different cloud models. Generally the CM (content management) environment is placed on IaaS whereas the CD (content delivery) environments are hosted in PaaS. The means as to how the deployments, provisioning and configurations can be handled are described by Sitecore in more detail.
The Sitecore Azure module
On December 2011 – Sitecore released a first version of their Azure module. This module was to be installed as any Sitecore module into your internal Content Management environment combined with a Sitecore Azure environment file. It offered the following Azure capabilities: Cloud Service, Storage Service, SQL Databases Service, Traffic Manager Service, and Cache Service. A Sitecore interface allowed for the selection of a number of hosting locations and the configuration of Azure Content Delivery Environments:
The overall idea behind this module was sane, however, it came with some flaws and early product problems. Remember that this was almost 6 years ago. Implementations proved that, even though this PaaS approach seems like a sure win, there was still a large amount of effort that needed to be performed. On top of that, certain implementations and modules were simply not yet suited for the PaaS architecture. A clear indication of the tradeoff between self-managed and provided services.
Sitecore pure PaaS
Sitecore recently opened up a new chapter by introducing Microsoft Azure’s PaaS solution with Web Apps. As this is a venture they stepped in to together with Microsoft, we are seeing lot of high-value seminars and webinars coming towards us. The SUGCON event and the Sitecore Symposium in Las Vegas will provide a fair amount of knowledge sharing possibilities.
What is so different and what does this offer?
- Implementers are no longer restricted to a number of predefined configurations
- Full flexibility to use ARM templates to provision the environments of your choice
- Faster and easier deployments through web deploy
- Based on Azure best practices allowing for flexibility and ease of scaling
- Development improvements through streamlined deployments, remote debugging and advanced application insights.
Ideally, as is the idea with any and all of the Azure solutions, this approach should over time not only reduce the overhead during development cycles but also impact your hosting cost. Freeing up more budget for business analysis and development of the business department’s needs.
The next steps are just being announced now to the Sitecore partners worldwide with the introduction of the “Sitecore Managed Cloud” solution. This solution will allow Sitecore customers to have a specific Sitecore runtime provisioned to them based on the topology of your preference.
In this setup the contracted partner will take care of the application development and deployment whereas Sitecore will be able to guarantee the most optimal IT architecture for your solution. Ensuring smooth running content delivery and management servers supported by session state, analytics (reporting and processing) servers, databases servers as well as a search indexing service.
In this setup, Sitecore will be responsible for provisioning the initial Azure environment on which they are able to ensure a 99.9% availability with a 24/7 monitoring of the environment for possible hosting outages. The contracted application partner will then be able to manage the Azure environment with access to all Azure components. Allowing them to scale up or down (or even provide automatic scaling on delivery roles for example) and choose between the type of SLA (standard or premium).
So, in conclusion:
The specifics of this new Sitecore PaaS offering are still to be disclosed and an official product release will soon be made available. We are looking forward to this information to become available so that we can investigate which topologies are supported, how the support model will function exactly and whether or not the entire ecosystem of solutions and models are supported.
The Reference has ample experience in using multi-tenant cloud based providers, which has thought us that there are a number of operational pitfalls to this intricate type of setup. The Reference welcomes this new evolution on the Sitecore platform but will also ensure that the new Sitecore Managed Cloud offering option is thoroughly tested and evaluated once it becomes released. Thus allowing us to provide the highest quality and price efficient hosting solution that fits to the customer’s needs.
Moving into any kind of Sitecore PaaS solution, does have some impact:
- Get informed on Sitecore’s Consumption based licensing as this is a prerequisite for PaaS
- Make sure your application holds no more environment specific configurations or settings
- Contact your partner or Sitecore representative to check which solution would best match your current server architecture
- List and check which modules and integrations are used in your solutions as some modules are not yet fully compliant such as ExM, WFFM and FxM
For more specific information on the Sitecore cloud solution, go here.