DevOps

개념 시스템 개발자와 시스템 운영자의 협업과 자동화를 강조하는 개발 방법론

특징 개발 운영 협업 자동화

  • DevOps를 통해 소프트웨어 개발,배포,릴리즈 속도 향상 가능

개념도

설계 개발 빌드 테스트 배포 릴리즈 모니터링 피드백 (앞에 4개 CI, 뒤 4개 CD)

  • CI, CD가 순환하며 개발이 이루어짐

구성요소

품질 품질 기준: 정적 분석, 테스트 통과율 테스트 자동화: 자동화된 테스트로 빠른 검증

프로세스 지속적 배포: 운영 서버 반영 자동화 릴리즈와 배포의 구분: 변경사항 전달 시점 유연화

도구 지속적 통합: 형상관리 도구 활용 배포 자동화: 배포 스크립트를 통한 빠른 배포

  • DevOps는 품질, 프로세스, 도구라는 기준으로 나눠볼 수 있음

DevOps의 고려사항

인력

  • 개발,운영간 화합
  • 협업 문화

보안

  • 빠른 배포 리스크 업
  • DevSecOps 관점 필요

비용

  • 신규 도구 도입

  • 클라우드 비용 업

  • 장점을 취하고 한계를 보완하는 DevOps 도입 과정 필요

화이트박스 블랙박스 비교

소프트웨어 응집도와 결합도