allBlogsList

Sitecore with Azure SQL PaaS Part 1

1      Overview

Sitecore’s Customer Engagement Platform (Sitecore) is an enterprise class web content management system that provides an elegant, integrated solution for content management for websites, engagement automation and analytics. Microsoft Azure is cloud computing platform and Infrastructure for building, deploying and managing applications and services through a global network of managed data centers.

This blog discusses design considerations and techniques for deploying Sitecore on Microsoft Azure with Azure SQL (PaaS). Following areas are covered:

  • General Sitecore architecture
  • Microsoft Azure Sitecore architecture
  • Additional Microsoft Azure considerations
  • Estimating Microsoft Azure cost

Following areas have been left out from this blog:

  • Build and change management
  • Disaster Recovery
  • Active Directory integration
  • VPN connectivity and configuration with internal network
  • Multi-Region Replication

2      General Sitecore Architecture

2.1    Basic Sitecore Setup using Azure SQL (PaaS)

A basic highly available Sitecore setup has multiple servers, at least two sitecore servers, at least one MongoDB server and at least two database servers. As we will be using Azure SQL we will only need two Sitecore servers and a single server for MongoDB.

  • Web servers (application servers)

  • Windows Server running IIS

  • IIS runs Sitecore content delivery (CD) server – the actual website

  • One server also runs Sitecore content management (CM) server – the content authoring environment

  • MongoDB servers (xDB servers)

  • Linux Server running MongoDB

  • Azure SQL Database running following databases

  • Master – The Master database is the authoring database – it contains all versions of any content or assets

  • Core – The Core database contains Sitecore application items and settings, as well as the tables containing the .Net membership provider (i.e. users/roles contained in the Sitecore repository)

  • Web - The Web database is only the latest published version of the content that is driving the live web site. Therefore, it is a subset of the master database, optimized for size and speed. When content is published, or goes through the publishing task of a workflow, the latest content version is copied from the master to the web database.

  • Analytics – The Analytics database holds all information related to Sitecore Digital Marketing Suite – analytics, personalization, etc.

The minimum recommended hardware requirements for the server is:

  • 4 core processor
  • 4 GB of RAM

Azure SQL Databases can be priced individually or as a shared pool. A shared pool is the most cost effective method when you have multiple databases that have widely varying and unpredictable usage patterns. For Sitecore, we have chosen to go with a shared pool with 100 eDTUs.

 

  1. The Microsoft Azure setup assumes the web servers and Azure SQL Database Pool are setup in a single region and availability zone.
  2. The overall environment is setup as a virtual network.
  3. Not covered in this post, but any connectivity to client network can be done using VPN
  4. An Azure Load Balancer is used for handling any public traffic (generally to the CD servers over port 80 and 443)
  5. All Azure Virtual Machines instances will be backed-up to Azure Storage using Powershell scripts or 3rd-party tools
  6. Not covered in this post, but security and access can be configured using Access Control Lists (ACLs) and routing rules and tables
  7. This post assumes DNS is managed outside of Azure.

3      Pricing Azure Configuration

3.1    Elements Considered for Pricing

3.1.1     Azure Virtual Machines

  1. CD server (2 instances)
  2. MongoDB server (1 instance)

3.1.2     Azure Storage

  1. Storage 400 GB

3.1.3     Azure SQL (PaaS)

  1. 1 Elastic Database Pool
  2. 100 eDTU, 100 GB

3.1.4     Virtual Network

  1. 1 Virtual Network
  2. Data transfer out 100 GB/month

3.2    Price Breakdown

 

 

 

 

$ 901.72/month

Service

Quantity

Description

Price

Scenario Cost

VM D2 (2 cores, 7 GB RAM) Non-Windows

1 units

MongoDB

$ 114.58

$ 901.72

Page Blobs and Disks Locally Redundant

400 GB

Storage (LRS)

$ 20.00

Bandwidth

100 GB

Traffic

$ 8.26

Reserved IP Address Hours

1 IPs

IP Addresses

$ 0.00

VM A3 Large (4 cores, 7GB RAM)

2 units

SitecoreCD

$ 535.68

Elastic Database Standard

1 Elastic Pool

AzureSQL

$ 223.20

3.3    Elements not considered in pricing

  1. No anti-virus
  2. No IDS
  3. No offsite storage
  4. No DR site
  5. No multi-region setup