This blog post describes several options for advanced EPiServer CMO deployment.
You may have more than one server, for example when site database is hosted on the separate back-end machine. You can consider the following options to distribute the work across servers:
- CMO database on the separate server. It sounds logical to keep CMO database on the same server as site data.
- Aggregation service on the separate server. Database server should be a good host for it.
- Thumbnail service on the separate server. There are 2 important requirements: Thumbnail service should be able to access web sites to make screenshots; and CMO UI should be able to access Thumbnail service to request page screenshots for reports.
- Standalone Statistics Handler. All pages from any active CMO campaign contain script injection to collect visitor’s statistics. This data is sent to CMO Statistics handler which is installed on site by default. It is possible to host Statistics Handler in standalone web application and on the separate server, if you want to process incoming visitors statistics separately and don’t load the main front server with that. However, this option is not really interesting. The thing is that standalone Statistics Handler should be publicly available, so it should be deployed on some of the front servers. If you have several front servers, you will probably configure load balancing for them. In this case the idea to host standalone Statistics handler doesn’t sound very practical.
Having one front-end web server and one back-end database server, you probably end up with the following deployment model.
You can find information on how to implement each option below. EPiServer CMO 2 R2 does not provide separate installer for services. Aggregation and Thumbnail services can be installed and configured automatically when you install CMO on specific web site, but these services have to be installed manually on back-end server.
CMO database on the separate server
It’s easy. During installation you can create CMO data on local or remote machine, so you can just define your back-end server on “Database settings” step when you install EPiServer CMO on web site using Deployment Center.
Aggregation service on the separate server
Uncheck “Aggregation Service” option when you are installing CMO on web site using Deployment Center. Service will not be installed on your front server, but you can find service binaries in CMO installation directory: C:\Program Files (x86)\EPiServer\EPiServer\CMS\6.1.379.0\Install\Modules\CMO184.108.40.206\bin
You will need to install and configure CMO Aggregation service manually on back-end machine. Service installation and configuration are described in this document.
Thumbnail service on the separate server
Thumbnail service doesn’t depend on other CMO parts and can be installed anywhere. Moreover, the one service can generate page screenshots for several web sites.
Uncheck “Thumbnail service” option when you are installing CMO on web site using Deployment Center. Thumbnail service will not be installed on front server; binaries can be found in CMO installation folder, by default it is C:\Program Files (x86)\EPiServer\CMS\6.1.379.0\Install\Modules\CMO220.127.116.11\Thumbnail Service\
Just copy that folder to another machine and install it as Windows service using installutil.exe.
Make sure that Thumbnail service can access web sites and site resources to generate screenshots, including external site resources. For example, site may have reference to jQuery library on Google CDN and service will try to load it.
Thumbnail service should be accessible for all CMO instances that are going to use it to show thumbnails in reports.
Secret key value in appSettings section must be equal in service configuration file and in web.config files on all sites.
Define new Thumbnail service URL in CMO Settings:
Standalone Statistics Handler
Uncheck “Statistics Handler” option when you are installing CMO on web site using Deployment Center.
Use this document to install and configure CMO Statistics handler as standalone application.
Make sure that CMO Statistics handler is publicly available and can receive data from site visitors.
Don’t forget to define new Statistics handler URL in CMO Settings:
Please see the first blog post in this series for more information about CMO components, simple deployment model and after installation steps.