implantação de saas

Identidade e isolamento de SaaS com o Amazon Cognito

Arquitetura e estratégias para um modelo de identidade e isolamento robusto de SaaS na AWS

Este Quick Start implementa uma solução de alta disponibilidade de identidade e isolamento em ambientes de software como serviço (SaaS) multilocatário usando o Amazon Cognito como provedor de identidade.

O Quick Start inclui um sistema leve de gerenciamento de pedidos SaaS que ilustra diferentes aspectos de identidade e isolamento, abrangendo as um ambiente multilocatário. A implantação do Quick Start inclui serviços da AWS como Amazon Cognito, AWS Lambda, Amazon API Gateway e Amazon EC2 Container Service (Amazon ECS).

Os modelos do AWS CloudFormation que automatizam a implantação são personalizáveis. O guia de implantação explica conceitos fundamentais de identidade e isolamento de SaaS, detalhes de implementação e inclui instruções detalhadas de implantação e configuração.

cognito-small-icon

Este Quick Start foi desenvolvido pelos
arquitetos de soluções da AWS.

  •  O que você criará
  •  Como implantar
  •  Custo e licenças
  •  O que você criará
  • Essa arquitetura do Quick Start inclui vários serviços e desenvolvimentos da AWS para criar uma solução de isolamento e identidade de SaaS altamente escalável e disponível que atenda às melhores práticas para implantar um aplicativo baseado em contêiner em uma Virtual Private Cloud (VPC) que abranja duas Zonas de disponibilidade.

    O cliente de aplicativo de referência de SaaS é implantado usando o Amazon Simple Storage Service (Amazon S3). Todos os ativos desse aplicativo AngularJS são implantados e servidos de um bucket S3. O aplicativo Web implantado interage com os serviços de back-end do aplicativo por meio de chamadas RESTful que são roteadas pelo Amazon API Gateway, fornecendo contexto de identidade de locatário a cada chamada.

    O API Gateway fornece uma maneira natural de expor seus serviços em ambientes de SaaS, permitindo que você avalie melhor e garanta o acesso ao seu ambiente. Ele também oferece suporte a um autorizador personalizado que pode validar os tokens de identidade do sistema em cada tentativa de acessar serviços. Esse autorizador é implantado como uma função do AWS Lambda que permite criar uma lógica de autorização personalizada para solicitações à medida que elas fluem pelo gateway.

    Dentro do VPC, a arquitetura emprega gateways de conversão de endereços de rede (NAT) implantados em zonas de disponibilidade separadas. Esses gateways, que são hospedados nas sub-redes públicas da VPC, fornecem roteamento de tráfego de alta disponibilidade que flui de suas sub-redes privadas para outros serviços da AWS ou para a Internet.

    O núcleo dos serviços de Software como Serviço (SaaS) do aplicativo está hospedado nas sub-redes privadas da VPC. Um cluster do Amazon ECS hospeda os contêineres que executam os microsserviços do sistema. Sete microsserviços Node.js separados são implantados neste cluster. Esse cluster também emprega Auto Scaling para alta disponibilidade básica. Você pode ajustar ainda mais esse cluster para responder dinamicamente às alterações no carregamento do locatário, aumentando e diminuindo a escala com base na demanda. Cada serviço aplica o contexto da identidade de um locatário para controlar e acessar o escopo dos recursos do sistema.

    O aplicativo de referência usa vários serviços da AWS; por exemplo:

    • As tabelas do Amazon DynamoDB são provisionadas em um modelo de multilocação para serviços que exigem armazenamento.
    • O AWS Identity and Access Management (IAM) gerencia e aplica diretivas e funções de isolamento para impedir o acesso entre locatários.
    • O Amazon Cognito atua como o provedor de identidade, armazenando atributos que identificam cada locatário.
    • O Amazon Simple Notification Service (Amazon SNS) publica e-mails de validação durante o processo de registro do usuário.

    A arquitetura também suporta implantação contínua: ela usa uma combinação entre AWS CodePipeline, AWS CodeBuild, buckets S3 e o Amazon EC2 Container Registry (Amazon ECR) para gerenciar a criação e a implantação de novos recursos do aplicativo.

  •  Como implantar
  • Para criar seu ambiente de isolamento e identidade de SaaS de alta disponibilidade na AWS, siga as instruções no guia de implantação. O processo de implantação inclui as seguintes etapas:

    1. Caso ainda não tenha uma conta da AWS, cadastre-se em https://aws.amazon.com.
    2. Inicie o Quick Start. Cada implantação demora cerca de 2 horas e 15 minutos. Você pode escolher entre duas opções:
    3. Teste a implantação efetuando login no site para o aplicativo de referência e analisando o sistema de gerenciamento de pedidos.

    Para personalizar sua implantação, você pode configurar blocos CIDR e endereços IP, configurar credenciais de administrador do sistema e configurar tabelas do DynamoDB, conforme discutido no guia de implantação do Quick Start.

  •  Custo e licenças
  • Você é responsável pelo custo dos serviços da AWS usados durante essa implantação de referência do Quick Start. Não há custo adicional para usar o Quick Start.

    O modelo do AWS CloudFormation para este Quick Start inclui parâmetros de configuração personalizáveis. Algumas dessas configurações podem afetar o custo de implantação. Para ter uma estimativa de custo, leia as páginas de definição de preço de cada serviço da AWS que você usará.