← Todas as publicações

SaaS Factory (A serie) · Parte 2 de 3

SaaS Factory (A série) — Particionamento de dados: Estratégias de Armazenamento em SaaS (Parte 2/3)

Neste post, falaremos sobre Particionamento de Dados e Estratégias de Armazenamento em SaaS.

6 min de leitura1.399 palavrasSeções: 7Imagens: 222 jan 2023

Palavras-chave

Compartilhar
Comentar

Neste post, falaremos sobre Particionamento de Dados e Estratégias de Armazenamento em SaaS.

Encontrando o ajuste certo

A seleção de uma estratégia de modelo de armazenamento de particionamento multilocatário é influenciada por muitos fatores diferentes. Se você estiver migrando de uma solução existente, talvez favorecem a adoção de um modelo de silo porque cria a maneira mais simples e limpa de transição para multilocação sem reescrever seu aplicativo SaaS. Se você tem dinâmicas regulatórias ou setoriais que demandam um modelo mais isolado, o eficiência e agilidade do modelo de pool podem abrir seu caminho para um ambiente que abrange liberações rápidas e contínuas. A chave aqui é reconheça que a estratégia que você selecionar será impulsionada por uma combinação dos considerações comerciais e técnicas em seu ambiente.

Avaliação de Compensações

Se você colocasse os três modelos de particionamento — silo, bridge e pool — em um espectro, você veria as tensões naturais associadas à adoção de qualquer uma dessas estratégias. As qualidades listadas como pontos fortes para um modelo são freqüentemente representados como pontos fracos em outro modelo. Por exemplo, os princípios e sistema de valores do modelo de silo são muitas vezes em oposição aos do modelo pool.

Trade-offs entre os modelos de particionamento
Trade-offs entre os modelos de particionamento

*Trade-offs entre os modelos de particionamento*

Modelos de acesso a dados

Para muitas organizações, a escolha de uma estratégia não é tão simples quanto selecionar o modelo de silo, bridge ou pool. Seus inquilinos e sua empresa vão ter um influência significativa em como você aborda a seleção de uma estratégia de armazenamento. Em alguns casos, uma equipe pode identificar uma pequena coleção de seus inquilinos que requerem o modelo de silo ou bridge.

Depois de tomarem essa decisão, suponha que eles tenham que implementar todo o armazenamento com esse modelo. Esta limita artificialmente sua capacidade de abraçar os inquilinos que podem estar abertos a uma modelo de pool. Na verdade, pode adicionar custo ou complexidade para um nível de locatários que não são exigindo os atributos do modelo de silo ou bridge. Um compromisso possível é criar uma solução que suporte totalmente o armazenamento “pooled” como sua base. Em seguida, você pode criar um banco de dados separado para aqueles locatários que exigem uma solução de armazenamento em silos. A Figura fornece uma exemplo dessa abordagem em ação.

Modelos de acesso a dados
Modelos de acesso a dados

*Modelos de acesso a dados*

Migração e multilocação

Cada um dos modelos de armazenamento multitenant requer sua própria abordagem exclusiva para lidar com a migração de dados. Nos modelos de silo e bridge, você pode migrar dados em uma base de inquilino por inquilino.

Sua organização pode achar isso atraente porque permite que você migre cuidadosamente cada inquilino SaaS sem expor todos os inquilinos a a possibilidade de um erro de migração. No entanto, esta abordagem pode introduzir mais complexidade na orquestração geral do seu ciclo de vida de implantação. A migração de dados no modelo de pool pode ser atraente e desafiadora. A migração em um modelo de pool fornece um único ponto que, uma vez migrado, todos os locatários fizeram a transição com sucesso para seu novo modelo de dados. Por outro lado, qualquer problema introduzido durante uma migração de pool pode afetar todos os seus inquilinos.

Desde o início, você deve pensar em como a migração de dados se encaixa em seu estratégia geral de SaaS multitenant. Se você usar essa orquestração de migração em seu pipeline de entrega cedo, você tende a alcançar um maior grau de agilidade em seu processo de liberação.

Minimizando Alterações Invasivas

Como regra geral, você deve ter políticas e princípios claros a seguir ao considere como os dados em seus sistemas irão evoluir. Sempre que possível, as equipes devem favorecer alterações de dados que tenham compatibilidade com versões anteriores versões. Se você puder encontrar maneiras de minimizar as alterações nos dados do seu aplicativo representação, você limitará a alta sobrecarga de transformar seus dados em um nova representação.

Considerações de segurança

