← Todas as publicações

SaaS Factory (A serie) · Parte 3 de 3

SaaS Factory (A série) — Isolamento de locatários: Arquiteturas de isolamento de locatários em SaaS (Parte 3/3)

Neste post, continuaremos falando sobre arquiteturas de isolamento de locatários, detalhando cada um dos componentes comuns de solução…

4 min de leitura937 palavrasSeções: 5Imagens: 113 mai 2022

Palavras-chave

Compartilhar
Comentar

Neste post, continuaremos falando sobre arquiteturas de isolamento de locatários, detalhando cada um dos componentes comuns de solução, especificamente: Gerenciamento de configuração e provisionamento, Armazenamento, Backup e Capacidade de Restauração, Tagging, Bilhetagem e Faturamento.

Componentes comuns: Gerenciamento de configuração e provisionamento

A AWS oferece várias possibilidades para automatizar implantações de soluções. Você pode preparar algumas tarefas de implantação de AMI) próprias, e você pode automatizar mais configuráveis ou mudanças frequentes usando vários outros meios: Tarefas únicas, como proteção do sistema operacional ou configuração de versões específicas de tempo de execução ambientes que não mudam sem um processo de recertificação do aplicativo (como uma atualização do Java), ou até mesmo instalações demoradas (como middleware/configuração do banco de dados) podem ser incluídos na própria AMI.

Para lidar com aspectos de implantação que mudam com mais frequência, como atualizações de código de um repositório de código, tarefas de inicialização (como ingressar em um domínio / cluster) e certas configurações específicas do ambiente (como parâmetros diferentes para dev / test / production), você pode usar scripts personalizados nos dados do usuário da instância EC2 seção ou serviços AWS, como AWS CodeCommit, AWS CodePipeline e AWS CodeDeploy.

Para o spin-up completo do stack, um nível mais alto de automação pode ser alcançado usando o AWS CloudFormation, que dá aos desenvolvedores e administradores de sistemas uma maneira fácil de criar e gerenciar uma coleção de recursos AWS relacionados, e permite que eles provisionem e atualizem esses recursos de forma ordenada e previsível. Dependendo de seus requisitos, o AWS Elastic Beanstalk e AWS OpsWorks também pode ajudar com implantações rápidas e automação.

Componentes comuns: Armazenamento, Backup e Capacidade de Restauração

A maioria dos serviços da AWS tem mecanismos para realizar backup para que você possa reverter para um último estado estável conhecido se qualquer alteração mais recente precisar ser restaurada. Recursos, incluindo Amazon EC2 Snapshots (Amazon EBS, Amazon RDS e snapshots do Amazon Redshift) podem potencialmente oferecer suporte a um maioria dos requisitos de backup. No entanto, para necessidades avançadas, como o precisa desativar um sistema de arquivos e, em seguida, tirar um snapshot consistente de uma base da dados ativa, como Oracle ou SQL Server. Para isso, ferramentas de terceiros podem ser utilizadas para auxiliar o processo.

Componentes comuns: Tagging

Para ajudá-lo a gerenciar instâncias, imagens e outros recursos da AWS, você pode atribuir seus próprios metadados a cada recurso na forma de tags. Recomenda-se que você adote uma estratégia de etiquetagem antes de começar a implantar sua solução SaaS. Cada tag consiste em uma chave e um valor opcional, sendo que ambos você define. Você também pode ter várias tags em um único recurso. São dois os principais usos das tags:

  • Gerenciamento geral de recursos: as tags permitem que você categorize seus Recursos da AWS de maneiras diferentes, como por finalidade, proprietário ou meio Ambiente;
  • Segregação de faturamento: as tags permitem relatórios de alocação de custos e permitem que você obtenha a segregação de custos com base em uma unidade de negócios ou ambiente específico.

Componentes comuns: Bilhetagem e Faturamento

Outro aspecto importante de um sistema multilocatário é a segregação de custos entre inquilinos com base em seu uso. De uma perspectiva de recursos da AWS, o uso de tags pode ser um ótimo recurso para ajudá-lo a separar o uso em um nível macro. Contudo, para a maioria das soluções SaaS, maiores controles são necessários para o monitoramento de uso, então recomenda-se que você crie seu próprio módulo de faturamento personalizado, conforme necessário. A seguir, apresentaremos uma proposta de abordagem.

Todos os recursos iniciados, interrompidos e encerrados são rastreados e os dados são enviados para um fluxo do Amazon Kinesis. Medições granulares, como o número de solicitações de API feitas ou o tempo gasto para processar qualquer solicitação, são rastreadas e os dados são alimentados no fluxo do Kinesis em tempo real.

Dois tipos de aplicativos de consumidor podem processar os dados armazenados no Amazon Kinesis: a) Uma frota de consumo que gera métricas em tempo real sobre como o sistema está sendo utilizado por vários locatários. Isso pode ajudá-lo a tomar decisões, como restringir o uso de um determinado locatário ou realizar outras ações corretivas com base em feeds em tempo real; b) Um segundo conjunto de uma frota de consumo Kinesis poderia agregar a alimentação contínua e gerar relatórios de uso mensais ou trimestrais para faturamento. Ele também pode fornecer análises de uso para cada locatário, processando os dados brutos e armazenando-os no Amazon Redshift. Para processamento ou transformação de dados históricos, o Amazon EMR pode ser usado.

Modelo de bilhetagem em SaaS

Especifcamente sobre bilhetagem, é importante considerar:

  • Desenvolver um modelo de preços em camadas;
  • Correlacionar preços com rastreio amplo de custos;
  • Padrões comuns para modelagem de preços;
  • Utilizar dados de medição, de forma a controlar a utilização de recursos;
  • Estabelecer limites rígidos no consumo, promovendo e facilitando atualizações de níveis;
  • Integração com soluções de faturamento;
  • Configurar e aplicar planos de faturamento.

Considerações gerais sobre o Isolamento de Locatários

  • SaaS exige uma solução de suporte robusta;
  • Implemente ferramentas que otimizem o ciclo de vida do suporte;
  • Aplicativos de instrumentação, integrados automaticamente ao fluxo de suporte;
  • Mapeamento de SLAs de suporte para planos de preços em camadas;
  • Criar uma experiência coesa do cliente que conecte os processos internos e de suporte da AWS.

Na próxima parte da nossa série, falaremos sobre Particionamento de Dados e Estratégias de Armazenamento em SaaS.

SaaS Factory (A série) — Como construir soluções de Software como Serviço na AWS

Até o próximo post! =)

Comentários

Todo comentário passa por moderação antes de aparecer aqui. Nada é publicado automaticamente.

Carregando…