호스팅 SaaS 애플리케이션에 대한 기반 구조 설계 방법 학습

SaaS(서비스형 소프트웨어 업체) 로 소프트웨어를 제공하는 ISV(독립 소프트웨어 업체) 로, 서비스를 호스트하고 테넌트를 관리하려면 안전하고 확장 가능한 엔터프라이즈급 인프라가 필요합니다. 이 솔루션은 Oracle Cloud에서 SaaS 애플리케이션을 호스트할 수 있도록 최적의 방법을 통합하는 검증 구조를 제공합니다.

SaaS 애플리케이션 정보

SaaS 응용 프로그램은 공급업체가 클라우드에서 서비스로 제공하는 응용 프로그램입니다. 공급업체의 고객은 서비스에 구독하고 필요할 때 애플리케이션을 사용합니다.

SaaS 업체의 각 가입자(또는 고객) 는 테넌트입니다.

다음 구조 패턴을 사용하여 SaaS 응용 프로그램을 클라우드에 배치할 수 있습니다.
  • 단일 테넌트 인식 응용 프로그램 인스턴스입니다.

    이 패턴에서 SaaS 공급업체는 모든 테넌트에서 사용하는 단일 응용 프로그램 인스턴스를 배치합니다. 응용 프로그램은 테넌트 관련 작업 로드 및 데이터의 구분을 처리합니다.

    모든 테넌트는 공통 코드 기반에서 구축된 동일한 애플리케이션 버전을 가져옵니다. 모든 애플리케이션 배치는 동일한 코드를 기반으로 하므로 공급업체는 서비스를 효율적으로 구성, 패치 및 업그레이드할 수 있습니다. 서비스 스케일 및 작동은 쉽습니다.

    그러나 테넌트 인식 애플리케이션 환경을 구축하려면 초기에 더 많은 노력이 필요합니다. 또한 이 배치 패턴은 전체 격리가 필요한 SaaS 고객에게 적합하지 않습니다.

  • 다중 테넌트 관련 애플리케이션 인스턴스

    이 패턴은 솔루션의 중심입니다.

    SaaS 공급업체는 여러 개의 격리된 애플리케이션 인스턴스를 배포하고 관리합니다. 각 배치는 특정 테넌트에 사용됩니다. SaaS 공급업체는 공통 관리 계층을 통해 개별 테넌트 애플리케이션 인스턴스를 관리합니다.

    공급업체는 단일 코드 기반에서 모든 테넌트 애플리케이션 인스턴스를 작성하거나 각 테넌트에 애플리케이션의 사용자정의 버전을 제공하도록 선택할 수 있습니다. 이 패턴은 응용 프로그램 환경을 완전히 격리해야 하는 SaaS 고객에게 적합합니다.

구조

이 아키텍처는 SaaS 공급업체의 여러 테넌트를 호스트하는 Oracle Cloud Infrastructure 테넌시를 보여줍니다. 구조의 모든 리소스는 단일 영역에 있습니다.

SaaS 공급업체의 관리 기반구조와 각 테넌트의 응용 프로그램 리소스는 별도의 구획 및 vcn(가상 클라우드 네트워크) 에서 격리됩니다. 네트워크 격리를 통해 응용 프로그램 및 데이터가 테넌시의 다른 배치와 분리됩니다. 구획은 리소스의 논리적 격리를 보장하고 세분화된 액세스 제어를 사용으로 설정합니다.


여러 SaaS 테넌트를 호스트하는 ISV 테넌시에 대한 구조입니다.

