Repository changes in Gitlab start a build process, creating a new docker image stored in the EC2 Container Registry, which is automatically deployed to a testing environment. Once tests pass and the team is satisfied, the image is promoted to production. Regressions are captured in the pipeline and stopped at the door prior to getting to production.
We provide 24/7 managed AWS support to the infrastructure and monitoring the applications allows engineers the ability to instantly detect issues with their deployments and alert the team. Prometheus, Alertmonitor, and Grafana provide metrics and alerting to the team.
The engineering team is able to Build, Test, Deploy, and Monitor their work without having to be involved in the infrastructure at all. This is because the tooling allows them to access the items they need to ensure the applications are behaving correctly and consistently performant.
Non-production environments are spun down each night, and are instantiated as developers need them, keeping costs absurdly low. When a new environment is spun up teams with access can start using it immediately, as it mirrors the existing production environment. Standing up new environments takes less time than making a pot of coffee.