Choosing a Microservices Deployment Strategy
(Microservice 배포 전략 선택)
이것은 Microservice로 Application을 작성하는 시리즈 중에서 여섯번째 글이다. 첫번째 글에서는 Microservice Architecture Pattern을 소개하고, Microservice 사용에 대한 장단점을 논의했다. 그 다음 글에서는 Microservice Architecture의 다양한 측면 : API Gateway 사용, 프로세스간 통신, 서비스 검색, Event-Driven 데이터 관리 등에 대해서 살펴보았다. 이번 글에서는 Microservice 배포 전략에 대해서 살펴보자.
Motivations
(동기)
Monolithic Application을 배포하는 것은 일반적으로 하나의 대용량 Application을 여러 개의 동일한 복사본으로 실행한다는 것을 의미한다. 일반적으로 N개의 서버(실제 혹은 가상)를 준비하고, 각 서버마다 M개의 Application 인스턴스를 실행한다. Monolithic Application 배포는 항상 전적으로 쉽지는 않지만, Microservice Application을 배포하는 것보다는 훨씬 간단하다.
Microservice Application은 수십 혹은 수백개의 서비스로 이루어진다. 서비스는 다양한 언어와 프레임워크로 작성된다. 각각의 서비스는 그 자체적인 배포, 리소스, 확장, 모니터링 요구사항을 가진 작은 응용프로그램(mini-application)이다. 예를 들어, 각 서비스에 대한 수요 기반으로 특정 개수의 서비스 인스턴스를 실행할 필요가 있다. 각 서비스 인스턴스는 적당한 CPU, Memory, I/O 리소스를 제공받아야 한다. 더 까다로운 것은 이러한 복잡성에도 불구하고, 서비스들의 배포는 빠르고, 안정적이고, 비용 효율적이어야 한다는 것이다.
몇 가지 다른 Microservice 배포 패턴이 있다. 먼저, Host별 다중 서비스 인스턴스 패턴(Multiple Service Instance per Host pattern)에 대해서 살펴보자.
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/777