Documentation update (research required): Hardware requirements for HA infrastructure
Background:
Our current hardware requirements should describe the requirements for customers using HA infrastructure on cloud services.
The current requirements apply to a complete stack hosted on a single server. However our customers using HA infrastructure will be using the following services with resource usage divided among them:
- GitLab application -> EC2 Instances
- Redis cache -> Elasticache
- Database -> RDS
What questions are you trying to answer?
Per 100 users, what instance size do we recommend for each service?
i.e. 100 users = 2 x m3.large EC2 instances, 1 x r3.medium Elasticache, 1 x c4.large RDS.
Are you looking to verify an existing hypothesis or uncover new issues you should be exploring?
We can utilise the same tests that determine our current requirements then optimize the test for an HA environment.
What is the backstory of this project and how does it impact the approach?
Customer asked for this information and we were unable to provide an accurate response.
ZD: https://gitlab.zendesk.com/agent/tickets/77146
What do you already know about the areas you are exploring?
We have our current requirements described here: https://docs.gitlab.com/ce/install/requirements.html#hardware-requirements
If we can identify % of CPU, memory and disk I/O for each service then we can provide this as a baseline for our HA infrastructure.
What does success look like at the end of the project?
Documentation / Requirements that can be linked to from the HA docs:
http://docs.gitlab.com/ce/administration/high_availability/README.html