Architecture Guidelines

In a Cherwell Server Farm, services can be distributed onto different machines depending on the expected traffic. A Cherwell Server Farm is comprised of a number of Cherwell Servers that are distributed across hardware depending on the abilities of the server.

As the architecture diagram shows, the Browser Client Server and Application Servers (tier 2) are in the same machine along with a variety of other servers.

Cherwell Server Farm Architecture: Single Server

Coordinated Servers

Some servers can be load balanced, for example the application server and web server. These servers can be run in a load-balanced mode where servers on different boxes can work together as a single unit. They are coordinated by communicating with a centralized session-state storage, Redis. In order to scale the service provided by these servers, more servers need to be added to the Cherwell Server Farm. Should one of those servers go down, Users experience a performance degradation inversely proportional to the number of machines.

Independent Servers

Some servers can collaborate even if they are not aware of each other. These are servers that process items from a queue. Typically, more than one of the servers can be fired up without having to change anything. The servers pick up items from a queue and process them individually. To scale the service provided by these servers, install and run the server on multiple machines. Should one of those machines go down, Users experience a performance loss that is inversely proportional to the number of machines.

Single-Instance Servers

For other servers, you cannot run more than one instance at a time. To scale these you need a bigger, faster machine. If that machine goes down, the service is interrupted. These servers process items from a queue. If a machine breaks and is offline for a few minutes, quickly bring the machine back online (or bring an identical machine back online). The new machine begins where the original machine left off, delaying the delivery or the processing by an interval of time. Since these machines work off of a queue, and not in real time, it is possible that Users might not notice the service interruption.