Requisitos

  • Armazenamento escalável e confiável: o sistema deve ser escalonado horizontalmente para gerenciar o crescente volume de dados de todos os aplicativos, garantindo confiabilidade e entrega ininterrupta de serviços de acordo com o SLA acordado.
  • Desempenho: Cada aplicativo precisará que o serviço de armazenamento mantenha alto desempenho, com baixa latência e alto rendimento, mesmo com flutuações na demanda.
  • Gerenciamento de SLA: a equipe de infraestrutura deve definir, monitorar e aplicar SLAs rigorosos que determinem os padrões de desempenho e disponibilidade do serviço de armazenamento.
  • Eficiência de custos: Com o potencial de ampla utilização de recursos, a plataforma deve otimizar a eficiência de custos sem sacrificar a qualidade ou o desempenho.
  • Facilidade de uso: acesso simplificado e interação com a plataforma de armazenamento são cruciais. Desenvolvedores de várias equipes devem achar o sistema intuitivo, com processos diretos para provisionamento, acesso e gerenciamento de dados.
  • Segregação de dados e controle de acesso: A plataforma deve garantir segregação estrita de dados para segurança e conformidade. Os controles de acesso devem ser robustos e granulares para impedir acesso não autorizado a informações sensíveis de diferentes aplicativos.

Considerações adicionais

  • Governança de dados: como repositório central para vários aplicativos, a plataforma de armazenamento deve aderir às políticas de governança de dados, garantindo a integridade, a qualidade e a conformidade regulatória dos dados.
  • Backup e recuperação: Uma estratégia robusta de backup e recuperação de desastres é essencial, fornecendo garantias contra perda de dados e permitindo a restauração rápida dos serviços em caso de interrupção.
  • Personalização e extensibilidade: semelhante ao que vimos no caso de uso do aplicativo SaaS, a plataforma deve oferecer opções de personalização que atendam às necessidades específicas do aplicativo, incluindo suporte para vários tipos e estruturas de dados.
  • Monitoramento e otimização: O monitoramento contínuo da integridade operacional e da otimização do desempenho é necessário para manter a eficiência da plataforma e abordar preventivamente possíveis problemas.

Armazenamento de dados operacionais

Um armazenamento de dados operacional, frequentemente descrito como um modelo de dados como serviço (DaaS), centraliza o armazenamento de dados e consolida dados de inúmeras fontes, fornecendo um único ponto de acesso para diferentes aplicativos. Esse tipo de arquitetura é essencial para aplicativos que fornecem uma visão abrangente de dados de diferentes domínios, como um aplicativo “customer 360”, que amalgam informações do cliente de CRM, gerenciamento de pedidos, sistemas de suporte e muito mais.

Arquitetura

IDG

Essa arquitetura é tipicamente composta de três componentes principais: fontes de dados, um armazenamento de dados operacionais central (ODS) e consumidores de dados. Dados de CRM, ERP, SCM e outros sistemas são consolidados no ODS usando processos de extração, transformação e carga (ETL) ou métodos de captura de dados alterados (CDC), onde se tornam acessíveis para consultas e análises por vários aplicativos consumidores de dados.

Requisitos

  • Integração e qualidade de dados: processos ETL/CDC eficazes são essenciais para integrar dados de fontes distintas, garantindo ao mesmo tempo sua qualidade e consistência.
  • Consolidação e transformação: o armazenamento central de dados deve consolidar e transformar dados de forma eficiente, garantindo que estejam no formato e na estrutura corretos para consumo por vários aplicativos.
  • Acesso de baixa latência: aplicativos como painéis em tempo real exigem acesso imediato aos dados, necessitando de um sistema de baixa latência que possa processar e atender rapidamente às solicitações de dados.
  • Desempenho de consulta robusto: com vários consumidores acessando a plataforma — geralmente com consultas complexas — o sistema precisa manter altos níveis de desempenho sem impor gargalos.
  • Segurança e privacidade de dados: a natureza centralizada da plataforma significa que ela deve ter medidas de segurança rigorosas e controles de privacidade para proteger dados confidenciais e cumprir com as regulamentações.
  • Infraestrutura escalável e confiável: como hub central para dados organizacionais, a infraestrutura deve ser escalável para lidar com volumes crescentes de dados e resiliente para garantir disponibilidade constante.

Considerações adicionais

  • Governança de dados: Deve haver políticas e procedimentos claros para gerenciar o ciclo de vida dos dados, garantindo responsabilidade e conformidade regulatória.
  • Análise avançada: a plataforma deve ser capaz de oferecer suporte a análises avançadas e aplicativos de inteligência empresarial (BI), fornecendo insights valiosos para toda a organização.
  • Padrões de acesso personalizáveis: diferentes aplicativos podem exigir diferentes padrões de acesso; portanto, a plataforma deve ser flexível para acomodar essas variações.
  • Monitoramento e alertas: O sistema deve incluir recursos abrangentes de monitoramento para detectar e responder a problemas prontamente, garantindo a integridade do sistema e dos dados.

Padrões de design de aplicativos multilocatários

Caso de uso Tipo de inquilino Contagem de inquilinos Requisitos Desafios
Aplicação SaaS Inquilino externo Milhares a centenas de milhares Gerencie um grande número de dados de clientes/usuários com escalabilidade, isolamento e proteção multilocatário, conformidade com SLA e agilidade 1. Grande número de inquilinos
2. Isolamento do inquilino
3. Custo total
4. Alterações de esquema
5. Disponibilidade
6. Escalabilidade de grande número de (geralmente grandes) inquilinos
Plataforma de armazenamento centralizada Inquilino interno Dezenas a cem Gerencie um número massivo de instâncias de banco de dados de forma segura e econômica. Isso é consolidação de banco de dados. 1. Escalabilidade para grandes serviços
2. Confiabilidade para serviços críticos
3. Eficiência de custos para um grande número de serviços pequenos/não críticos
4. Custo de manutenção da plataforma de banco de dados
Armazenamento de dados operacionais Vários inquilinos compartilham o mesmo conjunto de dados. Deve isolar cargas de trabalho de gravação/ingestão e leitura e cargas de trabalho de leitura de diferentes inquilinos 1. Escalabilidade
2. Flexibilidade na consulta de dados
3. Velocidade de ingestão e impacto na leitura
4. Manipulação de consultas complexas em um grande conjunto de dados 5. Isolamento entre os serviços
1. Escalabilidade
2. Flexibilidade na consulta de dados
3. Velocidade de ingestão e impacto na leitura
4. Lidando com consultas complexas em um grande conjunto de dados
5. Isolamento entre os serviços

Padrões de design de gerenciamento de dados multilocatário

Agora que descrevemos os principais casos de uso para multilocação, podemos explorar projetos arquitetônicos que atendem a diferentes necessidades.