Zero To One

1) DevOps, CI/CD란 무엇인가? 본문

DevOps

1) DevOps, CI/CD란 무엇인가?

Zero_To_One 2022. 2. 7. 22:59

1. DevOps란? 

DevOps(Devops = Development + Operations)라는 합성어는 소프트웨어 개발자 들과 IT 종사자들 사이의 의사소통, 협업, 융합을 강조한 소프트웨어 개발 방법론이 며, 소프트웨어 개발과 IT 운영간의 상호 의존관계에 대한 산물이다. DevOps는 조 직에서 소프트웨어 상품과 서비스를 신속히 생산하는 것에 도움이 되는 것을 목적으 로 한다.

 

 1) 새로운 서비스를 기획한다 (Plan)

 2) 개발자가 코드를 작성한다 (Code)

 3) 어디든 전달 가능 하도록 서비스를 포장한다 (Build)

 4) 서비스가 잘 작동하는지 테스트 한다 (Test)

 5) 버전 넘버를 붙여, 베타 서비스를 시작한다 (Release)

 6) 정식 버전을 내놓는다 (Deploy)

 7) 트래픽을 모니터링 한다 (Operate)

 

여기서 Dev의 영역은 1 ~ 3까지

         Ops의 영역은 4 ~ 7까지 이다.

 

DevOps에 대한 주요 클라우드 서비스 벤더들의 정의

 

DevOps란 무엇입니까? – Amazon Web Services(AWS)

소프트웨어와 인터넷은 쇼핑에서 엔터테인먼트 그리고 뱅킹에 이르기까지 전 세계와 산업을 변화시켰습니다. 이제 소프트웨어는 비즈니스를 지원하는 것에 그치지 않고, 비즈니스의 모든 부분

aws.amazon.com

 

DevOps란? DevOps 알아보기 | Microsoft Azure

DevOps는 무엇이며, DevOps 방식과 역할이 자동화와 협업을 개선하여 고객을 위해 더 나은 제품을 만드는 데 어떤 도움이 되는지 알아보세요.

azure.microsoft.com

 

DevOps란 무엇인가요? 연구 및 솔루션  |  Google Cloud

DevOps 도구, 권장사항, 연구를 통해 품질 또는 안정성의 저하 없이 민첩성을 얻을 수 있습니다.

cloud.google.com

 

2. CI/CD 파이프라인

- 지속적 통합/지속적 전달

 1) CI : Continuous Integration : 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어
공유 레포지토리에 통합히는 것을 의미 

    - 무엇을 통합한다는 것일까? -> 기존 프로그램 + 새로 개발된 부분

    - Code -> Build -> Test

    - 지속적 통합의 필요성

       -> 버그를 일찍 발견

       -> 테스트가 완료된 코드에 대해 빠른 전달 가능

       -> 지속적인 배포 가능

 

 2) CD : Continuous Delivery 혹은 Continuous Depolyment : 지속적 배포 = 지속적 통합 + 지속적 전달
     - 지속적 배포란, 모든 코드의 변경이 배포로 이어진다는 것

     - Release -> Deploy -> Operate

 

 3) CI/CD 파이프 라인의 목표 : 애플리케이션 배포

 

3. etc...

  1) DevOps가 더욱 부각된 이유는? : 1) 클라우드 환경으로의 변화, 2) 높은 가용성을 요구하는 애플리케이션

  2) 밴드로 표현하자면? : 프론트앤드(기타), 벡앤드(베이스), DevOps(프로듀서)

  3) 게임 서버를 어떻게 운영하는게 가용성을 높일까?

      - 수평확장 : 똑같은 일을 하는 서버의 댓수를 늘리는 것

      - 수직확장 : 서버 성능을 늘리는 것 (한계가 있음)

       -> 많은 사람이 이용하는 호텔에 큰 수영장을 놔두는 것이 더 효율적

'DevOps' 카테고리의 다른 글

DevOps를 하면서 리눅스를 써야하는 이유  (0) 2022.02.14
2) DevOps 규모에 따른 운영  (0) 2022.02.08