Improve backstage performance of CI
This issue is to track gitlab-ce~4107678 improvements for ~CI in gitlab-ce~3011727 that improves overall performance.
## Related
- [ ] Optimise build picking: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9511,
- [x] Persist stages in database: https://gitlab.com/gitlab-org/gitlab-ce/issues/26481,
- [ ] Show persisted stages in the UI instead of calculating that on the fly.
- [x] Store information about retry in database: https://gitlab.com/gitlab-org/gitlab-ce/issues/25737,
- [x] Deprecate old runners: https://gitlab.com/gitlab-com/infrastructure/issues/1303,
- [x] Optimise pipelines json: https://gitlab.com/gitlab-org/gitlab-ce/issues/27377,
- [ ] Update pipeline status synchronously: https://gitlab.com/gitlab-org/gitlab-ce/issues/23257,
- [ ] Improve support for handling big pipelines,
(additional issues will be added once we figure out them)
issue