Multiregional deployment

Overview

Multi-regional deployment of Sitefinity CMS is a recommended solution for companies with a presence in multiple countries or planning to expand globally. 

There are two main reasons for this:

  • Better end-customer's performance (reduced latency)
  • Business requirements

The closer your backend origin is to your end-users, the better their experience is. Content Delivery Networks (CDN) have successfully speed up the delivery of content to end-users across the globe – especially static content, such as images, videos, or JavaScript libraries. The CDN solves the problem for many of your static files. However, there are some dynamic calls that still need to be done in the backend. When the backend is physically far away from the end-user, the operations can be time consuming.

EXAMPLE: For example, if your end-users are in Australia but your Sitefinity CMS is in Europe, the added latency is approximately 300ms for each call. 

Therefore, having locally available applications and content is important.

From the business standpoint, there are cases where the data should be stored in distinct regions, separated by thousands of kilometers. In these cases, we recommend storing data in multiple regions. Sitefinity CMS address this need by enabling customers and partners to establish Sitefinity CMS instances that share common data across multiple regions.

To support these requirements, Sitefinity CMS introduced a mechanism for database synchronization along with Cache invalidation across the regions.

For maximum efficiency and optimal resource utilization, there are different solutions for multi-regional deployment based on the distinct business need.

Components of the Multi-regional deployment

The multi-regional deployment consists of the following components:

  • Primary region 
    Consists of one or many Sitefinity CMS instances that are connected to the primary database, session database (region-specific), and Redis cache instance. 
  • Secondary region(s)
    Consists of one or many Sitefinity CMS instances that are connected to secondary database, session database (region specific), and Redis cache instance.
  • Primary database
    The database in the primary region. It supports read-write operations. Primary database is replicated across the secondary regions. 
  • Secondary database(s)
    The database in the secondary region(s). It is a replication of the primary database and, therefore, it is read-only.
  • Session databases
    The region-specific database that store data that is not replicated outside of the region.
    The Session database is an ordinary empty database at first. After you configure Sitefinity CMS to use it, the respective database tables will be automatically created.
  • Azure Redis cache instance 
    Used for communication channel between the regions. Each Sitefinity CMS instance is broadcasting messages that should be delivered to the rest of the instances.

Was this article helpful?