개발+운영 |
I. 개발, 운영 부서의 통합, DevOps의 개요
가. DevOps 정의
- SW 개발 조직과 운영 조직간의 의사소통, 협업, 융합을 강조하여 SW 상품과 서비스를 신속히 생산하는 개발 방법론
나. DevOps의 등장배경
- 수요증가, 비용절감, 장애대응, SW 라이프사이클 단축
다. DevOps의 특징
구분 |
특징 |
내용 |
기능적 관점 |
지속적 관리/시간 |
지속적 관리로 발생되는 복잡성을 낮추고 해결시간 단축 |
빠른 서비스 제공 |
문제 발생 시 신속한 초기 대응으로 문제 확산 확률 감소 |
|
올바른 측정 평가 |
유효한 데이터 평가 및 도출, 프로제트 성공 실패 원인 분석, 평가 |
|
비즈니스적 관점 |
지속적 의사소통 |
개발과 운영에 협업을 위한 의사소통 중요도 증가 및 목표 공유, 협력 |
II. DevOps의 프로세스 및 단계별 활동, 구현방안
가.DevOps의 프로세스
나. DevOps의 단계별 활동
단계 |
활동 |
설명 |
Dev Area |
Product Backlog |
- 사용자의 요구사항 리스트 |
SW Dev Team |
- 작은 스프린트 단위 개발팀 |
|
Check In |
- 작은 배포 |
|
Auto Process Area |
Auto Build |
- 자동으로 빌드 |
Auto Script |
- 자동으로 테스트 스크립트 생성 |
|
Auto Deployment |
- 테스트가 완료된 부분에 배치 |
|
Operator Area |
Monitoring & Operation |
- 시스템 운영에 대한관리 - 개발 조직이 운영까지 진행 |
다. DevOps의 프로세스
단계 |
내용 |
도구 |
계획 |
· 피드백, 비즈니스 요구사항, 사용자 수요 기준으로 우선순위 부여 계획 수립 |
Office, MS Project |
개발 및 빌드 |
· 소스가 형상관리 Repository에 Check-in되면 자동으로 지속적인 통합 작업 수행 · 조기 문제 발견 |
Git, Github, eclipse, maven |
테스트 |
· 테스트 자동화를 통해 각 코드 기반 빌드에 대한 테스트 수행 |
JUnit, XUnit, TestNG |
릴리즈 |
· 자동화된 릴리즈 환경으로 성공,실패, 취소 여부 쉽게 제어 · 최종 사용자에 배포 준비 |
Jenkins, codeship |
배포 |
· 릴리즈된 최종 결과물 도구 활용 운영 서버 배포 |
docker,aws |
운영 |
· 연속성 있는 시스템 운영 |
CHEF, Jira, mantis, kubernetes |
모니터링 |
· 애플리케이션 가용성, 상태 및 성능 모니터링 |
splunk, datadog |
라. DevOps의 구현방안
구분 |
구현방안 |
설명 |
품질 |
통합적 품질보증 |
결함이나 기능 수정을 별도 구분하지 않고 개발 조직의 업무 백로그로 부터 운영시스템 서비스까지 하나의 프로세스 인식 |
테스트 자동화 |
자동화 테스트를 필수적 영역으로 간주하고 테스트 자동화는 테스팅 피라미드 구성 가능 |
|
프로세스 |
Small Release |
잦은 배포를 통한 개발자와 운영자의 협력을 유도하고 피드백을 통한 배포 위험 감소 |
기능흐름 개선 |
개발되거나 변경된 SW가 실제 사용자에게 배포되는데까지 걸리는 사이클 타임을 줄여서 기능의 흐름을 개선 |
|
지속적 통합 |
지속적 통합과 지속적 출시를 통해 개발/운영을 하나의 프로세스로 구현 가능 |
|
도구 |
릴리즈 자동화 |
클릭 한번으로 전체 과정이 수분내에 수행, 릴리즈 실패 또는 취소와 같은 경우도 쉽게 제어 |
프로비저닝 |
IT 인프라 자원을 중앙에서 관리하여 사용자 및 비즈니스 요구사항에 따라 할당하고 배치하여 사용 |
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
요구사항 추적표 (0) | 2021.01.31 |
---|---|
요구공학(Requirements Engineering) (0) | 2021.01.31 |
요구사항명세서(SRS,Software Request Specification) (0) | 2021.01.29 |
요구사항 (0) | 2021.01.29 |
방법론 테일러링(Tailoring) (0) | 2021.01.29 |
JAD (0) | 2021.01.29 |
Kanban (0) | 2021.01.29 |
Lean (0) | 2021.01.29 |
댓글