Server Deployment Requirements

Summary:

  1. Server

  2. Uninterruptible Power Supply (UPS)

  3. Off-Site Backup

  4. Qualified Technical Support Personnel

Description:

1. Server Physical Hardware - Self-Hosted

RAM: At least 16GB

CPU Cores: 12 Cores, min 1.8 GHz clock speed

Disk: 256GB SSD Drive

Power Backup: UPS with minimum run time of 8 hours

Internet connection:

  • Internet bandwidth: At least 1 MB (both inbound and outbound) dedicated line with a static ISP-assigned IP address.

  • Domain or subdomain name: It’s recommended to have a domain name pointing to the dedicated IP so that the server URL in the devices remains the same even when the server static IP is changed.

  • SSL certificate - an SSL certificate from a reputable provider is necessary to enable an encrypted/https connection between the device and server. NB: a wildcard certificate is required in case separate domains or subdomains are used for OpenMRS and OpenSRP.


Note: For cloud-hosted servers, the above server requirements apply, except for the power backup and internet bandwidth, which are handled by the cloud service provider.

2. UPS

Recommend APC. Should have at least the following features:

  • RJ-45 network port - for online monitoring

  • Reliable - most UPS on 70% load would serve 4 hours, hoping by that time the raw power is back online. Also depends on the load. Old model servers tend to consume a lot more power than the new models. For now a 6kVA should work, but maybe for scalability a 10kVA would be better (let's confirm with the vendor)

  • Compatible with your local power source

  • A supplier who can offer local support in case of failure

  • A reasonable warranty


For the UPS it’s recommended to have the vendor do a site survey to better estimate the load from the connected devices, how the UPS would scale to handle extra devices in future, and most importantly, compatibility with the local power source before making a purchase.

3. Off-Site Backup

This depends on the resources available and the setup. In case the server is EC2 (hosted by Amazon), S3 backups would be fine. For self-hosting, CouchDB could be set to periodically replicate to a remote server. Whichever approach is taken, backup data should be encrypted and stored in a database that’s not publicly accessible.

4. Qualified Technical Support Personnel

A qualified, dedicated system administrator to maintain the server and troubleshoot any issues.