Learning
토픽 24 / 192·애자일과 DevOps

DevOps

DevOps

개발(Development)과 운영(Operations)의 합성어로, 개발팀과 운영팀의 협업을 통해 소프트웨어의 빌드·테스트·배포를 자동화하고 지속적으로 가치를 전달하는 문화이자 방법론

특징: 문화·자동화·측정·공유(CAMS), 지속적 개선

핵심 원칙

  • 문화(Culture): 협업, 신뢰, 학습
  • 자동화(Automation): CI/CD, IaC
  • 측정(Measurement): 메트릭, 모니터링
  • 공유(Sharing): 지식, 도구, 책임

핵심 실천법

  • 지속적 통합(CI)
  • 지속적 전달/배포(CD)
  • 인프라 코드화(IaC)
  • 모니터링/로깅
  • 마이크로서비스

도구

  • Jenkins: 오픈소스 CI/CD 자동화 서버
  • GitLab CI / GitHub Actions: Git 플랫폼 통합 CI/CD 파이프라인
  • Docker: 컨테이너 기반 애플리케이션 패키징·배포
  • Kubernetes: 컨테이너 오케스트레이션, 자동 스케일링·배포
  • Terraform: 인프라를 코드로 정의하는 IaC 도구
  • Ansible: 구성 관리 및 배포 자동화 도구

장점: 배포 주기 단축, 품질 향상, 협업 강화, 빠른 피드백

단점: 조직 문화 변화 필요, 도구 복잡도, 초기 투자

적용사례: 넷플릭스, 아마존(하루 수천 회 배포), IT 서비스 기업

비교: DevOps(개발+운영) vs DevSecOps(+보안) vs SRE(신뢰성엔지니어링)

연관: CI/CD, 애자일, 클라우드, 마이크로서비스