데브옵스

위키백과, 우리 모두의 백과사전.

개발 (소프트웨어 공학), 오퍼레이션, 품질 보증(QA)의 조사로서 데브옵스를 나타낸 벤 다이어그램.
소프트웨어 개발 프로세스
활동과 단계
요구사항 분석 · 기능 명세
구조 · 설계
구현 · 테스팅
배치 · 유지보수
개발 모형
애자일 소프트웨어 개발 · 클린룸
DSDM · 순차점증적 개발 · 반복형 개발
RAD · RUP · 나선 모형
폭포수 모델 · 익스트림 프로그래밍
스크럼 · V 모델 · TDD
지원 활동
구성 관리 · 문서화
품질보증 · 프로젝트 관리
사용자 경험 설계
도구
컴파일러 · 디버거 · 프로파일러
GUI 디자이너 · 통합 개발 환경

데브옵스(DevOps)는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 데브옵스는 소프트웨어 개발조직과 운영조직간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다.

목적[편집]

데브옵스의 목적은 전반적인 배포 파이프라인에 걸쳐있다. 여기에는 개선된 배치(deployment) 주기를 포함하며 다음으로 이어질 수 있다:

  • 제품 출시까지 걸리는 기간(time to market) 단축
  • 새로운 판의 더 낮은 실패율
  • 픽스 간 짧아진 리드 타임(상품 생산 시작부터 완성까지 걸리는 시간)
  • 복구 시 더 빠른 평균 시간 (새로운 릴리스의 충돌 및 그 밖에 현재의 시스템를 비활성화하는 상황에서)

단순한 프로세스들은 데브옵스 접근을 사용하여 더 프로그래밍 가능하게 되고 유동적으로 되고 있다.[1] 데브옵스는 운영 프로세스의 예측 가능성, 효율성, 보안, 유지보수 가능성을 극대화하는 것이 목적이다. 더 가끔씩 자동화가 이러한 목표를 지원한다.

데브옵스 툴체인[편집]

  1. 계획 - 목적을 수행하기 앞서 방법이나 절차 등을 미리 생각하여 계획.
  2. 코드 - 코드 개발 및 검토, 버전 관리 도구, 코드 병합
  3. 빌드 - 지속적 통합(CI) 도구, 빌드 상태
  4. 테스트 - 테스트 및 결과가 성능을 결정
  5. 패키지 - 애플리케이션 디플로이 이전 단계
  6. 릴리스 - 변경사항 관리, 릴리스 승인, 릴리스 자동화
  7. 구성 - 인프라스트럭처 구성 및 관리, IaC(Infrastructure as Code) 도구
  8. 모니터링 - 애플리케이션 성능 모니터링, 최종 사용자 경험.

각주[편집]

  1. “What is DevOps?”. NewRelic.com. 2014년 10월 21일에 확인함.