[Jenkins] Devops와 CI/CD의 이해

2023. 8. 15. 23:24초기 과업/DevSecOps

작성자알 수 없는 사용자

728x90
반응형

 

안녕하세요. 기깔나는 사람들에서 DMSO를 맡고있는 정우입니다.

오늘은 Jenkins가 뭔지 알아가기 이전에 DevOps란 무엇이고 CI/CD란 무엇인지 알아보도록 할게요


Cloud Native Application

클라우드 네이티브는 클라우드 컴퓨팅 환경에서 현대적 애플리케이션을 구축, 배포 및 관리할 때의 소프트웨어 접근 방식입니다.

https://aws.amazon.com/ko/what-is/cloud-native/

 

클라우드 네이티브란 무엇인가요? - 클라우드 네이티브 아키텍처 설명 - AWS

클라우드 컴퓨팅은 외부 데이터 센터에서 호스팅되며, 사용자가 종량제 방식으로 사용할 수 있는 소프트웨어 인프라를 말합니다. 기업은 값비싼 서버 비용을 지불하거나 서버를 유지 관리할 필

aws.amazon.com

 

 

1. MSA - MicroService Architecture

마이크로서비스 아키텍처에 대한 정확한 정의는 없지만

작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크라고 할 수 있다.

 

MSA의 등장배경: 

하나의 결과물을 패키징 해서 배포되는 형태였던 Monolithic Architecture 

    - 이에 대한 문제점: 부분 장애가 전체 서비스로 확대 가능, 배포 시간이 오래걸린다, 언어에 종속적이다

이에 따라 각각의 컨테이너에서 부분적으로 관리할 수 있는 MSA의 개념이 자리잡기 시작했다

 

MSA의 특징 :

MSA는 API를 통해서만 상호작용할 수 있다

 

https://wooaoe.tistory.com/57

 

[MSA] MSA란 무엇인가? 개념 이해하기

MSA가 무엇인지 자세하게 알고싶어 개인적으로 정리하는 포스팅입니다. MSA? MicroService Architecture의 줄임말 👉🏻 마이크로서비스 아키텍처에 대한 정확한 정의는 없다. 하지만 마이크로서비스란

wooaoe.tistory.com

 

2. Containerization

MSA의 결과물은 컨테이너 기반인 경우가 많다.

리소스의 낭비나, 유지보수, 민첩성을 고려해 VM을 사용하기보다 도커를 사용하게된다.

Docker

  • 도커는 DSL (Docker Specified Language)를 사용한다
  • 다른시스템에서도 사용할 수 있게된다
  • Test, 운영 등과같은 환경을 제공한다

3. DevOps 

  • Development + Operations
  • 변화에 대한 신속한 대응을 가능하게 해주는 것
  • 엔지니어가 프로그래밍 하고 빌드하고 시스템에 배포 및 서비스를 Run
  • 사용자와 끊임없이 Interation하면서 서비스를 개선해서 나가는 일련의 과정, 문화

 

4. CI(Continous Integration)/CD(Continus Deliivery, Deployment)

CI(Continous Integration) : package

  • 작은 단위로 빈번하게 Build, Test, Merge한다는 것
  • 단위테스트를 통해 검증 → 코드의 수준이 향상된다

CI 역할 및 순서:

  1. 형상관리에 Commit → 같은 코드를 여러명이 사용 시 버전관리 필요 → 충돌이 발생하지 않는 코드 ex) VCS, SCM(git, gitlab… )
  2.  Packaging 작업 : Commit된 것을 Build→ Test(단위테스트에 통과한 코드) → Package 할 수 있는 툴 : Jenkins
  3. 배포

CD(Continus Delivery, Deployment : CI에서 package된 것을 배포하는것

  • 통합된 데이터를 검증하고 배포한다

CI/CD가 자동화 되지 않는다면

항상 다른 서버에 배포하게 된다면 문제가 생길 가능성이 증가하고

서버를 유지하는 비용도 많습니다.

 

CI/CD는 MSA원칙에 가장 중요한 역할

 


 

 

 

 


참고자료

🔗 - 인프런- Jenkins를 이용한 CI/CD Pipeline 구축

 

 

 

728x90
반응형