[클라우드/쿠버네티스] MSA, DevOps

2024. 6. 2. 22:12
728x90
반응형

출처

1) Cloud Native DevOps with Kubernetes / 쿠버네티스를 활용한 클라우드 네이티브 데브옵스

 

DevOps

1) Development와 Operation의 합성어. 개발팀과 운영팀 간의 소통, 협업 및 톻합을 강조하는 개발 환경이나 문화

2) 실리콘 밸리를 중심으로 유행하여 전세계에 퍼지고 있는 현재 IT분야에서 가장 진보된 소프트웨어 개발 문화 또는 방법론

3) CI/CD, 모니터링 및 로깅 등의 도구와 프로세스를 통해 DevOps는 소프트웨어 라이프사이클의 각 단계를 개선시킴

4) DevOps를 실현하기 위한 수단으로서 MSA가 등장하게 됨

 

 

MSA (Micro Service Architecture)

1) 애플리케이션을 여러 개의 작은 독립적인 서비스로 나누는 아키텍처 패턴

2) 애플리케이션 로직을 각자 책임이 명확한 작은 컴포넌트들로 분해하고 이들을 조합해 솔루션으로 제공

3) 각 컴포넌트는 작은 책임 영역을 담당하고 완전히 상호 독립적으로 배포됨

4) 각 서비스는 특정 기능을 제공하고 독립적으로 배포, 확장, 관리
5) 애플리케이션을 유연하게 만들어주며, 기존의 모놀리식 애플리케이션과는 달리 각 서비스를 개별적으로 관리

6) 각 서비스 별 DB를 따로 가지게 됨

 

 

DevOps Workflow

1) 소프트웨어 개발 및 운영을 효율적으로 관리하기 위한 일련의 프로세스와 활동을 의미

2) Collaborate, Build, Test, Deploy, Run 단계로 구성되어있음

  -Collaborate: 팀원들은 함께 작업하고 소통. 코드를 공유하고 버전 관리를 위해 협업 도구를 사용(GitLab, GitHub)

  -Build: CI도구(Jenkins)를 사용하여 자동화된 빌드 프로세스를 설정하고 소스 코드 변경 사항을 정기적으로 빌드(Maven, Gradle)

  -Test: 자동화된 테스트 스위트를 실행하여 소프트웨어의 기능적 및 비기능적 요구 사항을 검증(JUnit)

  -Deploy: 지속적 배포(CD, ArgoCD) 도구를 사용하여 자동화된 배포 프로세스를 실행. 안정적인 배포를 위해 롤백 기능을 구현하고 배포 중에 발생하는 문제를 처리

  -Run: 배포된 소프트웨어를 운영하고 모니터링하는 단계(OpenStack, Kubernetes)

 

출처: DEVOPEDIA(https://devopedia.org/devops)

 

출처: DEVOPEDIA(https://devopedia.org/devops)

 

728x90
반응형

BELATED ARTICLES

more