이 구조에는 다음 구성 요소가 포함됩니다.

  • 관리 구획

    관리 구획은 개별 테넌트 응용 프로그램 배치를 관리하는 데 사용되는 공통 기반 구조에 필요한 모든 Isv별 리소스에 대한 논리적 컨테이너입니다. 여기에는 다음 리소스가 포함됩니다.

    • ISV VCN

      해당 테넌트에 액세스하고 관리하기 위해 SaaS ISV에 필요한 리소스가 ISV VCN에 연결되어 있습니다.

    • 관리 서버

      관리 서버는 전용 서브넷의 컴퓨트 인스턴스입니다. 이 서버에서 기반 구조 모니터링 응용 프로그램을 실행하여 테넌트 서버를 모니터할 수 있습니다. 관리 서버는 ISV VCN의 전용 서브넷에 연결됩니다. 관리 서버는 경로 지정 게이트웨이를 통해 테넌트 구획의 서버와 통신할 수 있습니다.

  • 피어링 구획

    ISV VCN의 리소스와 테넌트 리소스 간의 전용 통신을 위해서는 ISV VCN와 각 테넌트 VCN 간의 로컬 피어링 관계가 필요합니다. 그러나 VCN는 최대 10개의 로컬 피어링 관계만 가질 수 있습니다. 이 배율 제한을 극복하기 위해 아키텍처는 여러 피어링 Vcn에 연결할 수 있는 경로 지정 게이트웨이를 사용합니다. 각 피어링 VCN는 최대 10개의 테넌트 vcn과 로컬 피어링 관계를 가질 수 있습니다. 따라서 피어링 구획의 경로 지정 게이트웨이 및 피어링 Vcn을 추가하여 토폴로지를 확장할 수 있습니다.

    • 피어링 서브넷

      피어링 서브넷은 ISV VCN의 일부입니다. 모든 경로 지정 게이트웨이는 이 서브넷에 연결됩니다.

    • 경로 지정 게이트웨이 및 피어링 Vcn

      각 경로 지정 게이트웨이는 피어링 VCN를 통해 관리 서버에서 테넌트 vcn으로 트래픽을 경로 지정하는 Oracle Linux 컴퓨트 인스턴스입니다.

      각 경로 지정 게이트웨이 인스턴스의 기본 VNIC는 ISV VCN의 피어링 서브넷에 연결됩니다.

      각 경로 지정 게이트웨이 인스턴스의 보조 Vnic는 피어링 vcn의 서브넷에 연결됩니다. 경로 지정 게이트웨이가 작동할 수 있는 최대 피어링 Vcn 수는 기본 컴퓨트 인스턴스 구성에서 지원하는 보조 vnic 수에 따라 다릅니다. 예를 들어, 경로 지정 게이트웨이가 VM.Standard.2.4 구성을 사용하는 컴퓨트 인스턴스에서 실행되는 경우 최대 3개의 보조 vnic를 가질 수 있으며 최대 3개의 피어링 vcn을 서비스할 수 있습니다. 각 피어링 VCN은 최대 10개의 테넌트 vcn에 연결할 수 있습니다. 따라서 VM.Standard.2.4 모양을 사용하는 경로 지정 게이트웨이는 최대 30개의 응용 프로그램 테넌트를 지원할 수 있습니다.

      각 경로 지정 게이트웨이의 고가용성을 위해서는 부동 IP 주소를 사용하여 계산 인스턴스의 능동-수동 쌍을 설정하고, 자동 복구를 위해 Pacemaker 및 Corosync와 같은 소프트웨어를 사용할 수 있습니다.

  • 테넌트 구획

    각 테넌트에 대한 리소스가 별도의 구획에 있습니다. 각 테넌트 구획에는 해당 테넌트에 대한 모든 리소스가 연결되는 VCN가 포함되어 있습니다. 따라서 각 테넌트에 대한 리소스는 토폴로지의 다른 모든 테넌트로부터 격리된 네트워크에서 고유한 주소 공간을 사용합니다.

    각 테넌트 구획에서 구획의 서버를 모니터하고 ISV VCN의 관리 서버로 측정항목을 전송할 수 있는 에이전트를 실행 중인 계산 인스턴스를 프로비전할 수 있습니다.

    새 애플리케이션 테넌트를 추가하면 새 테넌트에 필요한 리소스가 새 구획에 프로비전됩니다.

    테넌트는 공용 인터넷 또는 전용 접속(IPSec VPN 또는 FastConnect) 을 통해 자신의 응용 프로그램에 액세스할 수 있습니다. 공용 인터넷에서 접근하려면 각 테넌트 VCN에 인터넷 게이트웨이가 필요합니다. VPN 또는 FastConnect를 사용하여 액세스하려면 DRG가 필요합니다. 구조 다이어그램에 테넌트 Vcn에 대한 인터넷 게이트웨이 및 drg가 표시되지 않습니다.

필수 서비스 및 정책 정보

이 솔루션은 다음 서비스 및 액세스 관리 정책을 필요로 합니다.

서비스 필요한 정책...
Oracle Cloud Infrastructure Identity and Access Management 구획을 생성 및 관리합니다.
Oracle Cloud Infrastructure Networking Vcn, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 목록, lpg 및 drg를 만들고 관리합니다.
Oracle Cloud Infrastructure Compute 컴퓨트 인스턴스를 생성 및 관리합니다.

필요한 클라우드 서비스를 얻으려면 Oracle 솔루션용 Oracle Cloud 서비스를 얻는 방법 알아보기 를 참조하십시오.