이 자습서에서는 모놀리스 node.js 애플리케이션을 도커 컨테이너에 배포한 다음, 가동 중단 없이 애플리케이션을 마이크로서비스로 분해합니다. 이 node.js는 사용자 간의 스레드와 메시지를 담은 간단한 메시지 보드를 호스팅하는 애플리케이션입니다.

기존의 모놀리스 아키텍처는 확장하기가 어려웠습니다. 애플리케이션의 코드 기반이 커질수록 업데이트하고 ​유지 관리하기가 복잡해집니다. 새로운 기능과 언어, 프레임워크, 기술을 도입하기가 굉장히 어렵기 때문에 새로운 아이디어와 혁신에 제약이 있습니다.

마이크로서비스 아키텍처에서는 각각의 애플리케이션 구성 요소가 자체 서비스로 실행되며, 잘 정의된 API를 통해 다른 서비스와 통신합니다. 비즈니스 기능 위주로 구축된 마이크로서비스는 서비스마다 한 가지 기능을 수행합니다. 다양한 프레임워크와 프로그래밍 언어로 마이크로서비스를 작성한 다음 단일 서비스 또는 서비스 그룹 형태로 독립적으로 배포할 수 있습니다.

이 자습서에서는 도커 컨테이너에서 간단한 모놀리스 애플리케이션을 실행하는 방법, 같은 애플리케이션을 마이크로서비스로 배포하는 방법, 가동 중단 없이 트래픽을 마이크로서비스로 전환하는 방법을 알아봅니다. 과정을 마친 뒤 이 자습서와 여기 수록된 코드를 템플릿으로 사용하여 컨테이너화된 자체 마이크로서비스를 AWS에서 구축하고 배포해 보십시오.

애플리케이션 아키텍처
모놀리스 아키텍처

모놀리스 아키텍처

node.js 애플리케이션 전체가 하나의 서비스로 컨테이너 안에서 실행되며, 각 컨테이너에는 다른 모든 컨테이너와 동일한 기능이 있습니다. 한 가지 애플리케이션 기능에 대한 수요가 급증하면 해당 아키텍처 전체를 확장해야 합니다.

 
마이크로서비스 아키텍처

마이크로서비스 아키텍처

node.js 애플리케이션의 각 기능이 자체 컨테이너 안에서 별도의 서비스로 실행됩니다. 원하는 서비스를 나머지 서비스와 독립적으로 확장하고 업데이트할 수 있습니다.

AWS 경험: 중급

완료 시간: 2시간

완료 비용: 이 아키텍처에 사용되는 각 서비스는 AWS 프리 티어 대상입니다. 프리 티어 사용 한도를 넘어선 경우, 이 자습서를 완료하는 데 0.25 USD*가 필요합니다.

사용 기술: 이 자습서를 완료하기 위해 다음을 사용하게 됩니다.

*자습서를 진행하는 동안 권장 구성에 따르고 모든 리소스를 24시간 안에 종료한다고 가정한 경우의 추정치입니다.

**생성된 지 24시간이 지나지 않은 계정은 이 프로젝트를 완료하는 데 필요한 모든 리소스에 액세스할 권한이 아직 없을 수 있습니다.