MLOps에 대한 훌륭한 지침서인 “모두의 MLOps”는 이미 좋은 내용이 많이 들어있지만 CI/CD 등 배경지식을 많이 다루고 있진 않습니다. 최근에 CI/CD에 대한 교육을 받은 적이 있어 복습 겸 정리해두려고 합니다. 이번 페이지의 목적은 CI/CD에 대한 이해와 간단한 예제를 통해 실제 테스트 파이프라인을 경험해보고 미래에 있을 프로젝트에 대해서 대비를 하고자 합니다!
<aside> 💡 CI / CD는 Devops 엔지니어의 핵심 업무!
</aside>
CI / CD를 설명하기 전에 Devops에 대해서 설명을 먼저 드려야할 것 같습니다. aws가 소개하는 Devops 정의는 다음과 같습니다.
<aside> 💡 DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있습니다. 이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁할 수 있습니다.
</aside>
TMI : 제가 들었던 교육에서는 강사님이 하나만 기억하면 된다고 했습니다. Devops는 문화다..!
위 내용을 핵심 키워드로 간단 요약해보자면 빠른 속도로 제공하기 위한 문화, 도구의 조합으로 요약할 수 있을 것 같습니다. 빠르게 배포를 하기 위해 개발팀과 운영팀이 병합되어 애플리케이션 수명 주기인 테스트, 배포, 운영을 한꺼번에 관리할 수 있도록 하는 것입니다. 신속하게 개발하기 위해선 개발 문화적인 측면이 뒷받침되어야 합니다. 서로 어떤 부분이 부족하고 어떻게 문제를 해결할 것인지 커뮤니케이션 방법론이 중요하게 되는데 이 때 그 유명한 “agile” 방법론이 나옵니다!
<aside> 💡 “agile” 방법론은 “ 작업 계획을 짧은 단위로 세우고 시제품을 만들어 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론입니다.”
</aside>
agile 방법론에 대한 핵심적인 기능을 말씀드리면 다음과 같습니다.
→ 개인적인 소견으로는 Daily Scrum도 매일하다보면 매일 보고하는 듯한 기분이 듭니다... 일이 너무 많으면 발표 시간이 길어져서 1시간 반을 넘어본 적도 있습니다 ㅠㅠ