GitLab Case Study.
Know
Be4

KnowBe4는 세계 최대 규모의 보안 인식 교육 및 시뮬레이션 피싱 플랫폼을 제공하는 업체입니다. KnowBe4는 코드를 회사 내에 보관할 수 있는 도구를 찾고 있었고, 여러 도구의 기능을 한 곳에 제공하는 도구를 찾고 있었습니다.

서비스

소프트웨어

직원수

850명

선택한 라이센스

Ultimate

Challenge

KnowBe4의 엔지니어링 팀원들은 3개의 별도의 도구를 그들의 배포 툴 체인으로 사용하고 있었습니다. 하나는 코드 관리를 위한 것이고, 하나는 코드 테스트를 위한 것이고, 다른 하나는 코드 배포를 위한 것이었습니다. 세 가지 도구가 사용되면서 이들의 모든 작업은 각기 다른 곳에 위치하게 되었습니다. 각각의 툴은 고유의 가치를 설정했지만, 이들 사이의 통합이 부족하여 사용자들에게 추가적인 작업과 스트레스를 야기했습니다.

또한 툴체인당 3개의 플랫폼을 운영하는 것과 관련된 비용을 줄일 것을 모색하고 있었습니다. 코드 테스트 도구로, 각각의 동시 테스트 용량에 추가 비용이 발생했기 때문에, 팀은 추가 용량에 따르는 재정적 부담을 고려하지 않고 원하는 만큼 확장할 수 없었습니다. 기존에는 코드 테스트 툴로 최대한의 용량을 확보해야 했습니다. 그래서 만약 50개의 동시 테스트를 해야 한다면, 하루 종일, 매일 50개의 비용을 지불해야 했습니다. 핵심 업무 시간 외에는 테스트가 거의 필요하지 않음에도 불구하고 50개의 동시 테스트에 매달 약 50달러의 비용이 들었습니다.

Pipeline
Step1.
개발자는 GitLab에서 마스터로부터 feature 브랜치 생성
Step2.
개발 코드가 QA에 의해 작동하는 것으로 확인되면 개발자는 마스터에게 Merger Request 요청
Step3.
모든 커밋은 해당 Merge Request가 승인되고 최종적으로 Merge 될 때까지 테스트 파이프 라인을 실행
Step4.
Merge 후 파이프라인이 시작되어 Docker 이미지를 빌드
Step4.
AWS에 릴리즈
Step5.
Terraform을 활용 하는 배포 단계가 시작
Step6.
최신 이미지를 프로덕션에 롤인
Result
운영 효율성과 보안
향상된 배포
프로덕션은 이제 주어진 애플리케이션에 대해 하루에 5 번 이상 배포합니다. 개발 환경은 특정 애플리케이션에 대해 하루에 20 번 이상 배포합니다. 모든 애플리케이션에서 매일 수백에서 수천 개의 테스트 작업이 실행됩니다. 팀은 60 개 이상의 마이크로 서비스에 대한 개발 라이프 사이클을 표준화했습니다. 또한 GitLab의 CI는 코드가 프로덕션에 도달하기 전에 버그를 방지하는 데 도움이 됩니다.
모든 파이프라인을 위한 개발 플랫폼 표준화
새로운 프로젝트를 시작하거나 기존 프로젝트의 문제를 해결하는 것이 간단해짐
여러 개의 동시 테스트 파이프 라인을 허용하고 자체 Runner를 배포 및 Auto-scaling하여 프로덕션 시간을 단축
YML 사용으로 간편한 통합
코드 검토, 파이프 라이닝 또는 코드 소유권에 관계없이 동일한 도구로 공동 작업 가능
툴 통합으로 비용 절감
테스트 비용 절감으로 매일 수백에서 수천 개의 테스트 작업 실행
DEMO
인포그랩의 데모를 보고 계획을 수립하세요
* 필수