시작이 반

[MSA] Cloud Native 본문

Programming/MSA

[MSA] Cloud Native

G_Gi 2021. 7. 30. 17:41
SMALL

MSA에 대해 포스팅 하기 전에 Cloud Native에 대해 알아보자

 

Cloud Native Architecture 특징

  • 확장 가능한 아키텍처
    1. 시스템의 수평적 확장
    2. 시스템 부하 분산, 가용성 보장
    3. 서비스 어플리케이션 단위 패키지 (컨테이너 기반 패키지)
    4. 모니터링
  • 탄력적 아키텍처
    1. 어플리케이션의 각기능을 서비스로 생성 - 통합 - 배포을 CI/CD자동화 파이프라인을 통해 처리, 환경 변화 대응시간 단축 
    2. 작게 분리된 독립적인 서비스들이 분할된 구조
    3. 무상태 통신 프로토콜, 종속성 최소화
    4. 서비스 추가와 삭제 자동으로 감지
    5. 변경된 서비스 요청에 따라 사용자 요청 처리 (동적 처리)
  • 장애 격리
    1. 특정 오류가 나더라도 다른 서비스에 영향을 주지 않는다.

Cloud Native Application

CI/CD

- 지속적인 통합 : 결과물을 통합하기위한 형상관리, 통합된 코드를 빌드하고 테스트하는 과정 

                       ex) Jenkins, Team CI, Travis CI

- 지속적인 배포 : 지속적인 전달과 지속적인 배포, 소스저장소에 업로드된 코드를 가져와서 패키지화된 결과물을 배포

                      Continuous Delivery : 소스저장소에서 실행환경에 수동으로 배포

                      Continuous Deployment : 소스저장소에서 실행환경에 자동으로 배포

 

DevOps

Development + Operations : 개발조직과 운영조직의 통합

고객의 요구사항을 빠르게 반영하고 만족도 높은 결과물을 제공

 

Container

가상화 기술

Cloud Native의 핵심

운영체제 위에 Container Runtime 서비스를 작동, 애플리케이션을 패키지화하고 분리하는 기술

 

Microservice

각기능에 해당하는 서비스를 독립적으로 분해하여 구축하고 서로 네트워크로 통신하는 아키텍처

 

 

Cloud Native Application을 개발할때 고려해야할 12가지 가이드라인

https://12factor.net/ko/

 

The Twelve-Factor App (한국어)

배경 이 문서에 기여한 사람들은 수백개 앱의 개발과 배포에 직접 참여했으며, Heroku 플랫폼을 통해서 방대한 앱의 개발, 운영, 확장을 간접적으로 관찰했다. 이 문서는 실제로 쓰이는 다양한 SaaS

12factor.net

 

 

<참고 : Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)>

 

 

LIST

'Programming > MSA' 카테고리의 다른 글

[MSA] Spring Cloud ( Gateway Filter )  (0) 2021.08.03
[MSA] Spring Cloud ( API Gateway )  (0) 2021.08.02
[MSA] Spring Cloud ( Eureka Service Discovery )  (0) 2021.08.02
[MSA] Spring Cloud  (0) 2021.07.31
[MSA] MicroService Architecture  (0) 2021.07.30