더북(TheBook)

1.8 왜 클라우드와 마이크로서비스인가?



마이크로서비스 기반 아키텍처의 핵심 개념은 각 서비스를 독립된 개별 산출물로 패키징하고 배포한다는 것이다. 서비스 인스턴스를 신속하게 시작할 수 있고 서비스 인스턴스는 서로 차이가 없어야 한다.

마이크로서비스를 작성하는 개발자는 서비스를 다음 중 어디에 배포할지 조만간 결정해야 할 것이다.

물리적 서버: 물리적 머신에 마이크로서비스를 빌드하고 배포할 수 있지만 물리적 서버는 제한이 있어 이를 사용하는 조직이 거의 없다. 물리적 서버는 용량을 빠르게 늘릴 수 없고 여러 물리적 서버로 마이크로서비스를 수평 확장하는 데 상당한 비용이 든다.

가상 머신 이미지: 마이크로서비스의 주요 이점 중 하나는 확장하고 실패 이벤트를 받을 때 신속하게 마이크로서비스 인스턴스를 시작하고 종료할 수 있다는 것이다. 가상 머신은 주요 클라우드 공급자의 마음이자 정신이다. 마이크로서비스를 가상 머신 이미지에 패키징한 후 서비스의 여러 인스턴스를 신속하게 IaaS형 사설 및 공용 클라우드에 배포하고 시작할 수 있다.

가상 컨테이너: 가상 컨테이너는 가상 머신 이미지 기반의 마이크로서비스 배포를 자연스럽게 확장한 것이다. 서비스를 완전한 가상 머신에 배포하는 대신 많은 개발자가 도커 컨테이너(또는 동등 컨테이너 기술)로 자기 서비스를 클라우드에 배포한다. 가상 컨테이너는 가상 머신 안에서 실행된다. 가상 컨테이너를 사용하면 하나의 가상 머신을 같은 가상 머신 이미지를 공유하는 완전 자립형 프로세스로 분리할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.