Oracle Cloud에서 모놀리식 앱을 컨테이너화된 서비스로 전환하는 방법 알아보기

모놀리식 응용 프로그램은 본질적으로 고정되고 선형적이므로 시간이 지남에 따라 관리 및 업데이트가 어렵습니다.

모놀리식 건축 패턴은 완전한 응용 프로그램을 단일 단위로 설계하고 개발하는 데 사용되기 때문에 신뢰성은 특히 얽힘과 커플링과 관련된 경우에 큰 문제가 될 수 있습니다. 모듈에서 한 가지 문제가 발생하면 전체 응용 프로그램을 사용할 수 없게 될 수 있기 때문입니다.

애플리케이션에 확장성, 안정성, 민첩성 및 자율성이 필요한 경우 마이크로서비스 아키텍처 채택을 고려해야 합니다. 고정 및 선형 모놀리스와 달리 마이크로서비스 아키텍처는 독립적으로 배포 및 테스트할 수 있는 느슨하게 결합된 서비스의 모음으로 애플리케이션을 설계, 개발 및 배포하는 데 어려움을 겪고 있습니다.

마이크로서비스 아키텍처의 가장 큰 이점 중 하나는 다른 서비스 및 해당 기능의 개발 및 배포에 영향을 주지 않는다는 것입니다. 특정 마이크로서비스를 다른 마이크로서비스와 독립적으로 확장할 수 있으며, 각 특정 서비스에 대해 기술 스택 및 프로그래밍 언어를 선택할 수 있습니다.

설계자에게 문의

Ask the Architect 에피소드 다시 보기:

구조

아래 아키텍처 다이어그램은 컨테이너화된 애플리케이션이 서로 독립적으로 실행되는 최종 배포를 보여줍니다.



apps-multiservices-arch-oracle.zip

이 구조에는 다음과 같은 구성 요소가 있습니다.

  • 테넌트

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 안전하고 격리된 파티션입니다. 테넌시 내 Oracle Cloud에서 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 한 회사는 단일 테넌시를 가지며 해당 테넌시 내에 조직 구조를 반영합니다. 일반적으로 단일 테넌시는 단일 구독과 연결되며, 단일 구독은 하나의 테넌시만 갖습니다.

  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라고 하는 하나 이상의 데이터 센터를 포함하는 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며 거리가 멀면 국가 또는 대륙을 가로질러 분리할 수 있습니다.

  • 가용성 도메인

    가용성 도메인은 한 지역 내에 있는 독립형 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 내결함성을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 특정 가용성 도메인에서 장애가 발생하면 해당 지역의 다른 가용성 도메인에 영향을 주지 않습니다.

  • 결함 도메인

    장애 도메인은 한 가용성 도메인 내에서 하드웨어와 인프라를 그룹화한 것입니다. 각 가용성 도메인에는 독립 전원과 하드웨어가 있는 장애 도메인 3개가 있습니다. 여러 장애 도메인에 리소스를 분산하면 애플리케이션이 장애 도메인 내부의 물리적 서버 장애, 시스템 유지보수 및 전원 장애를 허용할 수 있습니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN은 네트워크 환경을 완벽하게 제어할 수 있습니다. VCN에는 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록이 있을 수 있습니다. VCN을 서브넷으로 세그먼트할 수 있으며, 지역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속된 주소 범위로 구성됩니다. 생성 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에 들어오고 나가야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • 경로 테이블

    가상 라우팅 테이블에는 일반적으로 게이트웨이를 통해 서브넷에서 VCN 외부의 대상으로 트래픽을 라우팅하는 규칙이 포함됩니다.

  • 로드 밸런서

    Oracle Cloud Infrastructure Load Balancing 서비스는 단일 시작점에서 백엔드의 여러 서버로 트래픽을 자동으로 분산합니다.

  • Kubernetes용 컨테이너 엔진

    Oracle Cloud Infrastructure Container Engine for Kubernetes는 컨테이너화된 애플리케이션을 클라우드에 배포하는 데 사용할 수 있는 확장 가능하고 가용성이 높은 전담 관리 서비스입니다. 애플리케이션에 필요한 컴퓨트 리소스를 지정하고 Kubernetes용 컨테이너 엔진이 기존 테넌시의 Oracle Cloud Infrastructure에서 프로비저닝합니다. Kubernetes용 컨테이너 엔진은 Kubernetes를 사용하여 호스트 클러스터에서 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화합니다.

  • 계산

    Oracle Cloud Infrastructure Compute 서비스를 사용하면 클라우드에서 컴퓨트 호스트를 프로비전하고 관리할 수 있습니다. CPU, 메모리, 네트워크 대역폭 및 스토리지에 대한 리소스 요구사항을 충족하는 구성으로 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨트 인스턴스를 생성한 후에도 안전하게 접근하고 재시작하며 볼륨을 연결 및 분리하고 더 이상 필요하지 않을 때 종료할 수 있습니다.

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processing은 트랜잭션 처리 워크로드에 최적화된 자동 구동, 자가 보안 및 자가 복구 데이터베이스 서비스입니다. 하드웨어를 구성 또는 관리하거나 소프트웨어를 설치할 필요가 없습니다. Oracle Cloud Infrastructure는 데이터베이스 생성, 데이터베이스 백업, 패치, 업그레이드 및 조정을 처리합니다.