KMooc 오픈소스를 활용한 DevOps 환경 이해 수업을 듣고 정리한 내용입니다.
최신 기술과 시장의 빠른 변화를 대응하기 위한 최신 소프트웨어 개발/운영 트렌드를 말함
특정한 분야나 툴을 말하는 것이 아니다. 프로세스, 조직 등 모든 것을 아우르는 말이다.
개발 : 요구사항, 아키텍처, 설계/개발
운영 : CI/CD(지속적 전달or 지속적 배포)
품질 : 정적분석, 리팩토링, 자동화테스트
개별적으로 의미가 있는게 아니라 모든 것이 잘 이루어질 때 그 의미가 있는 것이다. 개발,운영,품질
의 교집합이 devops이다.
최종 목표 : 서비스를 개선할 때, 최소 비용 최고 효율로 배포가능해야 한다.
-> 요즘 오픈소스 소프트웨어가 잘 되어 있어서 가능한 이야기이다.
2주 ~ 1개월 동안 아래의 단계를 순환한다.
계획 -> 개발 -> 빌드 -> 테스트
-> 릴리즈 -> 배포 -> 운영 -> 모니터링
스크럼 or 칸반 사용
)코드관리 필수
테스트 코드 작성
리팩토링
소스코드 컴파일, 단위테스트, 페키징, 통합테스트
등이 있다.UI테스트, 부하테스트, 통합테스트
등 다양한 테스트 수행 -> 테스트 성공시 지속적 전달의 경우
스테이징 환경까지 배포, 지속적 배포의 경우
자동 프로덕션 환경까지 배포 // 테스트 실패시 롤백으로 대응
자동화된 로그 및 품질 모니터링 도구를 활용하여 분석 -> 개선사항 도출 -> 어플리케이션 or 인프라 구성 및 변경 관리를 통해 해결