A segurança dos dados deve ser uma prioridade para provedores de SaaS. Ao adotar um estratégia multitenant, sua organização precisa de uma estratégia de segurança robusta para garantir que os dados do inquilino sejam efetivamente protegidos contra acesso não autorizado. Proteger esses dados e transmitir que seu sistema empregou o medidas de segurança apropriadas são essenciais para ganhar a confiança do seu SaaS clientes.

As estratégias de armazenamento que você escolher provavelmente usarão padrões de segurança comuns com suporte na AWS. Criptografar dados em repouso, por exemplo, é uma estratégia horizontal que pode ser aplicado universalmente em qualquer um dos modelos. Isso fornece um nível fundamental de segurança que garante que — mesmo se houver acesso não autorizado acesso aos dados — seria inútil sem as chaves necessárias para descriptografar o em formação.

Isolamento e Segurança

O suporte ao isolamento de inquilinos é fundamental para algumas organizações e domínios. A noção de que os dados são separados — mesmo em um ambiente virtualizado — pode ser visto como essencial para provedores de SaaS que possuem regulamentação específica ou requisitos de segurança.

Ao considerar cada solução de armazenamento da AWS, pense em como o isolamento é alcançado em cada um dos serviços de armazenamento da AWS. Como você verá, alcançar o isolamento no RDS parece muito diferente de como é no DynamoDB. Considerar essas diferenças ao selecionar sua estratégia de armazenamento e avaliar a segurança considerações de seus clientes.

Gerenciamento e Monitoramento

A abordagem que você adota para o armazenamento multilocatário pode ter um impacto significativo sobre o perfil de gestão e monitorização da sua solução SaaS. Na verdade, a complexidade e a abordagem que você adota para agregar e analisar a integridade do sistema podem variam significativamente para cada modelo de armazenamento e tecnologia da AWS.

Agregando tendências de armazenamento

Para criar uma visão operacional eficaz do armazenamento SaaS, você precisa de métricas e painéis que fornecem uma visão agregada da atividade do inquilino. Vocês precisam ser capazes de identificar proativamente as tendências de armazenamento que podem estar influenciando a experiência abrangendo todos os seus inquilinos. Os mecanismos que você precisa para criar essa visão agregada parece muito diferente nos modelos de silo e pool.

Com silos de armazenamento, você deve colocar ferramentas para coletar os dados de cada banco de dados e exibir essas informações em um modelo agregado. Em contraste, o modelo de pool, por sua natureza, já possui uma visão agregada da atividade do locatário.

Visões de atividade centradas no inquilino

Sua solução de armazenamento de gerenciamento e monitoramento deve fornecer uma maneira de crie exibições centradas no locatário de sua atividade de armazenamento. Se um determinado inquilino for enfrentando um problema de armazenamento, convém detalhar as métricas de armazenamento e os dados de perfil para identificar o que pode estar afetando esse indivíduo inquilino.

Aqui, o modelo de silo se alinha mais naturalmente com a construção de uma visão centrada no inquilino da atividade de armazenamento. Uma estratégia de armazenamento em pool exigirá alguns mecanismo de filtragem de locatário para extrair a atividade de armazenamento para um determinado locatário.

Políticas e Alarmes

Cada serviço de armazenamento da AWS tem seus próprios mecanismos de avaliação e ajuste o desempenho de armazenamento do seu aplicativo. Como o armazenamento muitas vezes pode representar um principal gargalo do seu sistema, você deve introduzir políticas de monitoramento e alarmes que permitirão que você venha à tona e responda às mudanças na saúde de armazenamento do seu aplicativo.

O modelo de particionamento escolhido também afetará a complexidade e capacidade de gerenciamento de sua estratégia de monitoramento de armazenamento. Quanto mais isolado for o seu solução, mais partes móveis para gerenciar e manter em um inquilino por inquilino base. Por outro lado, a natureza compartilhada de uma estratégia de armazenamento em pool torna mais simples ter uma coleção mais centralizada e entre inquilinos de políticas e alarmes.

O objetivo geral dessas políticas de armazenamento é implementar um conjunto de medidas proativas regras que podem ajudá-lo a antecipar e reagir a eventos de saúde. Conforme você seleciona um modelo de armazenamento multitenant, considere como cada abordagem pode influenciar como você implementa as políticas de armazenamento e alarmes do seu sistema.

No próximo post, continuaremos falando sobre arquiteturas de particionamento de dados: estratégias de armazenamento em SaaS.

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

Até lá! =)

Comentários

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

Carregando…