GitLab으로 개발자의 업무시스템을 쓰신다고요? GitLab 서버가 장애로 Git 활동이나 MR 활동 못하면 협업에 지장이 생기고, 불편을 초래하게 되죠? 이를 방지하기 위해 GitLab도 HA로 구성을 할 수 있습니다.
GitLab Reference Architecture에는 3000명 이상 사용자 부터 HA를 구성에 대한 가이드를 하고 있습니다. 이를 토대로 GitLab Korea Meetup에서 우리회사 Jason 께서 세션 발표를 짧게 진행해 주셨습니다.
발표에서 나온 인사이트들을 정리해 보았습니다.
가용성? 고 가용성은 뭐고 왜 필요 할까요?
가용성 이란? 정상 사용 시간(Uptime)을 전체 사용시간(Uptime+Downtime)으로 나눈 값으로 높을 수록 높다고 표현하고 고 가용성이라고 합니다. DevOps 세상에서 고 가용성은 기본이죠? IT 전달 속도를 지속해서 높이려면... 결국 잘 죽지 않거나 죽어도 빨리 회복되어야 합니다.
고 가용성을 확보하면, 중단 없이 서비스를 쓸 수 있고 부하 분산에 따른 성 능저하를 방지할 수 있으며, 달리는 자동차의 바퀴를 갈아 끼울 수 있게 됩니다!
GitLab으로 HA를 구성해야 하는 이유는 무엇 일까요?
GitLab은 개발자의 협업 도구 중에 중요한 코드 활동과 CI/CD 파이프라인을 담당합니다. 그래서 요구사항을 에픽과 이슈로 만들어 쓰고, 쓰레드로 커뮤니케이션하며 코드를 커밋하고 서버에 푸시하면 파이프라인이 자동으로 구동됩니다..
만약 이 업무 시스템이 다운되면 어떻게 될까요?
HA 구성하는 하드웨어 비용 및 운영비가 더 비쌀까요? 업무 시스템 중단으로 여러 사람들의 업무에 불편을 초래하는 것이 비쌀까요? 답은 이미 정해져 있습니다! HA 구성이 필요합니다!