320x100
320x100

데브옵스의 기본지식

데브옵스

- Development + Operation (개발+운영)

- 개발담당자와 운영담당자가 연계하여 협력하는 개발 방법론

 : 개발을 담당하는 시스템 개발자와 운영을 담당하는 정보기술 전문가 사이의 소통과 협업, 통합

   및 자동화를 강조하는 소프트웨어 개발 방법론

- 에자일 개발 방법과 지속적인 통합(CI), 지속적인 배포(CD) 추구

 

- 목적

 : 제품과 서비스의 개발 및 배포의 

 : 안정적인 빌드, 테스트, 릴리즈가 가능한 환경 구축

 : 개발조직과 운영조직간 상호 의존적 대응

 : 피드백에 대한 빠른 대처

 

- 장점

 : 잦은 코드 배포에 따른 릴리즈 속도 향상 및 개발시간 단축

 : 지속적인 관리에 의한 품질향상

 : 자동화에 따른 시스템 효율성 증가

 : 협업강화 

 : 피드백에 대한 빠른 대처

 

출처 : https://www.techm.kr/news/articleView.html?idxno=1774

 

 

 

 

애자일 소프트웨어 개발 프로세스 

- 실질적인 코딩을 기반으로 일정한 주기에 따라 계속적으로 

  프로토타입을 형성하고 필요한 요구사항을 파악하며 이에 따라 즉시 수정사항을 

  적용하여 결과적으로 하나의 큰 소프트웨어를 개발하는 적응형 개발 방법

출처 : https://m.blog.naver.com/acornedu/221519913222

 

 

 

지속적인 통합 (Continuous integration / CI)

- 개발과 코드 통합을 지속적으로 진행하여 품질을 유지하는 것

 : 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지터리에 통합 (merge)

 : 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 했을 때 발생하는 충돌 문제 해결

 : 기존 코드와 신규 코드간 충돌 발생시 CI를 통해 빠른 수정 가능

=> 빌드 및 테스트 자동화

 

 

 

지속적인 배포 (Continueous Deployment / CD) or 지속적인 서비스 제공 (Continueous Delivery / CD)

- 코드의 변경사항을 자동으로 릴리즈하고 배포 하는 것

 : CI 프로세스를 통해 지속적인 빌드와 테스트를 진행한 뒤,

   버그 테스트를 통과한 코드에 대해 테스트 서버와 운영서버에 내용을 배포하여 반영

=> 배포 자동화

 

 

 

CI/CD의 필요성

- 여러 개발자의 소스코드를 병합하는 경우에 발생할 수 있는 문제를 미리 감지할 수 있음

- 자동화 된 테스트에서 기존코드와 신규코드와의 충돌을 CI를 통해 빠르게 수정할 수 있음

- 시스템과 애플리케이션을 항상 최신 상태로 유지할 수 있다

 

 

 

 

 

 

300x250
728x90