Hosting recommendations and setup

November 10, 2011 Digital Experience

There are many hosting options for a Sitefinity website ranging from basic shared hosting plans to sophisticated on-premise or cloud hosting deployment configurations.  You should choose the right hosting option for you based on the purpose of your website serves to the organization. Some factors to consider are:

  • Value of website to the organization
  • Expected visitors traffic and peak loads
  • Website size in terms of pages and content
  • Website load in terms of concurrent users updating content

Sitefinity is a native ASP.NET application, which stores most of its content in a database. Hence, you can host a Sitefinity website on any computer running Windows OS with IIS that meets the system requirements of the CMS. This could be a virtual or physical machine.

In this blog post I will share some recommendations for high website performance, availability, and security for sites running on Sitefinity Standard Edition or higher. In general, it is recommended to use a setup with two web servers in a load balanced environment and a dedicated database server. These servers should sit behind a hardware firewall in your DMZ and you can impose access restrictions to the Sitefinity administrative interface (backend folder) through IP security filtering in IIS. Caching should be enabled for the Sitefinity website, so that frequently requested content is stored and retrieved from the web server memory rather than from the database.

 

Download image as pdf

It is important that the Sitefinity website runs in a load balanced environment in order to eliminate the single point of failure and provide for website scalability and better performance under peak traffic leads. The Sitefinity CMS website files and code base should be stored in a central location accessible from each web server.

Recommended minimum hardware for web servers:

  • Duo-core processor @ 2.66 GHz or higher
  • 4 Gb RAM or more
  • MS Windows Server 2008 R2 Standard

Recommended minimum hardware for database servers:

  • Duo-core processor @ 2.66 GHz or higher
  • 8 Gb RAM or more
  • MS Windows Server 2008 R2 Standard
  • MS SQL Server 2008 R2

In the above diagram the database server is located in the DMZ and if you decide, you can move the database servers inside the LAN and open a port for the SQL connection to happen between the web servers in the DMZ and the database server in the LAN. It is important to make sure there is enough network bandwidth for the SQL connection between the DMZ and the LAN, so that it doesn’t slow down the performance of the web servers due to “long-distance” database requests.

In additional to this basic hosting setup and hardware requirements, some government and financial services organizations require that the Sitefinity CMS application runs in their local network instead of the DMZ. Those organizations also want to provide for highly scalable and highly available hosting infrastructure that doesn’t have a single point of failure and that has a disaster recovery/backup policy in place. The following diagram provides an overview of such hosting setup that makes use of reverse proxy servers to enhance security.

 
Download image as pdf.

In the above diagram, the Sitefinity CMS website is no longer installed (stored) on the database server, but instead it is located on a central network share that is on a distributed file system to provide for high availability/scalability and remove the single point of failure.  A distributed file system provides for near real-time differential updates to the underlying file systems. For the database, you can have either a dedicated database server or a cluster of servers. Let’s say you use SQL Server 2008 R2. The more RAM the SQL Server has, the better the performance of the website will be due to more available memory for data caching. You can also use multiple high-speed hard drives for the SQL server in order to have a dedicated drive to store database logs, another one for data files, another one for tempdb, and another one for the server operating system. You can use one of those hard disks to store regular backups of the database or dedicate a disk just for backup storage. Note that those are just performance optimization tips for the SQL Server and you can start with a common hard drive for everything and then as the database size and number of queries grow, you can offset the load on different hard drives for better I/O of the server.

In addition to an on-premise Sitefinity hosting you may consider hosting Sitefinity in the cloud on Windows Azure, which is a highly secure and scalable environment.

To conclude, Sitefinity is a very scalable content management platform that can power even the busiest websites in the world.

Related documentation:

Related blog posts:

The Progress Team