안녕하십니까! 명절은 잘 보내셨나요? 2022년 새해를 맞아 인포그랩에 관심을 가지고 찾아와주신 독자님들께, 이번 포스팅에서는 GitLab의 모티브가 되는 프레임워크인 GitOps에 대한 설명과 GitOps를 지원하는 여러 가지 애플리케이션 중 GitLab이 가지는 특색을 설명해 드리고자 합니다.
GitOps는 DevOps 모범 사례를 가져와 인프라 자동화에 적용하는 운영 프레임워크입니다. 팀에서 GitOps 워크플로를 사용하면 SDLC에 전반적으로 이득이 됩니다.
GitOps는 인프라 구축 및 애플리케이션 배포에 들어가는 모든 코드에 대한 단일 저장소로 Git 리포지토리를 사용하는 것을 말합니다. Git과 같은 버전 제어 시스템을 단일 소스로 사용하여 엔지니어는 지속적 전달 형식으로 애플리케이션의 기본 소스 코드를 업데이트할 수 있습니다.
버전 제어 시스템은 문서화 및 가시성을 보장하고 audit trail은 컴플라이언스를 가능하게 합니다. GitOps를 사용하면 변경 사항을 쉽게 되돌릴 수 있으며 팀이 소프트웨어 개발 및 운영 팀의 관점에서 현재 상태를 이해할 수 있도록 최신 정보에 액세스할 수 있는 작업 공간을 제공합니다.
The benefits of GitOps workflow
Git 버전 제어 시스템으로 보안 및 컴플라이언스 향상
인프라 관리를 위해 단일 플랫폼을 사용하기 때문에 단순화된 툴 체인은 공격 surface를 줄입니다. 공격이 발생하면 팀은 버전 제어 시스템을 사용하여 원하는 상태로 되돌릴 수 있습니다. 결과적으로 GitOps는 다운타임과 가동 중단을 줄이는 동시에 팀이 성능 저하 없이 개발을 계속할 수 있도록 합니다.
엄격한 컴플라이언스를 따라야 하는 팀은 종종 정책이 프로덕션 환경에 변경 사항을 제안할 수 있는 사람의 수를 제한하는 엄격하게 규제되는 상황에서 협업이 저하되는 것을 느낄 수 있습니다. 그러나 GipOps를 사용하면 누구나 merge request 를 통해 변경 사항을 제안할 수 있습니다 . 이는 production
브랜치에 병합할 수 있는 사람의 수를 지정 하면서 협업 범위를 넓힙니다 .
GipOps 워크플로를 채택하면 CI/CD 툴을 사용하여 변경 사항이 자동화 되어 모든 인프라 구성 요소에 액세스 자격 증명을 제공할 필요가 없기 때문에 액세스 제어가 향상됩니다. GitOps는 모든 사람이 기여할 수 있도록 권한을 부여하지만 모든 변경 사항에 대한 실행 기록을 유지 관리해야 할 필요성이 더 커집니다. GitOps는 main
브랜치의 모든 커밋 이 audit을 위한 변경 로그 역할을 하도록 합니다.