This document describes services and setup options for deployment and scaling of EPiServer CMS sites. The document is intended as an introduction for hosting professionals and partner developers who will configure and deploy EPiServer CMS sites in different infrastructure environments.
With its open and flexible architecture, EPiServer CMS supports numerous availability and scalability features with deployment to a distributed infrastructure and failover protection. EPiServer CMS is multi-tenant, meaning that a single running IIS application of CMS can host multiple websites using a shared database. This makes it possible for the sites to share content, and to quickly launch new websites from the administration view in CMS.
You can maintain one installation which can then be deployed to multiple servers, supporting all of the websites. Elastic scaling where you add and remove servers on demand, makes it possible to upsize and downsize the infrastructure capacity to meet specific needs at a given time. EPiServer CMS provides a set of services to facilitate cloud deployment, for instance providers for event management and BLOB storage.
Multi-site setup and deployment scenarios
A multi-site setup is a solution where all websites in CMS share the same file structure on the web server, and the same database for storage. Websites in a multi-site setup can share the same content assets such as media files and blocks, which is desirable in many large enterprise scenarios. In addition to this you can also have site-specific content folders, for content that should not be shared between sites.
Since EPiServer CMS is multi-tenant, you can run all of your websites on the same IIS application, as long the site IIS is configured to response to multiple host names.
If the IIS site is configured to respond to any host name, then new sites can easily be launched from the EPiServer CMS admin view, without any additional configuration needed. You can also remove sites when they are not needed anymore, providing a more cost-efficient way of managing website infrastructure.
Depending on how you configure your environment, you can also isolate sites to run on multiple IIS applications. This may be desirable if you have specific security or performance requirements. In this scenario, configuration of new sites has to be done outside EPiServer.
Refer to the Multi-site setup section for more information.
Deployment using XCOPY
Installation of EPiServer CMS can be done through XCOPY deployment simply by copying application files. An XCOPY-style file transfer simplifies deployment and maintenance of EPiServer sites since no registry entries are created, and no shared components are registered. An example of XCOPY-style hosting is Azure Web Sites, where only a directory is provided, and it is not possible to run an installation setup procedure.
Another benefit of the XCOPY architecture in EPiServer CMS is that there is no machine- or site-specific information stored in configuration files, making it possible to use a shared folder for multiple servers. During development in a shared environment with source control, developers can keep configuration files checked in and still be able to create a site which can be duplicated in a multi-site deployment.
Refer to the different Deployment scenarios section.
The event management system provides a mechanism for distributing events between IIS applications on the same physical server, or between EPiServer sites on separate servers in a load balanced environment. The event management system in EPiServer is provider-based, and you can either use the built-in event provider or develop your own customized one.
BLOB is short for “binary large object”. The EPiServer platform supports BLOB storage of assets using a provider-based setup. The BLOB provider is designed to store large amounts of binary data using for example cloud storage. Meta data for media files are stored in the database, and the media binaries are stored using the BLOB provider. You can either use the built-in BLOB provider for media files, or develop your own customized one.
The database can be either an on-premise SQL database, an Amazon RDS instance or an SQL Azure database when using cloud services. The database to be used for a site is defined during the installation procedure in the EPiServer Deployment Center.
Refer to the About the database section.
EPiServer is can be run without a license file in IIS Express during development, but when the solution is deployed to a server a license file is required. The license file contains information about licensed servers and sites, different options exists.
Refer to EPiServer License Center for more information.