There are many different ways to setup solutions with CMS sites depending on the infrastructure available and requirements for security, availability and performance. The implementation can include on-premise deployment, to a cloud environment, or a combination of both. In the following we will describe some common deployment scenarios.
In the descriptions below the term “IIS application” refers to an application configured either as an IIS site or a virtual IIS application.
Single site – single server
This is the simplest and most common scenario with one CMS site, one web server, one IIS instance, a file store and one database. This is the setup you will get using a “standard” installation of EPiServer CMS from the EPiServer Deployment Center.
A new database will be created, if you do not chose to use an existing database on an available SQL database instance. A file store folder structure will be created on the web server.
Multi-site single server
In this scenario we are using the multi-tenant capabilities of EPiServer CMS. Here we have a number of CMS sites using the same IIS application on the same web server. By default the websites will share the same database and the same file store. You can run all of your websites on the same IIS application, as long the site IIS is configured to respond to multiple host names.
If the IIS application is configured to respond to any host name, then new sites can easily be launched from Manage Websites in the CMS Admin view, without any additional configuration needed. Only a start page and a URL for the new site is needed. The URL and start page are stored in the database, and new sites will automatically be provisioned.
Multi-site - multi-server
This is a load balancing scenario where we have multiple CMS sites running on two or more separate web servers running IIS. All the sites share the same database and file store. New sites can be launched in the same fashion as for the previous scenario.
EPiServer CMS can be load balanced across multiple servers using the EPiServer event management system. Whenever an event occurs, for instance a cache removal notification, that server will update the local cache as well as all configured servers in the setup.
Cloud website setup
This is an example of deployment in a cloud environment. Here multiple CMS website are deployed to a website environment with multiple instances. The CMS sites share the same SQL database, and a blob storage in the cloud environment which is used for storing of the file binary data. Load balancing is applied, and a Service Bus manages events between the CMS websites. Note that deploying to a cloud environment requires that each deployed application and module is designed for cloud.