DevOps

devops.png

개요

DevOps는 Development Operations의 약어로, 소프트웨어 개발과 운영을 통합하여 효율성, 협력, 속도, 안정성을 개선하는 개발 및 운영 방법론이다.

주요 특징

  • 소프트웨어 개발과 운영팀 간의 협력과 커뮤니케이션 강화
  • 전체 생명주기 관리: 개발, 배포, 운영, 모니터링
  • 고객 만족과 가치 제공을 핵심 가치로 함

핵심 가치

  • 고객 만족과 가치 제공
  • 협업과 효율성 강화
  • 릴리즈 주기 단축 및 문제 신속 대응

DevOps 방법론

방법론

  • 스크럼, 칸반, 애자일 등의 방법론 적용
  • 협업과 효율성 향상

DevOps 툴체인

  • 계획, 코딩, 구축, 테스트, 배포, 운영, 모니터링 단계에서 다양한 툴 활용
  • Jira, GitHub, Docker, Jenkins 등

DevOps 이점

비즈니스 및 기술적 이점

  • 빠른 제품 제공
  • 빠른 문제 해결 및 복잡성 감소
  • 확장성 및 가용성 향상
  • 안정적인 운영 환경
  • 리소스 활용률 향상
  • 자동화 향상
  • 시스템 결과 가시성 개선
  • 혁신 촉진

DevOps 사례

주요 사례

  1. 지속적인 개발
  2. 지속적인 테스트
  3. 지속적인 통합(CI)
  4. 지속적인 제공
  5. 지속적인 구축(CD)
  6. 지속적인 모니터링
  7. 코드형 인프라

예시

  • 코드형 인프라: Docker, Kubernetes
  • 모니터링: New Relic, Grafana

DevOps 역사

기원

  • 2000년대 초반 Google, Flickr에서 운영 안정성 엔지니어(SRE) 필요성 대두
  • 2009년 Flickr 엔지니어들이 “10+ Deploys per Day” 발표
  • 2009년 Patrick Debois가 벨기에에서 첫 “DevOps Day” 주최

발전

  • 이후 DevOps 커뮤니티 확장, 업계 및 툴 개발 가속화