Hello Everyone,
I’m working on deploying a 4.1.3 Enterprise environment to AWS. The Production environment will be two clustered Alfresco instances with a separate Solr server behind HAProxy within a VPC. For DR/HA there will be a mirror environment with the exception of only a single Alfresco instance in the same VPC on a different subnet and AZ. The content store is hosted in S3.
I’m looking at two possible configurations:
1) DR environment uses that same S3 Content store but a separate database. Production database is replicated to DR database.
2) DR environment uses a separate S3 Content store and database. Production content store is replicated to DR content store (DR Database is not replicated).
If anyone can provide some insight on which configurations are feasible I would greatly appreciate it.
Ahmed Osman
DevOps Engineer
Infrastructure Support Services
TIBCO Spotfire
Hi Michael,
Thank you VERY much for the detailed response, this is incredibly valuable information (I’ll be watching the two videos you provided later).
The main goal with the environment I described is to provide HA. The DR environment is primarily there to reduce any potential downtime should something happen to the Prod one (AZ goes down). I should have elaborated a bit more on the architecture, I’ll have an HAProxy instance in front of Alfresco in DR/Prod with an ELB in front of that. In the event that Prod goes down the ELB will immediately switch over to DR.
I had initially looked into setting up DR in a separate region but had some concerns over how quickly database changes/transactions would be replicated, for that reason I’m putting it in the same VPC just on a separate AZ.
Using a read replica is an excellent suggestions, I hadn’t considered setting that up. Not only will this give us increased redundancy but an increase in performance. Regarding backups I’m planning to rely on RDS snapshots triggered via the API, for the Content store I’m looking into setting up incremental backups to a separate S3 bucket. As for the Solr and Alfresco servers, that’ll most likely be handled with EBS snapshots pushed to the same S3 bucket used for the incremental backups. As I mentioned earlier I’m aiming for zero downtime, handling deleted content is almost secondary in this case (Potentially make use of a test environment for recovering deleted content).
My main concern with option 1 I detailed was making sure there wouldn’t be any potential conflicts with having the DR server pointed to the same database as it will not be part of the production cluster.