...
A number of customer facing services have single points of failure, or where redundancy has been employed, manual intervention is required to access a specific redundant copy, such as where an end-user looks at either the 01 or 02 version of a service, or one of these alternative services is accessed via DNS CNAME entry which needs to updated manually. This is also true of infrastructure services, such as databases, authentication servers or other dependent services.
Specific examplesExamples:
- Primary and Backup dashboard: prod-newdboard01 and prod-newdboard02. A CNAME - dashboard-primary - points at either the 01 or 02 instance.
- Crowd authentication: prod-crowd and uat-crowd contain identical information, but systems (such as jira) are configured to use one or the other.
Generally, all service deployment can be done in the context of redundant services providing high availability. The impact to SWD is very low. Services should be deployed such that they are essentially the primary in every case.
Goal
Automate service failover
Create a scalable infrustruture
Structure
Each server will run the consul agent and include a config listing the services it runs and how to monitor them (to test if they are serviceable). This should be maintained in puppet.
...