DevOps와 CI/CD

CI/CD라는 주제를 다룰 때 DevOps라는 단어는 빠지지 않고 등장한다.

그만큼 두 개념은 항상 함께 언급되지만 정작 왜 함께 이야기되는지는 명확하게 와닿지 않아 그 상관 관계를 알아보려 한다.

1. 왜 CI/CD 이야기를 하다 보면 DevOps로 확장되는가?

처음 CI/CD를 도입하면 보통 이렇게 시작한다.

  • 빌드 자동화: 코드를 합치고 실행 파일로 만드는 과정
  • 테스트 자동화: 버그를 사전에 걸러내는 과정
  • 배포 자동화: 클릭 한 번으로 서버에 반영하는 과정

이 과정을 통해 개발과 배포 속도는 눈에 띄게 개선된다.

기술적인 관점에서 보았을 때, 이러한 CI/CD 도입은 분명한 효과를 만든다.

 

하지만 자동화가 어느 정도 자리를 잡으면, 곧 이런 의문이 든다.

  • 테스트 기준은 누가 정하는가?
  • 배포 실패의 책임은 누가 지는가?
  • 장애를 누가 가장 먼저 인지하는가?
  • 개발과 운영은 언제 소통하는가?

이 질문들은 더 이상 기술의 문제가 아니다.

기술 문제가 아니라 조직과 협업 문제다.

 

이 지점에서 자연스럽게 깨닫게 되는데,
“CI/CD만으로는 부족하고, 일하는 방식 자체를 바꿔야 한다.”
이 깨달음이 바로 DevOps다.

2. 그래서 “CI/CD → DevOps” 흐름이 만들어진다.

이 흐름은 개념적 순서가 아니라 경험의 순서다.

  1. 효율화 단계 (CI/CD): 자동화를 통해 기술적 병목 현상을 줄인다.
  2. 직면 단계: 자동화된 속도를 따라가지 못하는 조직 구조(사일로 현상)를 마주한다.
  3. 문화 전환 단계 (DevOps): 개발과 운영의 경계를 허물고 협업 구조와 책임을 재정의한다.

3. 결국 DevOps란?

DevOps는 특정 도구나 기술을 의미하지 않는다.

개발(Development)과 운영(Operations) 간의 경계를 허물고,
소프트웨어와 그 서비스를 더 빠르고 안정적으로 전달하기 위한 문화·원칙·협업 방식의 집합이다.
  • 시스템에 의한 검증: 사람의 주관적인 확인 대신 자동화된 시스템의 검증을 통한다.
  • 문서보다 코드: 말이나 문서로 전달하던 운영 지식을 파이프라인과 코드로 자산화한다.
  • 피드백 루프의 최적화: 사후 대응에 급급하기보다 지속적인 모니터링을 통해 문제를 즉각 인지하고 수정하는 문화를 만든다.

 

+ Recent posts