Sitecore - On-Premises to Azure PaaS (ASE) Cloud Migration - Part 1

 

Sitecore - On-Premises to Azure PaaS(ASE) Cloud Migration - Part 1

Introduction

In this blog series, I’ll attempt to explain in the detail the architecture, design and approach for migrating (or should I say Re-hosting) a Sitecore website from an on-premises environment to Azure PaaS ASE environment. 

Background

The current Sitecore website hosted on on-premises had scalability issues. The website performance was impacted during the spikes in demand.

The Traffic volumes coming into the website was expected the double due to a merger.

The desired objective was to scale website to enough level to cater for increased volumes and Improve the existing resilience levels of the website.

On-premises Architecture

Highlights of the current on premises architecture

  • Sitecore version 8.2, Mongo DB for Analytics and Backend systems were Oracle and .NET based
  • There were 6 Sitecore Content Delivery servers split across 2 Data centers
    • Three in each of Data Center (Windows 2012 Standard R2)
  • There was only one Sitecore content authoring server, xdb processing and reporting nodes were all part of this server itself.
  •   MSSQL 2012 Enterprise was used for Sitecore database

 


New Azure PaaS Architecture

Highlights of the new Azure PaaS architecture

  • The new architecture follows hub (central hub subscription) and spoke model (subscription 1).
  • The applications were designed to be hosted inside an App service environment (ASE) to provide a fully isolated, dedicated and a secure environment. If security is not a primary concern the hosting on just App Service plan without the ASE should also suffice.
  • No need to separate CM and CD into Separate App service environment
  • From a uniformity standpoint and to avoid the maintenance overhead, Mongo Atlas (PaaS option) was opted for Mongo DB.
  • We decided to design the new Azure PaaS environment with Zone redundancy and Geo Replication hence there No design for a separate DR environment.
  • Single instance for Web database and elastic pool for all other Sitecore databases. As per best practice of Sitecore
  • Change to Azure Redis for session management is desirable however since this was a time-consuming activity it was not included in the scope.
  • The Backend / API internal systems could not be moved to cloud, so they were connected to Azure PaaS through Express Route.
  • Azure private DNS zone can be created and can be made accessible only within the VNET

Azure PaaS Architecture

Components of the New Azure PaaS Architecture

#

Resource

Description

1

App service environment

Provides a fully isolated and dedicated environment for securely running App Service apps at high scale.

Content Authoring, Delivery Apps container

2

App Service plan

Defines a set of compute resources for a web app to run

Isolated Service Plan. Separate App service plan one each for Content Authoring and Content Delivery Apps

3

Azure SQL Databases

Scalable, cloud database service – single instance – Web database

4

Azure SQL Databases

Elastic database – all other Sitecore databases

5

Azure Storage Account

Storage location for importing bacpac from on-premises to Azure SQL and for storing logs

6

Application Gateway

Content authoring and content delivery app would be exposed as public endpoint through this gateway

7

Azure Key vault

Enables Azure subscribers to safeguard and control cryptographic keys and other secrets used by cloud apps and services

8

Mongo Atlas DB

For xDB

9

Azure Monitor

This will have App Insights, Log Analytics, Metrics, Dashboards & Alerts

 
























Comments

Post a Comment

Popular posts from this blog

Sitecore: Performance issue on page load, Analytics?

Why , When and How To do a Sitecore Quality Assessment or Audit

Sitecore - On-Premises to Azure PaaS (ASE) Cloud Migration - Part 3