2022. 7. 31. 20:39ㆍ클라우드 컴퓨팅/클라우드 바로알기
클라우드 네이티브에 대하여
MSA와 컨테이너, 쿠버네티스의 흐름으로 가는 궁극적인 이유는 바로 클라우드 네이티브를 지향하기 때문입니다.
CNCF (Cloud Native Computing Foundation)에서 클라우드 네이티브를 다음과 같이 정의하고 있습니다.
클라우드 네이티브 기술은 퍼블릭, 프라이빗 및 하이브리드 클라우드 환경에서 확장 가능한 애플리케이션을 구축하고 실행할 수 있도록 합니다. 컨테이너, 서비스 매시, 마이크로 서비스, immutable(변경 불가능한) 인프라 및 declarative(선언적) API가 클라우드 네이티브 접근 방식의 예입니다.
이러한 기술은 기존에 느슨하게 결합된 시스템을 보다 탄력적이고 관리 가능한 시스템으로 만들어줍니다. 자동화된 시스템은 엔지니어가 최소한의 노력으로 빈번하게 발생하는 작업을 예측하여 수행할 수 있습니다.
클라우드 네이티브 트레일 맵은 클라우드 네이티브 여정을 시작하는 기업에게 그 여정을 소개하고 있습니다.
클라우드 네이티브 환경에는 많은 옵션이 있습니다. 네이티브 트레일 맵은 오픈 소스, 클라우드 네이티브 단계에서 선택할 수 있는 추천 과정입니다. 각 단계는 공급 업체 지원 서비스를 받거나 또는 직접 수행할 수 있습니다.
1. 컨테이너 화
• 일반적으로 Docker 컨테이너로 수행합니다.
• 종속성(PDP-11 에뮬레이터에서 실행되는 코드)을 가졌더라도 모든 규모의 애플리케이션이 컨테이너화가 가능합니다.
• 마이크로 서비스 구현을 위해 어플리케이션은 적절히 분할되어야 합니다.
2. CI / CD
• CI / CD (Continuous Integration / Continuous Delivery)를 설정해야 합니다. 그렇게 하면 소스 코드가 자동으로 새로운 컨테이너에서 구축, 테스트, 배포, 스테이징 되고 상품으로 제공할 수 있습니다.
• 자동화 된 롤 아웃, 롤백 및 테스트를 설정해야 합니다.
• Argo는 Kubernetes 기본 도구 세트입니다.
- 잡과 어플리케이션, 워크플로우로 배포 및 실행해야 합니다.
3. 오케스트레이션 및 애플리케이션 정의
• Kubernetes는 시장을 선도하는 오케스트레이션 솔루션입니다.
• 인증된 Kubernetes 플랫폼을 선택하여 이용해야 합니다.
• Helm 차트는 가장 복잡한 Kubernetes 애플리케이션에 대한 정의, 설치 및 업그레이드를 도와줍니다.
4. 관찰 및 분석
• 모니터링, 로깅 및 추적을 위한 솔루션을 선택하고 사용해야 합니다.
5. 서비스 프록시, 발견 및 메시
• CoreDNS는 빠르고 유연한 도구로 서비스 검색에 유용합니다.
• Envoy 및 Linkerd는 헬스체크, 라우팅, 로드밸런싱을 제공하고 메시 아키텍처에 유용합니다.
6. 네트워킹, 정책 및 보안
• 더 유연한 네트워킹을 사용하려면 CNI 호환이 가능한 Calico, Flannel 또는 Weave Net과 같은 네트워크 프로젝트를 사용합니다.
• OPA는 데이터 필터링 권한 부여 및 승인 제어 범용 정책 엔진입니다.
• Falco는 클라우드 네이티브 이상 탐지 엔진입니다.
7. 분산 데이터베이스 및 스토리지
• 단일 데이터베이스에서 보다 많은 탄력성과 확장성이 필요한 경우에 다음을 이용할 수 있습니다.
• Vitess - 대규모로 MySQL을 실행하기 위한 옵션.
• Rook - 통합 스토리지 오케 스트레이터. Kubernetes에 다양한 스토리지 솔루션 세트.
• Etcd - Kubernetes의 "두뇌"역할, 시스템 클러스터에 데이터를 저장하는 안정적인 방법.
• TiKV - 고성능 분산 트랜잭션. Rust로 작성된 키-값 저장소.
8. 스트리밍 및 메시지
• JSON-REST 보다 높은 성능이 필요한 경우 다음을 고려하십시오. gPC 또는 NATS를 사용합니다.
gRPC는 범용 RPC 프레임 워크입니다.
NATS는 요청 / 응답을 포함하는 다중 모달 메시징 시스템, 게시 / 구독 및 부하 분산 대기열입니다.
CloudEvents는 사양입니다. 일반적인 방법으로 이벤트 데이터를 설명합니다.
9. 컨테이너 레지스트리 및 런타임
Harbor는 콘텐츠를 저장, 서명 및 스캔하는 레지스트리입니다.
컨테이너 런타임을 대체하여 사용할 수 있습니다.
Container-d와 CRI-O는 가장 일반적인 OCI를 준수합니다.
10. 소프트웨어 배포
안전한 소프트웨어 배포가 필요한 경우 Notary로 평가하고 프레임 워크를 실행합니다.
'클라우드 컴퓨팅 > 클라우드 바로알기' 카테고리의 다른 글
쿠버네티스 1.25 버전 출시 Kubernetes 1.25 Combiner (0) | 2022.08.31 |
---|---|
쿠버네티스를 이해하기 위한 개념들 (0) | 2022.08.01 |
쿠버네티스와 컨테이너 이해하기 (0) | 2022.07.29 |
클라우드 보안(Security)은 누구의 책임인가요 (0) | 2022.07.28 |
데이터베이스를 서비스로 이용한다는것은 (Amazon Aurora, RDS) (0) | 2022.07.28 |