Standard Configuration

The standard Chorus deployment is compatible with all major, and many smaller cloud environments. It requires:

This deployment model works in exactly the same manner as a Chorus DCE installation on-premise. The entire OS and application stack is managed by the Chorus software, with no external service dependencies.

Refer to Supported Hardware for guidance on sizing instances against storage requirements, or contact us for specific recommendations.

High Availability

The Chorus software includes native clustering support for large, highly available platforms. For on-premise installations, this requires independently operated database and storage systems, but these are available in the public cloud as managed services.

For a cluster deployment, you will need licences for each planned cluster node - contact your account manager to discuss licensing options.

A high-availability deployment on AWS can avoid any single point of failure, or endure the failure of an entire availability zone, and comprises:

The Chorus application server instances here should all be on the same architecture - we recommend that they be m6g (arm64) instances, but they can be m6i/m6a (x86-64) instances. m6g.xlarge instances provide a good amount of memory per node, and are suitable for constructing a moderate sized cluster by scaling the number of web and background nodes appropriately. m6g.large can be used for a smaller cluster, with a reduction in maximum processable pixel dimensions of stored images.

If the admin node is unavailable, it will not be possible to deploy software updates, join additional nodes to the cluster, and some periodic scheduled tasks will not run, but there is no impact on availability. This node should be restored before attempts to modify the configuration are made - contact support for assistance in reinstating this node if it is totally lost.

FAQs

Q: Is it possible to use a read replica database?

A: Provided replication lag is consistently less than 5s, it is possible to use a read-replica for searching. Typically, however, this is not a useful configuration as the replica also needs to have a standby to maintain HA, so it is usually preferable to simply deploy a more powerful instance type for the writable database. It is not possible at the present time to provide a list of database instances to achieve HA with multiple independent read replicas. If you would like to pursue this option, please discuss the specifics of your requirements with us.

Q: Is Amazon Aurora supported?

A: No. Amazon Aurora, in MySQL compatible edition, still has important behaviour differences which cause issues with non-unique UUIDs.

Q: Can S3 be used instead of EFS?

A: No. Chorus requires a block-level filesystem, so S3 isn't currently supported. It is technically possible to mount S3 as a virtual filesystem (s3fs), but this is not recommended - the filesystem compatibility layer adds significant performance penalties, and it can generate large numbers of S3 requests.