Saiba Mais Como Criar a Infraestrutura para Hospedar Aplicativos do SaaS

Como um fornecedor de software independente (ISV) que fornece software como um serviço (SaaS), você precisa de uma infraestrutura de nível empresarial segura e escalável para hospedar seus serviços e gerenciar seus tenants. Essa solução fornece uma arquitetura validada que incorpora as melhores práticas para permitir que você hospede seus aplicativos SaaS no Oracle Cloud.

Sobre as Aplicações do SaaS

Um aplicativo SaaS é um aplicativo que um fornecedor oferece como um serviço na nuvem. Os clientes do fornecedor assinam o serviço e usam a aplicação quando precisam dele.

Para um fornecedor SaaS, cada assinante (ou cliente) é um tenant.

Um aplicativo SaaS pode ser implantado na nuvem usando os seguintes padrões de arquitetura:
  • Uma única instância de aplicativo com conhecimento do tenant

    Neste padrão, o fornecedor SaaS implanta uma única instância da aplicação, que todos os tenants usam. O aplicativo trata a separação das cargas de trabalho e dos dados específicos do tenant.

    Todos os tenants obtêm a mesma versão do aplicativo, construídos de uma base de código comum. Como todas as implantações da aplicação são baseadas no mesmo código, o fornecedor pode configurar, aplicar patch e atualizar o serviço de maneira eficiente. A escala e a operação do serviço são fáceis.

    No entanto, a construção de um ambiente de aplicativo baseado no tenant requer mais esforço inicialmente. E esse padrão de implantação não é adequado para os clientes do SaaS que exigem isolamento completo.

  • Várias instâncias do aplicativo específicas do tenant

    Esse padrão é o foco da solução.

    O fornecedor SaaS implanta e gerencia várias instâncias de aplicação isoladas. Cada implantação é para um tenant específico. O fornecedor SaaS gerencia as instâncias da aplicação de tenant individual por meio de uma camada de gerenciamento comum.

    O fornecedor pode optar por construir todas as instâncias da aplicação tenant de uma única base de código ou por oferecer versões personalizadas da aplicação para cada tenant. Esse padrão é ideal para clientes do SaaS que exigem isolamento completo do ambiente do aplicativo.

Arquitetura

Esta arquitetura mostra uma tenancy do Oracle Cloud Infrastructure que hospeda vários tenants de um fornecedor do SaaS. Todos os recursos da arquitetura estão em uma única região.

A infraestrutura de gerenciamento do fornecedor SaaS e os recursos da aplicação de cada tenant são isolados em compartimentos e redes virtuais na nuvem (VCNs). O isolamento da rede garante que os aplicativos e os dados sejam separados das outras implantações na tenancy. Os compartimentos garantem o isolamento lógico dos recursos e permitem o controle de acesso granular.


Arquitetura para uma tenancy ISV que hospeda vários tenants do SaaS

Esta arquitetura inclui os seguintes componentes:

  • Compartimento de gerenciamento

    O compartimento de gerenciamento é um contêiner lógico para todos os recursos específicos do ISV. necessários para a infraestrutura comum usada para gerenciar implantações de aplicações de tenant individuais. Ela contém os seguintes recursos:

    • ISV VCN

      Os recursos necessários ao ISV do SaaS para acessar e gerenciar seus tenants estão anexados à VCN ISV.

    • Servidor de gerenciamento

      O servidor de gerenciamento é uma instância de computação em uma sub-rede privada. Você pode executar uma aplicação de monitoramento de infraestrutura neste servidor para monitorar os servidores do tenant. O servidor de gerenciamento está anexado a uma sub-rede privada na VCN ISV. O servidor de gerenciamento pode se comunicar com os servidores nos compartimentos do tenant por meio dos gateways de roteamento.

  • Compartimento de pareamento

    Para comunicação privada entre os recursos na ISV VCN e os recursos de tenant, é necessário um relacionamento de pareamento local entre a VCN ISV e cada VCN de tenant. Mas uma VCN pode ter até só 10 relacionamentos de pareamento locais. Para superar essa limitação de dimensionamento, a arquitetura usa gateways de roteamento que podem estabelecer conexão com várias VCNs de pareamento. Cada VCN de pareamento pode ter um relacionamento de pareamento local com até 10 VCNs de tenant. Dessa forma, você pode ampliar a topologia adicionando gateways de roteamento e VCNs de pareamento no compartimento de pareamento.

    • Sub-rede de mesmo nível

      A sub-rede de pareamento faz parte da VCN ISV. Todos os gateways de roteamento são anexados a esta sub-rede.

    • Roteando gateways e VCNs de pareamento

      Cada gateway de roteamento é uma instância de computação do Oracle Linux que roteia o tráfego do servidor de gerenciamento para as VCNs do tenant por meio de uma VCN de pareamento.

      A VNIC principal de cada instância do gateway de roteamento é anexada à sub-rede de pareamento na VCN ISV.

      As VNICs secundárias de cada instância de gateway de roteamento são anexadas a sub-redes das VCNs de pareamento. O número máximo de VCNs de pareamento que um gateway de roteamento pode atender depende do número de VNICs secundárias que a forma da instância de computação subjacente suporta. Por exemplo, se um gateway de roteamento for executado em uma instância de computação que usa a forma VM.Standard.2.4, ele poderá ter no máximo três VNICs secundárias e poderá servir até três VCNs de pareamento. Cada VCN de pareamento pode ser conectada a até 10 VCNs de tenant. Assim, um gateway de roteamento que usa a configuração VM.Standard.2.4 pode suportar até 30 tenants do aplicativo.

      Para alta disponibilidade de cada gateway de roteamento, você pode configurar um par ativo-passivo de instâncias de computação com um endereço IP flutuante e usar software como Pacemaker e Corosync para garantir o failover automático.

  • Compartimentos de tenant

    Os recursos de cada tenant estão em um compartimento separado. Cada compartimento de tenant contém uma VCN à qual todos os recursos desse tenant estão anexados. Portanto, os recursos de cada tenant usam um espaço de endereço exclusivo em uma rede isolada de todos os outros tenants na topologia.

    Em cada compartimento de tenants, você pode provisionar uma instância de computação executando um agente que pode monitorar os servidores no compartimento e enviar métricas ao servidor de gerenciamento na VCN ISV.

    Quando você adiciona novos tenants de aplicativo, os recursos necessários para o novo tenant são provisionados em um novo compartimento.

    Os Tenants podem acessar sua aplicação na internet pública ou por meio de uma conexão privada (IPSec VPN ou FastConnect). Para acesso da internet pública, cada VCN de tenant requer um gateway de internet. Para acesso usando VPN ou FastConnect, é necessário um DRG. O diagrama de arquitetura não mostra os gateways de internet e os DRGs das VCNs do tenant.

Sobre Serviços e Políticas Necessários

Essa solução requer os seguintes serviços e políticas de gerenciamento de acesso:

Serviço Políticas Necessárias para...
Oracle Cloud Infrastructure Identity and Access Management Criar e gerenciar compartimentos.
Rede Oracle Cloud Infrastructure Criar e gerenciar VCNs, sub-redes, gateways de internet, tabelas de rota, listas de segurança, LPGs e DRGs
Oracle Cloud Infrastructure Compute Crie e gerencie instâncias de computação.

Consulte Saiba como obter serviços do Oracle Cloud para Oracle Solutions para obter os serviços de nuvem de que você precisa.