Spring & Spring Boot

[ Spring Cloud ] 마이크로서비스 와 클라우드 개념정리 - 1편

사과씨앗 2021. 7. 15. 11:07
728x90
반응형

이번 글에서 작성된 내용은 모두 아래 링크의 강좌에 대한 수강 내용입니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A% A4/dashboard

 

Spring Cloud로 개발하는 마이크로서비스 애플리케이션 - 인프런 | 강의

Spring framework의 Spring Cloud 제품군을 이용하여 마이크로서비스 애플리케이션을 개발해 보는 과정입니다. Cloud Native Application으로써의 Spring Cloud를 어떻게 사용하는지, 구성을 어떻게 하는지에 대해

www.inflearn.com

 

 

[ Cloud Native Architecture 특징 ]

  • 확장 가능한 아키텍쳐
    • 시스템의 수평적 확정에 유연
    • 확장된 서버로 시스템의 부하 분산, 가용성 보장
    • 시스템 또는, 서비스 애플리케이션 단위의 패키지(컨테이너 기반 패키지)
    • 모니터링
  • 탄력적 아키텍쳐
    • 서비스 생성 - 통합 - 배포, 비즈니스 환경 변화 대응 시간 단축
    • 분할된서비스 구조
    • 무상태 통신 프로토콜
    • 서비스의 추가와 삭제 자동으로 감지
    • 변경된 서비스 요처에 따라 사용자 요청 처리( 동적 처리 )

 

  • 장애 격리( Fault isollation )
    • 특정 서비스에 오류가 발생해도 다른 서비스에 영향 주지 않음

 

[ Cloud Native Application CI/CD ]

 

 

 

 

  • 지속적인 통합 CI( Continuous Integration )
    • 통합 서버 ,소스 관리 (scm), 빌드 도구, 테스트 도구
    • Ex) Jenkins, Team CI , Travis CI
  • 지속적 배포
    • Continuous Delivery (지속적인 전달)   -> 패키지 결과물을 실행 환경에 수작업 으로 배포
    • Continuous Delployment (지속적인 배포) -> 운영자 관리자의 개입 없이 자동화 되어 있는 상태
    • Pipe line

 

 

 

[ Cloud Native Application DevOps 

 

 

  • DevOps는 고객의 요구사항을 빠르게 반영하고 만족도 높은 결과물을 제시 하는 것이 목적
  • 기존의 엔터프라이즈 시스템은 모든 과정이 분리되어 운영 되어 진다. 변경사항이나 요구사항에 대한 빠른 대처가 어렵다.
  • 자주 테스트 하고 자주 업데이트 하고 자주 피드백을 받고 전체 어플리케이션이 완성될 때 까지 끊임없이 진행 하는 것을 DevOps 라고 부른다.

 

 

[ Cloud Native Application Container 

 

 

  • 컨테이너 가상화는 기존의 하드웨어 가상화 또는 서버 가상화의 비해 적은 리소스를 사용한다.
  • 하드웨어 가상화는 하드웨어 시스템 위에 운영체제를 설치 하고 어플리케이션을 설치한다.
  • 서버 가상화를 통한 시스템에서는 운영체제 위에 하이퍼바이져 기술을 통한 가상머신을 설치 기동한다. 이러한 기술은 하드웨어가 가진 물리적인 리소스를 쪼개어서 사용 하며 하나의 가상머신은 독립적인 운영체제를 가지고 사용할 있다. 그러나 가상머신에서 사용되는 어플리케이션은 확장에 한계가 있고 시스템이 부하를 있다.
  • 컨테이너 가상화 기반의 시스템은 운영체제 위에 컨테이너 가상화를 사용할 있는 소프트웨어 서비스를 작동 하게 되고 공통적인 라이브러리나 리소스 같은 것들을 공유해서 사용하게 된다. 컨테이너 가상화 서비스로 작동되는 어플리케이션은 가볍고 빠르게 작동 될 수 있다는 특징을 가지고 있다.

 

728x90
반응형