DevOps를 적용한다고 하면, CI/CD를 포함하는 자동화를 제일 먼저 생각하게 됩니다. CI/CD를 완료성있게 구축하고 운영하는 일은 간단하지 않습니다. GitLab과 같이 단일 도구를 사용하면 조금 더 간단해질 수 있습니다. GitLab은 CI/CD 스크립트를 레파지토리에 .gitlab-ci.yml 파일로 소스 코드 관리하는 방식으로 이용됩니다. 소스 코드가 업데이트 되면, 파이프라인 결과를 확인할 수 있습니다. Merge Request 화면에서도 변경에 대한 파이프라인 결과를 확인하면서 자동화 테스트, 보안 테스트, 배포 결과를 확인할 수 있는 피드백을 주고 받을 수 있습니다. 이 과정을 단순화시키고 활용할 수 있는 방법을 DevOps 실무자들이 만들어갑니다. 인포그랩은 GitLab을 사용하는 실무자들이 CI/CD 파이프라인을 쉽게 운영관리할 수 있는 밀키트를 만들기 시작했습니다. 프로젝트마다 CI 스크립트를 복사 & 붙여넣기 하지 않고 템플릿으로 쉽게 관리할 수 있습니다.
이미 우리는 DevOps 환경에서 일을 하고 있습니다. 성숙도의 차이가 있을 뿐이지 버전 제어를 시작으로 빌드, 테스트, 배포에 대한 자동화와 그에 대한 모니터링, 알림을 활용하고 있습니다. 조직의 소프트웨어 개발 라이프사이클에 맞게 다양한 관행을 사용하고 있습니다. 하지만, 문제는 계속 생기고 그 문제로 인해 개발자, 운영자, 담당자들은 고통을 받습니다. 이 고통을 줄일 수는 없을까요?
DevOps 실무 적용 단계
DevOps 실무 적용을 위해 상위레벨로 질문을 던저 보면 다음과 같습니다.
DevOps 체계 (전체 워크플로 예시)
DevOps 체계는 업무 워크플로를 관리하는 방식으로 접근되는 것보다 엔지니어링 관점으로 접근이 중요합니다. DevOps는 다양한 도구와 함께 만들어질 수 있는데, 국내에 주류를 이루는 방식을 살펴 보면 Jira로 SR을 관리하고, GitLab으로 MR + CI/CD를 관리하는 형태를 많이 사용 합니다. 전체 워크플로를 그려보면 다음과 같습니다.
소프트웨어 종류나 조직에 따라 형상관리 체계, 리뷰 체계, CI/CD 체계 등 정책적으로 달라지며 계속 변화해갑니다.
DevOps 적용시 만나게 되는 이슈들
이 변화를 받아 들이는 DevOps를 하는 조직은 DevOps가 잘 구동 되도록 하기 위해 다음 의 문제를 해결 해나갑니다. 협업을 강조하며 소프트웨어 개발 품질을 높이기 위한 활동을 하고, 배포 환경에 대한 안정화를 지속하는 거죠.
DevOps 파이프라인을 만드는 방식중 하나
- 통합화된 DevOps 툴체인을 구성하고 CI/CD를 자동화해서 제품에 딱 맞는 빌드,배포, 릴리즈 플랫폼을 구성합니다.
- 소프트웨어 개발자에게 빠르게 구동할 수 있는 CI/CD 파이프라인과 관행을 제공합니다.
- 어플리케이션 및 인프라 운영자에게 실험할 수 있는 어플리케이션 구성과 인프라 Assets을 제공합니다.
위에 설명한 내용을 포함하는 웨비나 영상을 공유합니다. 보시고 작은 인사이트를 얻으시기를 기대합니다.
인포그랩의 방식
DevOps로 소프트웨어 전달 속도가 개선되고 있습니다. 하지만 많은 기술들을 사용한다면, 더 많은 문제를 만나게 될 수도 있습니다. 적성 수준의 기술을 우리에게 딱 맞게 구성해서 사용하는 것이 가장 좋습니다. 그래서 인포그랩은 DevOps Kit란 이름으로 밀키트처럼 간단한 DevOps 서비스를 지속해서 만들어 가고 있습니다.
DevOps Kit에 대해 궁금하시다면 문의하기를 통해 알려주세요.
그리고, DevOps 고도화를 하실때 조언이 필요하시다면 언제든지 알려주세요.
최선의 방법을 찾아서 돕겠습니다.