Architecture
[Architecture] Cloud Native Architecture
Aslan0
2025. 9. 30. 22:39
반응형
클라우드 네이티브 아키텍처의 특징
- 확장 가능한 아키텍처
- 시스템의 수평적 확장에 유연 (Scale up & out)
- 확장된 서버에 시스템 부하를 분산, 가용성을 보장
- 시스템이나, 서비스 애플리케이션 단위의 패키지(컨테이너 기반)
- 모니터링
- 탄력적 아키텍처
- 서비스 생성-> 통합 -> 배포, 비즈니스 환경 변화에 따른 대응시간 단축
- 분할 된 서비스 구조
- Stateless 통신 프로토콜
- 서비스의 추가와 삭제 자동으로 감지
- 변경된 서비스 요청에 따라 사용자 요청 처리(동적 처리)
- 장애 격리(Fault isolation)
- 특정 서비스에 오류 발생시 다른 서비스에 영향을 주지 않음
핵심 요소
- 마이크로 서비스
- 컨테이너화
- CI/CD
- DevOps
CI/CD
- 지속적인 통합 - CI(Continuous Integration)
- 통합 서버, 리소스 관리(SVM), 빌드 도구, 테스트 도구
- ex) Jenkins, Team CI, Travic CI
- 지속적 배포 - CD
- Continuous Delivery
- Continuous Deployment
- Pipe Line
- 카나리 배포와 블루그린 배포
- 카나리
- 전체 사용자중 95%는 이전 버전 서비스를 사용하고 5%는 새 버전을 접속할 수 있도록 허가해주는 방법
- 블루그린
- 사용자하고 거의 동일한 새로운 버전을 점진적으로 만들어서 옮기는 방법
- 카나리
DevOps
- 소프트웨어 개발(Development)과 IT 운영(Operations)을 결합하여, 개발과 운영 팀 간의 소통과 협업을 강화하고, 지속적인 통합(CI)과 지속적인 배포(CD)를 자동화하는 문화이자 방법론
Container 가상화
- 컨테이너 가상화는 운영 체제(OS) 수준에서 가상화하여 애플리케이션과 그 종속성을 하나의 독립적인 패키지(컨테이너)로 묶는 기술이다. 이 기술은 하이퍼바이저 방식의 가상화보다 훨씬 가벼워 빠르고 효율적이며, 필요한 모든 요소를 포함한 컨테이너는 어떤 환경에서도 일관되게 실행될 수 있다. 대표적인 컨테이너 기술로는 Docker가 있으며, Kubernetes와 같은 오케스트레이션 도구와 함께 사용되어 애플리케이션 배포 및 관리를 간소화 한다.
반응형