5.2 데브옵스
데브옵스DevOps란 개발 조직과 운영 조직의 벽을 최소화하자는 개념입니다.
시작은 그랬습니다.
하지만, 현재 데브옵스의 진정한 의미는 비즈니스 조직과 IT조직의 협업을 강화하자는 것입니다.
다시 말해, 고객과 업무를 가장 잘 이해하는 비즈니스 조직원의 생각과 아이디어가 실제적인 IT서비스로 구현되고 계속 발전되는 "문화"를 만들자는 것이 데브옵스가 추구하는 방향입니다.
1) WHY
IT프로그램의 개발과 운영 비용 절감, 자동화를 통한 편의성과 속도 향상은 데브옵스의 목표가 아닙니다.
데브옵스문화의 진정한 목표는 고객과 비즈니스를 위한 지속적인 혁신입니다.
2) HOW & WHAT
데브옵스문화를 만들기 위한 힌트는 콘웨이의 법칙에 있습니다.
<인용>
"모든 시스템은 그 조직의 의사소통 구조와 동일하게 만들어진다."
</>
즉, 조직구조를 커뮤니케이션과 협업에 유연하도록 변경하라는 것입니다.
<그림>
출처: 블로그 ‘IT의 중심에서’-콘웨이의 법칙, 시스템은 조직을 닮는다.
</>
이러한 조직구조 변화를 위해서 나온 것이 스쿼드Squad기반의 데브옵스DevOps조직입니다.
데브옵스조직의 최초 성공 사례이자 애자일을 도입하려는 많은 기업들이 참조하고 있는 스포티파이Spotify의 조직 모델은 아래와 같습니다.
서비스별로 스쿼드팀을 만들고 유사한 성격의 서비스 도메인에 속하는 스쿼드를 묶어 약 100명정도의 트라이브Tribe조직을 구성했습니다.
동일한 역할을 하는 사람들끼리는 챕터Chapter라는 조직으로 묶고 서로 다른 역할과 트라이브Tribe의 사람들이 관심사별로 길드Guild라는 조직을 구성할 수 있습니다.
<그림>
출처: Scaling Agile @ Spotify by 헨릭 크니버그
</>
조직구조의 변화와 더불어 고객과 비즈니스를 위한 지속적인 혁신을 위해 더 필요한 것이 있습니다.
데브옵스 조직문화의 생명은 스피드Speed와 이터레이션Iteration에 있습니다. 즉, 비즈니스의 요구에 적시에 대처하고 지속적인 개선을 할 수 있어야 합니다.
이를 가능하기 위해서는 서비스의 CI(Continuous Integration-지속통합)와 CD(Continuous Deployment-지속배포)가 자동화 될 필요가 있습니다.
다시말해, 각 개발자의 개발 결과가 자동으로 통합되고 배포하는 과정이 물 흐르듯이 연속적으로 이루어져야 한다는 것입니다.
CI는 소스업로드에서 배포 이미지 업로드까지의 과정을 의미합니다. 보통 소스 업로드 → 단위 테스트 → 소스 보안 검사 → 실행 파일 생성 → 배포이미지 빌드 → 배포이미지 보안검사 -> 이미지 저장소 업로드의 단계를 거칩니다.
여기서 배포이미지란 어플리케이션 실행을 위해 필요한 OS, 런타임 엔진, 라이브러리, 소스가 하나로 압축된 컨테이너 이미지를 의미 합니다.
CD는 배포 이미지를 이용한 개발계 배포 -> 검증계 배포 -> 시스템/성능/인수 테스트 -> 운영계 배포까지의 단계를 의미합니다.
이러한 CI/CD를 위한 업무 절차를 ‘파이프라인’이라고 합니다. 그리고 파이프라인의 각 단계를 수행하기 위한 도구들을 ‘툴체인Toolchains’이라고 합니다.
위 그림은 CI/CD 파이프라인과 툴체인Toolchains의 예시입니다.
가장 많이 사용되는 툴체인을 구성하는 툴은 아래와 같습니다.
- CI/CD 파이프라인 관리: 젠킨스Jenkins, 뱀부Bamboo, 아르고CDArgo CD, 깃허브 액션GitHub Action, 텍톤Tekton
- 소스형상관리: 깃허브GitHub, 깃랩GitLab, 비트버켓Bitbucket
- 소스보안검사: 소나큐브SonarQube
- 단위 테스트: 스포크Spock
- 실행파일 빌드: 메이븐Maven, 그레들Gradle, npm
- Artifact Library(라이브러리 저장소): 넥서스Nexus, 제이프로그jFrog
- 컨테이너이미지 빌드: 도커Docker, 크라이오CRI-O
- 컨테이너이미지 저장소: 도커 허브Docker HUB, 하버Harbor, 넥서스Nexus
- 배포이미지 보안 취약성 검사: 트라이비Trivy & 클래어Clair(Harbor에 내장)
- 배포: 쿠베컨트롤kubectl, 헬름helm
3) 데브옵스 요약
지금까지 데브옵스에 대한 설명을 요약하면 아래와 같습니다.
https://happycloud-lee.tistory.com/261?category=8322466
일하는 방식 변화 핵심만 빠르게 이해하기: 애자일, 마이크로서비스, 데브옵스, 클라우드
새로운 변화의 물결 내용 순서 마이크로서비스가 최근에 왜 주목 받고 있는지 거시적 관점인 일하는 방식 변화의 측면에서 이해하는 것이 목표입니다. 이를 위해 일하는 방식 변화가 왜 필요한
happycloud-lee.tistory.com