01. Devops , CI/CD 의 탄생 배경 이해하기

01. CI/CD 이해하기

01) 어떻게 시작 되었을까?

CI/CD 의 대한 이해를 하기 위해서는, 과거에 주로 사용되는 폭포수 모델의 단점인 “느리고 배포 주기가 긴” 부분을 개선하고자 했던 노력에 대해서 이해 하고자 한다.

(01) 폭포수 모델의 상황

[상황] 학교 A는 [교육 지원 소프트웨어 ] 의 시스템 개선을 위해 개발을 시작 한다. 이를 위해 “소프트웨어 개발팀”에 돈과 “요구사항”을 던져 주었다.

[결과] 6개월 뒤, 결과물을 받았으나 이는 매우 느리고 버그가 많이 있었다. 이에따라 시스템의 문제가 발생 하였다.

-> 무엇이 문제가 되었을까 ?

  • 많은 테스트를 하지 못했고
  • 반영하지 못했고,
  • 빈번한 피드백을 하지 못했다.

이를 개선하는 것이 Devops 를 통한 개발이 되었다.

02) DevOps 의 탄생

(01) Dev 와 Ops의 목표

[Dev] 많은 변화 , 빠른 배포
[Ops] 안정적이고 사용 가능한 시스템

이 둘을 합쳐서, 변화에 대해서 빠르게 배포하지만 안정적인 시스템 운영을 하는 것을 목표로 하였다.

그리고, 이를 안정적으로 수행할 QA 를 더한 것을 Devops 라 한다.

-> 빠르게 하려면 자동화 시켜야하고 이를 통해 빠르게 진행해야 한다.

(02) Devops 의 모습

자동화된 Devops 는 위와 같은 고리 형태로 연결되어 다음 작업을 자동화되어 연쇄적으로 불러 일으키는 고리로 생성 된다.

03) CI / CD

(01) CI / CD 란 ?

  • CI : Continuous integration ( 지속적으로 통합하며 피드백 하는 것)
  • CD : Continuous Delivery (지속적으로 전달 하는 것 )

(02) 지속적 배포와 / 지속적 전달의 차이점 (핵심 개념)

  • Delivery : 완전히 배포전에 확인 후 배포 하는 것
  • Deployment : 바로 배포 되는 것

(03) CI/CD 를 수행하는 AWS 의 도구들

  • Code Commit : Git 과 유사함
  • Code Build : 일반적인 빌드
  • Code Deploy : 지속적으로 배포 하는 것

1 thought on “01. Devops , CI/CD 의 탄생 배경 이해하기”

Leave a Comment