Document and formalize standard health check for GitLab
Due to the change in behavior on a restart between Puma and Unicorn, we need to strongly recommend our users to utilize the health check (https://docs.gitlab.com/ee/user/admin_area/monitoring/health_check.html) feature of GitLab.
With Puma, when the service is restarted, all connections are terminated. Therefore it is important to ensure a node is ready to accept traffic prior to sending additional request its way, by using the health check.
Unicorn had a more graceful restart strategy, and therefore the health check was not as important.
Proposal
The intent is to clearly document the behavior of health checks, why it is important for zero-downtime upgrades with Puma, and that it is strongly recommended to be implemented for applications being part of GitLab.
Most important is adding this content to the Puma instructions (https://docs.gitlab.com/omnibus/settings/puma.html), nice to have is adding to the broader HA load balancer configuration (https://docs.gitlab.com/ee/administration/high_availability/load_balancer.html).