데브옵스의 기본지식
데브옵스
- Development + Operation (개발+운영)
- 개발담당자와 운영담당자가 연계하여 협력하는 개발 방법론
: 개발을 담당하는 시스템 개발자와 운영을 담당하는 정보기술 전문가 사이의 소통과 협업, 통합
및 자동화를 강조하는 소프트웨어 개발 방법론
- 에자일 개발 방법과 지속적인 통합(CI), 지속적인 배포(CD) 추구
- 목적
: 제품과 서비스의 개발 및 배포의
: 안정적인 빌드, 테스트, 릴리즈가 가능한 환경 구축
: 개발조직과 운영조직간 상호 의존적 대응
: 피드백에 대한 빠른 대처
- 장점
: 잦은 코드 배포에 따른 릴리즈 속도 향상 및 개발시간 단축
: 지속적인 관리에 의한 품질향상
: 자동화에 따른 시스템 효율성 증가
: 협업강화
: 피드백에 대한 빠른 대처
애자일 소프트웨어 개발 프로세스
- 실질적인 코딩을 기반으로 일정한 주기에 따라 계속적으로
프로토타입을 형성하고 필요한 요구사항을 파악하며 이에 따라 즉시 수정사항을
적용하여 결과적으로 하나의 큰 소프트웨어를 개발하는 적응형 개발 방법
지속적인 통합 (Continuous integration / CI)
- 개발과 코드 통합을 지속적으로 진행하여 품질을 유지하는 것
: 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지터리에 통합 (merge)
: 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 했을 때 발생하는 충돌 문제 해결
: 기존 코드와 신규 코드간 충돌 발생시 CI를 통해 빠른 수정 가능
=> 빌드 및 테스트 자동화
지속적인 배포 (Continueous Deployment / CD) or 지속적인 서비스 제공 (Continueous Delivery / CD)
- 코드의 변경사항을 자동으로 릴리즈하고 배포 하는 것
: CI 프로세스를 통해 지속적인 빌드와 테스트를 진행한 뒤,
버그 테스트를 통과한 코드에 대해 테스트 서버와 운영서버에 내용을 배포하여 반영
=> 배포 자동화
CI/CD의 필요성
- 여러 개발자의 소스코드를 병합하는 경우에 발생할 수 있는 문제를 미리 감지할 수 있음
- 자동화 된 테스트에서 기존코드와 신규코드와의 충돌을 CI를 통해 빠르게 수정할 수 있음
- 시스템과 애플리케이션을 항상 최신 상태로 유지할 수 있다
'Devops > DevOps' 카테고리의 다른 글
[데브옵스 개발자 로드맵 2020] 컨테이너 오케스트레이션 (0) | 2021.01.29 |
---|---|
[데브옵스 개발자 로드맵 2020] 컨테이너 (0) | 2021.01.29 |
[데브옵스 개발자 로드맵 2020] CI/CD (0) | 2021.01.29 |
[데브옵스 개발자 로드맵 2020] 데브옵스 툴체인과 과정, 데브옵스 툴 (0) | 2021.01.23 |
[데브옵스 개발자 로드맵 2020] GIT의 개념 (0) | 2021.01.22 |