Informazioni sulla progettazione dell'infrastruttura per l'hosting delle applicazioni SaaS

I servizi ISV (Independent Software Vendor) forniscono il software come servizio (SaaS) richiedono un'infrastruttura di livello enterprise sicura, scalabile e di classe enterprise per ospitare i servizi e gestire i tenant. Questa soluzione offre un'architettura convalidata che comprende procedure ottimali per consentire di ospitare le applicazioni SaaS su Oracle Cloud.

Informazioni sulle applicazioni SaaS

Un'applicazione SaaS è un'applicazione offerta dal fornitore come servizio nel cloud. I clienti del fornitore sottoscrivono il servizio e utilizzano l'applicazione quando hanno bisogno.

A un fornitore SaaS, ogni sottoscrittore (o cliente) è un tenant.

Un'applicazione SaaS può essere distribuita nel cloud utilizzando i seguenti pattern architetturali:
  • Un'istanza di applicazione che supporta il tenant singolo

    In questo pattern il fornitore SaaS distribuisce una singola istanza dell'applicazione, che verrà utilizzata da tutti i tenant. L'applicazione gestisce la separazione dei carichi di lavoro e dei dati specifici del tenant.

    Tutti i tenant ottengono la stessa versione dell'applicazione, creata da un codebase comune. Poiché tutte le distribuzioni delle applicazioni si basano sullo stesso codice, il fornitore può configurare, applicare le patch e aggiornare il servizio in modo efficiente. La scala e il funzionamento del servizio sono semplici.

    Tuttavia, la creazione di un ambiente di applicazioni per il tenant richiede un maggiore impegno iniziale. Questo pattern di distribuzione non è adatto per i clienti SaaS che richiedono un isolamento completo.

  • Più istanze dell'applicazione specifiche del tenant

    Questo pattern è lo stato attivo della soluzione.

    Il fornitore SaaS distribuisce e gestisce più istanze isolate dell'applicazione. Ogni distribuzione riguarda un tenant specifico. Il fornitore SaaS gestisce le singole istanze dell'applicazione tenant tramite un layer di gestione comune.

    Il fornitore può scegliere di creare tutte le istanze dell'applicazione tenant da una singola base di codice oppure di fornire versioni personalizzate dell'applicazione a ogni tenant. Questo pattern è ideale per i clienti SaaS che richiedono un isolamento completo dell'ambiente dell'applicazione.

Architettura

Questa architettura mostra una tenancy Oracle Cloud Infrastructure che ospita più tenant di un fornitore SaaS. Tutte le risorse nell'architettura si trovano in un'unica area.

L'infrastruttura di gestione del fornitore SaaS e le risorse applicative di ciascun tenant sono isolate in compartimenti separati e reti VCN (Virtual Cloud Network). L'isolamento della rete garantisce che le applicazioni e i dati siano separati dalle altre distribuzioni nella tenancy. I compartimenti garantiscono l'isolamento logico delle risorse e garantiscono il controllo dell'accesso granulare.


Architettura per una tenancy ISV che ospita più tenant di SaaS

Questa architettura include i componenti riportati di seguito.

  • Compartimento gestione

    Il compartimento di gestione è un contenitore logico per tutte le risorse specifiche ISVm necessarie per l'infrastruttura comune utilizzata per gestire le singole distribuzioni delle applicazioni tenant. Contiene le seguenti risorse:

    • ISV VCN

      Le risorse necessarie per l'ISV SaaS per accedere e gestire i propri tenant sono collegate alla VCN ISV.

    • Management server

      Management Server è un'istanza di computazione in una subnet privata. È possibile eseguire un'applicazione di monitoraggio dell'infrastruttura su questo server per monitorare i server tenant. Il management server è collegato a una subnet privata nella VCN ISV. Management Server può comunicare con i server dei compartimenti tenant attraverso i gateway di instradamento.

  • Compartimento peering

    Per la comunicazione privata tra le risorse nella VCN ISV e le risorse del tenant, è necessaria una relazione di peering locale tra la VCN ISV e ciascuna VCN del tenant. Una VCN, tuttavia, può avere un massimo di 10 relazioni di peering locale. Per superare questo limite di scala, l'architettura utilizza i gateway di instradamento che possono connettersi a più VCN di peering. Ogni VCN di peering può avere una relazione di peering locale con un massimo di 10 VCN tenant. È pertanto possibile eseguire lo scale up della topologia aggiungendo gateway di instradamento e VCN di peering nel compartimento di peering.

    • Subnet peering

      La subnet di peering fa parte della VCN ISV. Tutti i gateway di instradamento sono collegati a questa subnet.

    • Gateway di instradamento e VCN di peering

      Ogni gateway di instradamento è un'istanza di computazione Oracle Linux che instrada il traffico dal management server alle VCN del tenant tramite una VCN di peering.

      La VNIC primaria di ogni istanza del gateway di instradamento è collegata alla subnet di peering nella VCN ISV.

      Le VNIC secondarie di ciascuna istanza del gateway di instradamento vengono collegate alle subnet delle VCN di peering. Il numero massimo di VCN di peering che un gateway di instradamento può servire dipende dal numero di VNIC secondarie supportate dalla forma dell'istanza di computazione di base. Ad esempio, se un gateway di instradamento viene eseguito su un'istanza di computazione che utilizza la forma VM.Standard.2.4, può disporre di un massimo di tre VNIC secondarie e può servire fino a tre VCN di peering. Ogni VCN di peering può essere connessa fino a 10 VCN tenant. Pertanto, un gateway di instradamento che utilizza la forma VM.Standard.2.4 può supportare fino a 30 tenant dell'applicazione.

      Per l'alta disponibilità di ogni gateway di instradamento, è possibile impostare una coppia attiva-passiva di istanze di computazione con un indirizzo IP mobile e utilizzare software come Pacemaker e Corosync per garantire il failover automatico.

  • Compartimento tenant

    Le risorse per ciascun tenant si trovano in un compartimento separato. Ogni compartimento tenant contiene una VCN alla quale sono collegate tutte le risorse per il tenant specifico. Pertanto, le risorse per ciascun tenant utilizzano uno spazio indirizzo univoco in una rete, isolato da tutti gli altri tenant nella topologia.

    In ogni compartimento tenant puoi eseguire il provisioning di un'istanza di computazione che esegue un agente in grado di monitorare i server nel compartimento e inviare le metriche al management server nella VCN ISV.

    Quando si aggiungono nuovi tenant di applicazione, il provisioning delle risorse necessarie per il nuovo tenant viene eseguito in un nuovo compartimento.

    I tenant possono accedere alla propria applicazione tramite la rete Internet pubblica o mediante una connessione privata (IPSec VPN o FastConnect). Per accedere dalla rete Internet pubblica, ogni VCN tenant richiede un gateway Internet. Per accedere mediante VPN o FastConnect è necessario un DRG. Il diagramma dell'architettura non mostra i gateway Internet e i gateway DRGs per le reti VCN tenant.

Informazioni su servizi e criteri richiesti

Questa soluzione richiede i seguenti servizi e criteri di gestione degli accessi:

Servizio Criteri richiesti per...
Oracle Cloud Infrastructure Identity and Access Management Crea e gestisce i compartimenti.
Oracle Cloud Infrastructure Networking Creare e gestire le reti VCN, le subnet, i gateway Internet, le tabelle di instradamento, le liste di sicurezza, i gateway LPG e i gateway DRGs
Oracle Cloud Infrastructure Compute Crea e gestisce le istanze di computazione.

Vedere Informazioni su come ottenere i servizi Oracle Cloud per Oracle Solutions per ottenere i servizi cloud necessari.