출처
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)
'클라우드 > 쿠버네티스' 카테고리의 다른 글
[클라우드/쿠버네티스] 쿠버네티스 배포 (0) | 2024.06.26 |
---|---|
[클라우드/쿠버네티스] 쿠버네티스 아키텍처 (0) | 2024.06.22 |
[클라우드/쿠버네티스] Docker (0) | 2024.06.20 |
[쿠버네티스] 쿠버네티스 컴포넌트 (0) | 2024.02.11 |
[쿠버네티스] 컨테이너 오케스트레이션 (1) | 2024.02.10 |
댓글