배치 계획

모놀리식 애플리케이션을 마이크로 서비스 아키텍처로 변환하려면 모놀리식 애플리케이션을 도커 이미지로 컨테이너화한 다음 GitHub, GitLab 또는 Bitbucket과 같은 소스 코드 저장소에서 해당 이미지를 사용할 수 있도록 만드는 작업이 포함됩니다.

  1. 일체형 애플리케이션을 위한 컨테이너 생성

    Bitbucket, GitHub, Gitlab과 같은 소스 코드 라이브러리에 애플리케이션 코드를 저장한 후 소스 코드를 로컬 시스템으로 다운로드합니다.

    다운로드가 완료되면 Docker 명령을 실행하여 Docker 이미지를 만듭니다. Docker 이미지가 생성된 후 OCIR(Oracle Cloud Infrastructure Registry)에서 저장소를 생성하고 인증 인증서를 사용하여 Docker push 명령을 실행하여 OCIR에 이미지를 저장합니다.

  2. 컨테이너에 모놀리식 애플리케이션 배포

    Oracle Cloud Infrastructure Container Engine for Kubernetes(OKE) 클러스터를 만든 다음 OCIR로 푸시한 Docker 이미지를 Kubernetes 클러스터에 배포합니다. 포트 80을 통해 트래픽을 라우팅하고 요청을 분산하기 위한 애플리케이션 로드 밸런서를 생성합니다. 아래 아키텍처는 컨테이너화되었지만 각 컨테이너에 모든 서비스가 있기 때문에 여전히 모놀리식입니다.



    apps-aggregate-services-arch-oracle.zip

  3. 모놀리식 응용 프로그램 중단

    일반 유저가 요청을 생성하고 로드 밸런서가 로드를 분산하면 REST 호출이 그에 따라 라우팅됩니다. 아래 다이어그램에서는 각 컨테이너에서 독립적으로 실행되도록 각 서비스 또는 애플리케이션 프로세스를 구분했습니다. 예를 들어, 인증 서비스는 사용자 서비스 및 분석 서비스와 마찬가지로 자체 컨테이너에서 실행됩니다. 현재 요구사항에 따라 이러한 서비스를 개별적으로 업데이트하거나 수정할 수 있는 완전히 격리되어 있습니다.



    apps-multiservices-arch-oracle.zip

  4. 마이크로서비스 배포

    이 마지막 단계에서는 마이크로서비스를 배포하고 애플리케이션의 트래픽을 모놀리식 애플리케이션 인스턴스에서 안전하게 전환합니다.

    1. 마이크로서비스를 시작하고 해당 URL을 업데이트하여 수신 트래픽을 전환합니다.
    2. 로드 밸런서를 조정하여 업데이트된 URL로 트래픽 경로를 지정합니다.
    3. 마지막으로 모놀리식 응용 프로그램 Instance를 종료합니다. 들어오는 트래픽 및 요청을 관찰하고 모니터링하여 응용 프로그램이 새 환경에서 제대로 작동하는지 확인합니다.


    업데이트-rest-uri-oracle.zip