Cloud Native Architecture

CHEESE·2022년 8월 22일
0

Spring Cloud + MSA

목록 보기
1/13
post-thumbnail

Cloud Native Architecture

특징

확장 가능한 아키텍처

  • 시스템의 수평적인 확장에 유연하다.
  • 확장된 서버로 시스템의 부하를 분산시켜 가용성을 보장한다.
  • 컨테이너 기반(시스템 또는 서비스 어플리케이션 단위)의 패키지
  • 사용되는 리소스를 모니터링 할 수 있다.

탄력적인 아키텍처

  • 각 기능을 분리된 서비스로 개발
  • CI/CD 파이프라인을 통해 여러 환경에 동일한 어플리케이션을 적용하는 시간을 단축시킨다.
  • 분리된 서비스 간 원활한 통신을 위해 종속성을 최소화해야 한다.

장애 격리

  • 분리되어 개발된 서비스들은 독립적인 어플리케이션과 같다.
  • 특정 서비스에 오류가 발생해도 다른 서비스에 영향을 주지 않는다.

Cloud Service Application

Cloud Service Architecture로 구현된 어플리케이션

특징

Microservices

CI/CD

  • 지속적인 통합과 배포
  • 형상 관리, 통합과 테스트
  • 시스템의 정상적인 운영과 다운타임을 최소화 하는 것이 목적

* 카나리 배포와 블루/그린 배포

  • 카나리 배포 : 95% 사용자는 이전 버전, 5% 사용자는 새 버전 서비스를 사용하게 함
  • 블루/그린 배포 : 이전 버전과 거의 동일한 새 버전을 점진적으로 이전함

DevOps

  • 개발 조직과 운영 조직을 통합해서 요구사항을 빠르게 반영
  • 자주 통합, 자주 테스트, 자주 배포할 수 있는 구조
  • 마이크로서비스에 문제가 발생했을 때 바로 수정해서 배포하는 과정을 반복할 수 있게 한다.
  • 구현-테스트-배포를 시스템 종료까지 무한 반복
  • 고객이 원하는 최선의 결과물을 만드는 데 목적

Containers

  • 컨테이너 가상화를 통해 클라우드 환경으로 이전해서 적은 비용으로 탄력성 있는 시스템을 구축
  • 하드웨어 가상화보다 적은 리소스를 사용
  • 가볍고 빠르게 운영

0개의 댓글