DevOps
개념 시스템 개발자와 시스템 운영자의 협업과 자동화를 강조하는 개발 방법론
특징 개발 운영 협업 자동화
- DevOps를 통해 소프트웨어 개발,배포,릴리즈 속도 향상 가능
개념도
설계 개발 빌드 테스트 배포 릴리즈 모니터링 피드백 (앞에 4개 CI, 뒤 4개 CD)
- CI, CD가 순환하며 개발이 이루어짐
구성요소
품질 품질 기준: 정적 분석, 테스트 통과율 테스트 자동화: 자동화된 테스트로 빠른 검증
프로세스 지속적 배포: 운영 서버 반영 자동화 릴리즈와 배포의 구분: 변경사항 전달 시점 유연화
도구 지속적 통합: 형상관리 도구 활용 배포 자동화: 배포 스크립트를 통한 빠른 배포
- DevOps는 품질, 프로세스, 도구라는 기준으로 나눠볼 수 있음
DevOps의 고려사항
인력
- 개발,운영간 화합
- 협업 문화
보안
- 빠른 배포 → 리스크 업
- DevSecOps 관점 필요
비용
-
신규 도구 도입
-
클라우드 비용 업
-
장점을 취하고 한계를 보완하는 DevOps 도입 과정 필요