Olá Comunidade,
Aproveite o novo vídeo no InterSystems Developers YouTube:
⏯ InterSystems IRIS: Fácil de consumir e fácil de usar no Global Summit 2024
Sistemas operacionais e ambiente de hardware com suporte da Plataforma de Dados InterSystems.
Olá Comunidade,
Aproveite o novo vídeo no InterSystems Developers YouTube:
⏯ InterSystems IRIS: Fácil de consumir e fácil de usar no Global Summit 2024
As versões de manutenção 2024.1.4 e 2023.1.6 da plataforma de dados InterSystems IRIS® , InterSystems IRIS® for HealthTM, e HealthShare® Health Connect agora estão disponíveis para o público em geral (GA). Essas versões incluem as correções para o seguinte alerta emitido recentemente - Alerta: Queries SQL retornando resultados errados | InterSystems. Compartilhe seu feedback por meio da Comunidade de Desenvolvedores e assim construímos um produto melhor juntos.
Você pode encontrar as listas de alterações detalhadas e listas de verificação de atualizações nestas páginas:
As primeiras prévias para desenvolvedores da plataforma de dados InterSystems IRIS® data platform, InterSystems IRIS® for Health, e HealthShare® Health Connect 2025.1 foram publicadas no site de prévia para desenvolvedores do WRC. Os contêineres podem ser encontrados em nosso registro de contêineres e são marcados como última prévia.
As últimas versões de manutenção estendida do InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect já estão disponíveis.
Versão 2024.1.3 fornece correções de bugs para qualquer uma das versões anteriores a 2024.1.x, incluindo a correção para o seguinte alerta emitido recentemente - Alerta: Dados inválidos introduzidos no Banco de Dados e no Journal com operações $LIST específicas.
Você pode encontrar as listas de alterações detalhadas e as listas de verificação de atualizações nestas páginas:
A versão 2024.3 da plataforma de dados InterSystems IRIS® , InterSystems IRIS® for HealthTM, and HealthShare® Health Connect já está disponível para o público em geral.
Nesta versão, você pode esperar uma série de atualizações interessantes, incluindo:
A partir de 15 de outubro de 2024, o suporte para Caché e Ensemble no MacOS será Descontinuado.
Caché & Ensemble 2018.1.9 continuará a ter suporte, no entanto, não haverá mais lançamentos de manutenção para MacOS. Isso significa que Caché & Ensemble 2018.1.9 será a versão final desses produtos no MacOS.
Como lembrete, as versões de manutenção do Caché e do Ensemble nas outras plataformas suportadas terminarão em 31 de março de 2027.
Mais detalhes sobre isso podem ser encontrados no anúncio do ano passado.
Talvez você não perceba isso, mas sua conta de login da InterSystems pode ser usada para acessar uma ampla variedade de serviços da InterSystems que ajudam você a aprender e usar o InterSystems IRIS e outras tecnologias da InterSystems de maneira mais eficaz. Continue lendo para saber mais sobre como descobrir novos conhecimentos técnicos e ferramentas usando sua conta de login da InterSystems. Além disso, após a leitura, participe da Enquete na parte inferior, para que possamos ver como este artigo foi útil para você!
.png)
Uma conta de login da InterSystems é usada para acessar diversos serviços online que atendem a parceiros e clientes atuais e em potencial. É um conjunto único de credenciais usadas em mais de 15 aplicativos voltados ao público externo. Alguns aplicativos (como a WRC ou o iService) exigem uma ativação específica para o acesso ser concedido pela conta. Provavelmente, há recursos disponíveis que ajudarão você, mas você não os conhece: leia sobre todas as opções e teste uma nova ferramenta para melhorar sua técnica!!
Você pode ver todos os serviços disponíveis para você com sua conta de login da InterSystems ao acessar esse catálogo de aplicativos da InterSystems, localizado em: https://Login.InterSystems.com. Isso só listará os aplicativos ou serviços a que você tem acesso no momento. Ele lembra seus aplicativos usados com mais frequência e os lista na parte superior para sua conveniência.
.png)
Não se esqueça de marcar a página como favorita para acessar facilmente todas essas ferramentas na caixa de ferramentas da sua conta de login da InterSystems!
Agora, é hora de entrar nos detalhes de cada aplicativo e ver como eles podem ajudar você como desenvolvedor que trabalha com as tecnologias da InterSystems! Continue lendo e tente encontrar um novo aplicativo que você possa usar pela primeira vez para melhorar sua eficiência e habilidades como desenvolvedor....
Getting Started - gettingstarted.intersystems.com
Online Learning - learning.intersystems.com
Documentação - docs.intersystems.com
Evaluation - evaluation.intersystems.com
Developer Community - community.intersystems.com
Ideias da InterSystems - ideas.intersystems.com
Global Masters - globalmasters.intersystems.com
Open Exchange - openexchange.intersystems.com
WRC - wrc.intersystems.com
iService - iservice.intersystems.com
ICR - containers.intersystems.com
Diretório de Parceiros - partner.intersystems.com
CCR - ccr.intersystems.com
Client Connection - client.intersystems.com
Pedidos online - store.intersystems.comAqui estão mais alguns fatos úteis sobre as contas de login da InterSystems...
Os usuários podem criar sua própria conta ao clicar em "Create Account" em qualquer aplicativo da InterSystems voltado ao público, incluindo:
Como alternativa, o FRC (First Response Center) da InterSystems criará uma conta de login para clientes atendidos pela primeira vez que precisarem acessar a Central de Suporte (WRC) ou o iService (os clientes atendidos também podem criar contas para os colegas).
Antes de usar a conta, o usuário precisa aceitar os Termos e Condições, durante o processo de autoinscrição ou no primeiro login.
.png)
Alguns aplicativos permitem o login com o Google ou GitHub:
É a mesma conta de login da InterSystems, mas com a autenticação pelo Google ou GitHub.
Se você for até https://Login.InterSystems.com e fizer a autenticação, poderá acessar Opções > Profile e fazer alterações básicas na sua conta. O e-mail pode ser alterado em Options > Change Email.
Os problemas das contas de login da InterSystems devem ser encaminhados para Support@InterSystems.com. Inclua o seguinte:
CentOS não será mais uma plataforma de desenvolvimento suportada a partir do lançamento do InterSystems IRIS 2023.3.
A InterSystems encerrará o suporte ao uso do sistema de arquivos VxFS com o InterSystems IRIS e o rotulará como obsoleto a partir do lançamento do InterSystems IRIS 2023.3. A InterSystems continuará a oferecer suporte a quaisquer clientes existentes que utilizem a tecnologia, mas ela não é mais recomendada para novas implantações.
O VxFS só tinha suporte no SUSE Linux. Os clientes afetados são incentivados a migrar para o XFS ou outro sistema de arquivos compatível.
Os clientes com dúvidas devem entrar em contato com a equipe de conta ou entrar em contato com @Bob Kuszewski diretamente.
De acordo com o relatório Global Fraud and Identity Report 2020 da Experian, as fraudes no setor financeiro globalmente ultrapassaram a marca de US$ 42 bilhões em 2020, com destaque para fraudes de identidade, bancárias, em cartões de crédito e débito, em empréstimos e em aplicativos móveis bancários. A pandemia do COVID-19 impulsionou o crescimento de fraudes relacionadas à saúde, como fraudes em benefícios de seguro-saúde e em programas de ajuda financeira do governo. Considerando tais dados, fica claro que é essencial que as instituições financeiras adotem soluções eficientes para detectar
Todas as instituições de saúde hoje, sejam públicas ou privadas, enfrentam os mesmos desafios:
Como fazer com que todas as informações de cada paciente sejam facilmente transmitidas dos seus sistemas de origem para as pessoas que precisam delas e vice-versa?
E como utilizar todas estas informações para melhorar a tomada de decisões, a qualidade do atendimento e os resultados?
Para atingir estes objetivos e fazer com que a informação consolidada do indivíduo seja finalmente disponibilizada para os diversos usos é preciso que as informações fluam por uma série de processos que vão desde a coleta da informação no sistema de origem, o seu tratamento, até as diferentes formas de disponibilização para os usuários finais.
E é exatamente esta a especialidade do produto HealthShare Unified Care Record da InterSystems. Ele atua em todas as etapas do processo, de forma rápida, através de inúmeras ferramentas e funcionalidades, as quais explanarei a seguir:
Esta etapa engloba todos os mecanismos de coleta e tratamento das informações nos sistemas de origem, seja através de API’s com protocolos específicos de saúde como o HL7, seja através de processos específicos ou customizados.
Neste ponto, é importante que a plataforma de integração assegure flexibilidade, governança e segurança, além de performance e escalabilidade. Se qualquer sistema de origem “cair” a plataforma deve ter mecanismos de notificação para o time que gerencia o processo, assegurando que se o sistema voltar nenhuma informação será perdida.
A plataforma deve ser escalável tanto para “plugar” novas fontes de informação, quanto para suportar todas as requisições dos consumidores e usuários.
É muito comum sistemas de prontuário eletrônico internacionais fornecerem nativamente exportações de dados usando o protocolo HL7, que neste caso também é nativo nos produtos da Intersystems.
Os sistemas nacionais geralmente demandam processos menos padronizados, e é por isso que é necessário que a plataforma seja de fácil e rápida implementação, e que esteja preparada para trabalhar com os sistemas de prontuário eletrônico conhecidos no mercado brasileiro e fornecer outras abordagens de captura de dados que não exijam que o sistema de origem tenha API’s prontas para fornecer as informações necessárias.
Quando se junta informações de diferentes sistemas e fontes, se junta também inúmeros sistemas de codificações, sejam eles públicos ou proprietários. Exemplos: CID10, TUSS, LOINC, SNOMED CT, CBHPMl, etc.
Isso pode gerar uma dificuldade para interpretar todos estes distintos sistemas de codificação.
Um exemplo hipotético de terminologia:
0 sistema A registrou no episódio de atendimento de um determinado paciente o código “S53 – Luxação, entorse e distensão das articulações e dos ligamentos do cotovelo”, referente ao sistema de codificação CID10. O mesmo código foi registrado pelo sistema B com uma ligeira diferença na descrição, por exemplo “Luxação e dist. das art. e dos ligamentos do cotovelo”, sofrendo uma abreviação por uma questão de limitação do campo descrição no sistema de origem.
Se os diagnósticos tratarem da mesma pessoa e do mesmo sistema de codificação, o profissional usuário da informação consolidada espera ver e interpretar as informações apresentadas da mesma maneira, não com descrições distintas.
Se os diagnósticos tratarem da mesma pessoa, mas de sistemas de codificações distintos, é importante que o sistema ofereça mecanismos de De/Para das tabelas de codificação para serem aplicadas apenas no consumo das informações, facilitando assim a interpretação das informações aos seus usuários e a aplicação de algoritmos pelos cientistas de dados.
Também é fundamental que todo tratamento de terminologia não altere e mantenha a informação que foi registrada no seu sistema de origem, com o seu devido sistema de codificação. Esse princípio é importante para que se mantenha e respeite todo o lastro da informação original e evite interpretações equivocadas em função do tratamento do dado.
Considerando apenas trocas de informações da área da saúde, há uma infinidade de protocolos. Temos por exemplo o HL7v2, o CCD, o PIX, o PDQ, DICOM para imagens, ASTM para laboratórios e o mais moderno HL7 FHIR, em diversas versões. No mercado nacional temos o TISS, que é utilizado para a saúde suplementar, entre muitos outros.
Todos estes padrões de interoperabilidade carregam informações relevantes do paciente e muitos deles são baseados em modelos de dados completamente distintos. E mesmo quando não surge um novo, todos estes citados anteriormente sofrem constantes atualizações. Sem considerar os modelos de mensagens proprietários no mercado brasileiro.
Levando em conta toda a variedade e dinamismo das mensagens, a InterSystems decidiu construir um modelo de dados central chamado de SDA (Summary Document Architecture) que fosse de simples entendimento, extensível e completo o suficiente para realizar a tradução, importação e exportação de todos estes protocolos que carregam as mensagens dos pacientes.
Isso dá uma enorme vantagem para quem irá construir regras de negócio para notificações clínicas, para sistemas de decisões clínicas (CDSS), algoritmos de predição ou para quaisquer outros processos ou fluxos de negócio.
Isso porque não exige que o especialista do negócio conheça os protocolos de entrada e saída, mas sim de apenas um único modelo de dados extremamente simplificado.
Outra vantagem é que a própria InterSystems mantem atualizada as bibliotecas de transformações dos protocolos conhecidos, tanto de entrada (captura) quanto de saída (consumo) para este modelo canônico central.
Em 2018, o Brasil passou a fazer parte dos países que contam com uma legislação específica para proteção de dados e da privacidade dos seus cidadãos. Isso significa que os dados pessoais e sensíveis não podem ser deliberadamente utilizados sem a obtenção da expressa autorização do seu proprietário. Mesmo antes de entrar em vigor esta legislação, a plataforma HealthShare já contava com as seguintes funcionalidades:
• Cadastrar e manter políticas de consentimento dos dados em nível de ecossistema, de estabelecimento, ou por indivíduo, dando a opção de quais dados serão utilizados e para qual finalidade. • Armazenar o registro do consentimento, considerando-o também como parte das informações do paciente. • Aplicar as políticas de consentimento em toda a plataforma, fornecendo aos consumidores logs e mensagens específicas do motivo da não exibição de determinado grupo de informação. • Fornecer API’s para que além da plataforma, outros sistemas e usuários possam acessar e utilizar estes registros de consentimento.
Depois que todas as informações do paciente são captadas, normalizadas e trabalhadas pela plataforma em todas as etapas descritas anteriormente, elas são disponibilizadas através de serviços na plataforma de Registro Unificado de Saúde. O consumo destes serviços pode ocorrer de diversas maneiras, partindo de diferentes profissionais ou sistemas de informação.
A plataforma HealthShare Unified Care Record fornece nativamente as seguintes formas:
• Visualizador Clínico: Trata-se de uma aplicação responsiva que exibe aos profissionais de saúde e times de cuidado todas as informações relevantes do paciente. Nesta aplicação é possível visualizar todo o histórico evolutivo dos exames do paciente, as alergias, os sinais vitais, os exames e laudos de radiologia, etc. Essa aplicação pode ser acessada através do próprio sistema de prontuário eletrônico ou vista através de um “frame” embutido no mesmo. • Mensageria: Consiste na entrega de mensagens clínicas, alertas ou notificações clínicas utilizando todo o potencial da plataforma de interoperabilidade e a riqueza das bibliotecas e protocolos disponíveis. • API’s de Consumo: A plataforma fornece um conjunto de API’s para trabalhar com todos os tipos de interações com a plataforma. Por exemplo: Serviços de Interação com o Master Patient Index (PIX, PDQ, Golden Record, etc.) Serviços de Gestão de Consentimento, podendo ser acessado por outros sistemas para fins de LGPD. Serviços de Cadastro de Usuários e Profissionais possibilitando a sincronização com o Single Sign-On da Organização. Serviços de Auditoria (ATNA). Qualquer interação com a plataforma gera um registro de log. Serviços de obtenção do Registro Unificado do Paciente, expostos de inúmeras formas (Documento PDF, TXT, XML, JSON, CDA, CCD, HL7, etc.) HL7 FHIR: Possibilita o acesso aos dados do paciente utilizando as últimas versões do poderoso protocolo HL7 FHIR e todas as suas capacidades.
O que as instituições estão buscando, cada vez mais, é uma abordagem holística do cuidado contínuo, da prevenção e da experiência centrada no paciente.
E para viabilizar de forma completa este objetivo tão almejado, é preciso que todas as informações do indivíduo sejam colocadas dentro de uma mesma “caixa”, independentes do local, da instituição, do sistema, da tecnologia e do tipo de informação que é coletada, podendo ser de saúde, administrativo financeira, assistencial, comportamental e social, registro das interações do paciente com a instituição, autorizações do convênio, etc.
É literalmente colocar o paciente no centro de tudo. É quebrar a fronteira dos silos e fazer uso das informações para o benefício do paciente e consequentemente de todos os que estão envolvidos no processo que o suporta.
Quando se fala em tecnologia da informação nas instituições de saúde, principalmente nos hospitais e organizações de medicina diagnóstica, os CIO’s e a área de TI sabem muito bem que para que tudo funcione bem, é necessário que um número muito grande de sistemas e aplicações funcionem de maneira integrada.
Talvez a área da saúde seja uma das áreas mais heterogêneas do ponto de vista de negócio, pois engloba além da gestão administrativo financeira, hospitalar, clínica e diagnóstica, uma infinidade de outros sistemas, como o sistema de controle de estacionamento, de hotelaria, dos restaurantes, da recepção, de farmácias, etc. Isso sem contar os sistemas de informação das empresas terceirizadas.
Com tudo isso, é quase que impossível concentrar em um único sistema ou banco de dados todas as informações geradas durante o ciclo completo de atendimento de um paciente. É muito comum, por se tratar de sistemas, de tecnologias e fornecedores diferentes, que uma única pessoa tenha sido cadastrada facilmente em mais de dez sistemas e bancos de dados diferentes, com identificações próprias para cada um.
Considerando todo este cenário, para conseguir operacionalizar os processos, é imprescindível que as empresas tenham plataformas que promovam a interoperabilidade destes sistemas, assim como o IRIS for Health e Health Connect da InterSystems.
Em outras palavras, é preciso que os sistemas “se conversem” para que as informações geradas sejam automaticamente integradas de um sistema para outro, mantendo assim uma consistência e compatibilidade, mesmo que em sistemas e bancos de dados separados.
Ainda assim, as informações podem ser geradas e coletadas em momentos diferentes. Exemplo: Um determinado paciente passou pelo atendimento em uma clínica e neste evento foi orientado a realizar exames específicos na mesma ou em outra instituição e retornar quando os exames estivessem prontos. Além do cadastro e da coleta de informações demográficas deste paciente na clínica, foram realizados outros cadastros no momento da admissão deste paciente nos sistemas de medicina diagnóstica.
Ou seja, se levarmos em conta o processo assistencial de uma única pessoa, teremos informações pertencentes a diferentes cadastros, sob identificações e dados demográficos distintos, coletados por pessoas e de maneiras diferentes.
O fato é que se as empresas não fizerem nada para tratar especificamente desta questão, elas ficarão reféns da segregação dos dados gerados por cadastro, e não consolidados por indivíduo, independentes de quando e onde o mesmo foi atendido. Sempre terão uma visão parcial e não integral de todo o processo, tanto para fins assistenciais, quanto para quaisquer outros fins.
Cada vez mais, os gestores e profissionais de saúde sabem do valor de se ter a visão consolidada de todas as informações geradas em torno do paciente, independentes do tempo e do local, sejam elas administrativas, financeiras, comportamentais e principalmente relacionadas à saúde. Se pararmos pra pensar, nós mesmos gostaríamos de ver num único aplicativo todos os nossos dados de saúde, como os exames por exemplo, independente da instituição que nos atendeu.
Este sonho já está virando realidade em muitas instituições. Graças às plataformas de saúde como InterSystems Healthshare, e produtos como Healthshare Patient Index é possível levar a gestão de informações na área da saúde para o próximo patamar.
No próximo artigo, falaremos um pouco de como funciona o Healthshare Patient Index e de como ele é fundamental para ajudar as empresas a visualizarem o paciente como um único indivíduo e não apenas como um ou mais cadastros.
O Google Cloud Platform (GCP) fornece um ambiente rico em recursos para Infraestrutura como um Serviço (IaaS) como uma oferta em nuvem totalmente capaz de oferecer suporte a todos os produtos da InterSystems, incluindo a mais recente plataforma de dados InterSystems IRIS . Deve-se ter cuidado, como com qualquer plataforma ou modelo de implantação, para garantir que todos os aspectos de um ambiente sejam considerados, como desempenho, disponibilidade, operações e procedimentos de gerenciamento. As especificidades de cada uma dessas áreas serão abordadas neste artigo.
A visão geral e os detalhes abaixo são fornecidos pelo Google e estão disponíveis aqui.
O GCP é composto por um conjunto de ativos físicos, como computadores e unidades de disco rígido, e também recursos virtuais, como máquinas virtuais (VMs), nos centros de dados do Google em todo o mundo. Cada centro de dados está em uma região do mundo. Cada região é uma coleção de zonas, isoladas de cada uma dentro da região. Cada zona é identificada por um nome que combina uma letra identificadora com o nome da região.
Essa distribuição de recursos tem várias vantagens, incluindo redundância em caso de falha e latência reduzida colocando recursos mais perto dos clientes. Essa distribuição também tem algumas regras quanto a como os recursos podem ser usados conjuntamente.
Na computação em nuvem, o hardware físico e o software se tornam serviços. Esses serviços oferecem acesso aos recursos adjacentes. Ao implantar sua aplicação baseada em InterSytems IRIS no GCP, você combina esses serviços para obter a infraestrutura necessária e depois adiciona seu código para possibilitar a concretização dos cenários que deseja criar. Os detalhes dos recursos disponíveis estão disponíveis aqui.
Todos os recursos do GCP que você aloca e usa devem pertencer a um projeto. Um projeto é composto por configurações, permissões e outros metadados que descrevem suas aplicações. Os recursos em um único projeto podem funcionar juntos facilmente, por exemplo, comunicando-se por uma rede interna, sujeita a regras das regiões e zonas. Os recursos que cada projeto contêm permanecem separados por fronteiras de projetos. Você só pode interconectá-los por uma conexão de rede externa.
O GCP oferece três formas básicas de interagir com os serviços e recursos.
O Google Cloud Platform Console possui uma interface gráfica web do usuário que você pode usar para gerenciar os projetos e recursos do GCP. No GCP Console, você pode criar um novo projeto ou escolher um existente, e usar os recursos criados no contexto desse projeto. É possível criar diversos projetos, então você pode usá-los para segregar o trabalho da melhor maneira de acordo com suas necessidades. Por exemplo, você pode iniciar um novo projeto se quiser garantir que somente determinados membros da equipe consigam acessar recursos nesse projeto, enquanto todos os membros da equipe podem continuar acessando os recursos em outro projeto.
Se você preferir trabalhar em uma janela de terminal, o Google Cloud SDK oferece a ferramenta de linha de comandos gcloud, que permite acesso aos comandos de que você precisa. A ferramenta gcloud pode ser usada para gerenciar o fluxo de trabalho de desenvolvimento e os recursos do GCP. Os detalhes de referências sobre o gcloud estão disponíveis aqui.
O GCP também oferece o Cloud Shell, um ambiente de shell interativo no navegador para o GCP. Você pode acessar o Cloud Shell pelo GCP Console. O Cloud Shell oferece:
O Cloud SDK inclui bibliotecas de cliente que permitem criar e gerenciar recursos com facilidade. As bibliotecas de cliente expõem APIs para dois propósitos principais:
Também é possível usar as bibliotecas de cliente da API do Google para acessar APIs de produtos, como Google Maps, Google Drive e YouTube. Os detalhes das bibliotecas de cliente do GCP estão disponíveis aqui.
Neste artigo, são fornecidos exemplos de implantações da InterSystems IRIS para GCP como ponto de partida para a implantação específica de sua aplicação. Eles podem ser usados como diretrizes para diversas possibilidades de implantação. Esta arquitetura de referência demonstra opções de implantação muito robustas, começando com implantações de pequeno porte até cargas de trabalho extremamente escaláveis para os requisitos de computação e dados.
Também são abordadas neste documento opções de alta disponibilidade e recuperação de desastres, junto com outras operações de sistema recomendadas. Espera-se que elas sejam modificadas pelos técnicos para se adequarem às práticas e políticas de segurança padrão da organização.
A InterSystems está disponível para conversar ou responder a perguntas sobre as implantações da InterSystems IRIS com GCP para sua aplicação específica.
Os seguintes exemplos de arquitetura apresentam diversas configurações diferentes, com capacidade e funcionalidades cada vez maiores. Considere estes exemplos de implantação de pequeno porte / produção / produção de grande porte / produção com cluster fragmentado que mostram a progressão desde uma configuração pequena modesta para desenvolvimento até soluções extremamente escaláveis com alta disponibilidade entre zonas e recuperação de desastres multirregião. Além disso, é fornecido um exemplo de arquitetura usando as novas funcionalidades de fragmentação da InterSystems IRIS Data Plataform para cargas de trabalho híbridas com processamento de consulta SQL altamente paralelizado.
Neste exemplo, é usada uma configuração mínima para ilustrar um ambiente de desenvolvimento de pequeno porte que suporta até 10 desenvolvedores e 100 GB de dados. É fácil dar suporte a mais desenvolvedores e dados: basta alterar o tipo de instância da máquina virtual e aumentar o armazenamento dos discos persistentes conforme necessário.
Esta configuração é adequada para ambientes de desenvolvimento e para se familiarizar com a funcionalidade da InterSystems IRIS junto com construção de contêineres e orquestração do Docker, se desejar. Em geral, não se usam alta disponibilidade e espelhamento de bancos de dados em configurações de pequeno porte, mas essas funcionalidades podem ser adicionadas a qualquer momento, se for necessário prover alta disponibilidade.
O diagrama de exemplo abaixo na Figura 2.1.1-a ilustra a tabela de recursos na Figura 2.1.1-b. Os gateways incluídos são apenas exemplos e podem ser ajustados para se adequarem às práticas de rede padrão de sua organização.
.png)
Os seguintes recursos do projeto GCP VPC são provisionados com uma configuração mínima de pequeno porte. Podem ser adicionados ou removidos recursos do GCP conforme necessário.
Um exemplo de recursos do GCP para uma configuração de pequeno porte é fornecido na tabela abaixo.
.png)
É preciso considerar segurança de rede e regras de firewall adequadas para evitar o acesso não autorizado ao VPC. O Google desenvolveu melhores práticas de segurança de rede para dar os primeiros passos, disponíveis aqui.
Caso sua política de segurança exija instâncias de máquina virtual verdadeiramente internas, você precisará configurar um proxy NAT manualmente em sua rede e uma rota correspondente para que as instâncias internas consigam estabelecer conexão com a Internet. É importante salientar que não é possível estabelecer conexão a uma instância de máquina virtual verdadeiramente interna diretamente usando-se SSH. Para estabelecer conexão a essas máquinas internas, você precisa configurar uma instância de bastion que tenha um endereço IP externo para usá-la como um túnel. É possível provisionar um host bastion para fornecer um ponto de entrada externo ao seu VPC.
Os detalhes dos hosts bastion estão disponíveis aqui.
Neste exemplo, temos uma configuração de maior porte como exemplo de configuração de produção que incorpora a funcionalidade de espelhamento de bancos de dados da InterSystems IRIS para fornecer alta disponibilidade e recuperação de desastres.
Está incluído nesta configuração um par de espelhos assíncronos dos servidores de banco de dados da InterSystems IRIS, divididos entre duas zonas dentro da região 1 para failover automático, e um terceiro membro espelho DR assíncrono na região 2 para recuperação de desastres no caso improvável de uma região GCP inteira ficar offline.
O servidor Arbiter e ICM da InterSystems é implantado em uma terceira zona separada para oferecer maior resiliência. O exemplo de arquitetura também inclui um conjunto de servidores web com balanceamento de carga opcionais para dar suporte a aplicações web. Esses servidores web com o InterSystems Gateway podem ser escaláveis de maneira independente, conforme necessário.
O diagrama de exemplo abaixo na Figura 2.2.1-a ilustra a tabela de recursos exibida na Figura 2.2.1-b. Os gateways incluídos são apenas exemplos e podem ser ajustados para se adequarem às práticas de rede padrão de sua organização.
.png)
Os seguintes recursos do GCP VPC Project são o mínimo recomendado para dar suporte a um cluster fragmentado. Podem ser adicionados ou removidos recursos do GCP conforme necessário.
Um exemplo de recursos do GCP uma configuração de produção é fornecido nas tabelas abaixo.
.png)

Neste exemplo, é fornecida uma configuração extremamente escalável expandindo-se a funcionalidade da InterSystems IRIS para fornecer servidores de aplicação usando-se o Enterprise Cache Protocol (ECP) da InterSystems para oferecer uma enorme escalabilidade horizontal de usuários. Neste exemplo, é incluído um nível ainda maior de disponibilidade, pois os clientes ECP preservam os detalhes de sessões mesmo caso haja failover da instância do banco de dados. São usadas diversas zonas GCP, com servidores de aplicação baseados em ECP e membros espelho de bancos de dados implantados em várias regiões. Esta configuração oferece suporte a dezenas de milhões de acessos ao banco de dados por segundo e a diversos terabytes de dados.
O diagrama de exemplo na Figura 2.3.1-a ilustra a tabela de recursos na Figura 2.3.1-b. Os gateways incluídos são apenas exemplos e podem ser ajustados para se adequarem às práticas de rede padrão de sua organização.
Estão incluídos nesta configuração um par de espelhos de failover, quatro ou mais clientes ECP (servidores de aplicação) e um ou mais servidores web por servidor de aplicação. Os pares de espelhos de bancos de dados para failover são divididos entre duas zonas GCP diferentes na mesma região para proteção com domínio de falha, com o servidor Arbiter e ICM da InterSystems implantado em uma terceira zona para oferecer maior resiliência.
A recuperação de desastres se estende para uma segunda região e zona(s) GCP similar ao exemplo anterior. Podem ser usadas diversas regiões de recuperação de desastres com vários membros espelho DR assíncronos, se desejar.

Os seguintes recursos do GCP VPC Project são o mínimo recomendado para dar suporte a uma implantação em produção de grande escala. Podem ser adicionados ou removidos recursos do GCP conforme necessário.
Um exemplo de recursos do GCP para uma configuração de produção de grande porte é fornecido nas tabelas abaixo.



Neste exemplo, é fornecida uma configuração com escalabilidade horizontal para cargas de trabalho híbridas com SQL, incluindo-se os novos recursos de cluster fragmentado da InterSystems IRIS para fornecer uma enorme escalabilidade horizontal de consultas e tabelas SQL entre diversos sistemas. Os detalhes do cluster fragmentado da InterSystems IRIS e suas funcionalidades são abordados com mais detalhes posteriormente neste artigo.
O diagrama de exemplo na Figura 2.4.1-a ilustra a tabela de recursos na Figura 2.4.1-b. Os gateways incluídos são apenas exemplos e podem ser ajustados para se adequarem às práticas de rede padrão de sua organização.
Estão incluídos nesta configuração quatro pares de espelhos como nós de dados. Cada um dos pares de espelhos de bancos de dados para failover é dividido entre duas zonas GCP diferentes na mesma região para proteção com domínio de falha, com o servidor Arbiter e ICM da InterSystems implantado em uma terceira zona para oferecer maior resiliência.
Esta configuração permite que todos os métodos de acesso ao banco de dados fiquem disponíveis a partir de qualquer nó de dados do cluster. Os dados das tabelas SQL grandes são particionados fisicamente em todos os nós de dados para permitir enorme paralelização de processamento de consultas e volume de dados. A combinação de todas essas funcionalidades permite o suporte a cargas de trabalho híbridas complexas, como consultas analíticas SQL de grande escala com ingestão simultânea de novos dados, tudo com uma única InterSystems IRIS Data Platform.

No diagrama acima e na coluna "tipo do recurso" na tabela abaixo, "Compute [Engine] (Computação [Mecanismo])" é um termo do GCP que representa uma instância de servidor GCP (virtual), conforme descrito com mais detalhes na seção 3.1 deste documento. Ele não representa nem sugere o uso de "nós de computação" na arquitetura de cluster descrita posteriormente neste artigo.
Os seguintes recursos do GCP VPC Project são o mínimo recomendado para dar suporte a um cluster fragmentado. Podem ser adicionados ou removidos recursos do GCP conforme necessário.
Um exemplo de recursos do GCP para uma configuração de cluster fragmentado é fornecido na tabela abaixo.

O Google Cloud Platform (GCP) fornece um ambiente em nuvem repleto de recursos para infraestrutura como serviço (IaaS) totalmente capaz de dar suporte a todos os produtos da InterSystems, incluindo ao DevOps baseado em contêiner com a nova InterSystems IRIS Data Platform. Deve-se ter cuidado, assim como em qualquer plataforma ou modelo de implantação, para garantir que todos os aspectos de um ambiente sejam considerados, como desempenho, disponibilidade, operações de sistema, alta disponibilidade, recuperação de desastres, controles de segurança e outros procedimentos de gerenciamento. Este documento aborda os três principais componentes de todas as implantações em nuvem: Computação, Armazenamento e Rede.
No GCP, há diversas opções disponíveis para recursos de mecanismo de computação, com várias especificações de CPU e memória virtuais e das opções de armazenamento. Um item importante sobre o GCP: referências ao número de vCPUs em um determinado tipo de máquina é igual a um vCPU em um hyper-thread no host físico na camada do hypervisor.
Neste documento, os tipos de instância n1-standard* e n1-highmem* serão usados e estão amplamente disponíveis na maioria das regiões de implantação do GCP. Porém, o uso dos tipos de instância n1-ultramem* é uma excelente opção para conjuntos de dados muito grandes, pois são mantidas enormes quantidades de dados em cache na memória. As configurações padrão da instância, como a Política de disponibilidade da instância ou outros recursos avançados, são usadas, salvo indicação em contrário. Os detalhes dos vários tipos de máquina estão disponíveis aqui.
O tipo de armazenamento relacionado mais diretamente com os produtos da InterSystems são os tipos de disco persistente. Porém, o armazenamento local pode ser usado para altos níveis de desempenho, desde que as restrições de disponibilidade de dados sejam entendidas e atendidas. Existem várias outras opções, como armazenamento em nuvem (buckets). Porém, elas são mais específicas para os requisitos de cada aplicação, em vez de darem suporte à operação da InterSystems IRIS Data Platform.
Como vários outros provedores de nuvem, o GCP impõe limites da quantidade de armazenamento persistente que pode ser associado a um mecanismo de computação específico. Esses limites incluem o tamanho máximo de cada disco, o número de discos persistentes conectados a cada mecanismo de computação e a quantidade de IOPS por disco persistente com um limite geral de IOPS da instância específica do mecanismo de computação. Além disso, há limites de IOPS impostos por GB de espaço em disco. Então, às vezes é necessário provisionar mais capacidade de disco para alcançar a taxa de IOPS desejada.
Esses limites podem variar ao longo do tempo e devem ser confirmados com o Google conforme necessário.
Existem dois tipos de armazenamento persistente para volumes de disco: discos padrão persistentes e discos SSD persistentes. Os discos SSD persistentes são mais adequados para cargas de trabalho de produção que exigem um IOPS de baixa latência previsível e uma maior taxa de transferência. Os discos padrão persistentes são uma opção mais acessível para ambientes de desenvolvimento e teste ou para cargas de trabalho de arquivamento.
Os detalhes dos vários tipos de disco e limitações estão disponíveis aqui.
A rede Virtual Private Cloud (VPC) é recomendável para dar suporte aos diversos componentes da InterSystems IRIS Data Platform e também para fornecer controles de segurança de rede adequados, vários gateways, roteamento, atribuições de endereço IP interno, isolamento de interface de rede e controles de acesso. Um exemplo de VPC será detalhado nos exemplos apresentados neste documento.
Os detalhes de rede e firewall do VPC estão disponíveis aqui.
Os VPCs do GCP são um pouco diferentes dos de outros provedores de nuvem e oferecem maior simplicidade e flexibilidade. Uma comparação dos conceitos está disponível aqui.
São permitidos diversos VPCs por projeto do GCP (atualmente, 5 por projeto, no máximo), e existem duas opções para criar uma rede no VPC: modo automático e modo personalizado.
Os detalhes de cada tipo estão disponíveis aqui.
Na maioria das implantações em nuvem de grande porte, vários VPCs são provisionados para isolar os diversos tipos de gateways dos VPCs para aplicações e para aproveitar o emparelhamento de VPCs para comunicações de entrada e saída. Recomendamos consultar seu administrador de rede para verificar detalhes das subredes permitidas e qualquer regra de firewall de sua organização. O emparelhamento de VPCs não é abordado neste documento.
Nos exemplos fornecidos neste documento, um único VPC com três subredes será usado para fornecer isolamento de rede dos vários componentes e para se ter uma latência e largura de banda previsíveis, além de isolamento de segurança dos diversos componentes da InterSystems IRIS.
São fornecidos dois gateways no exemplo deste documento para dar suporte a conectividade via Internet e VPN segura. Cada acesso de entrada precisa ter regras de firewall e roteamento corretas para fornecer segurança adequada à aplicação. Os detalhes de como usar rotas estão disponíveis aqui.
São usadas três subredes nos exemplos de arquitetura fornecidos, exclusivas para uso com a InterSystems IRIS Data Platform. O uso dessas subredes e interfaces de rede separadas permite maior flexibilidade dos controles de segurança e proteção da largura de banda, além do monitoramento de cada um dos três principais componentes acima. Os detalhes dos vários casos de uso estão disponíveis aqui.
Os detalhes da criação de instâncias de máquina virtual com várias interfaces de rede estão disponíveis aqui.
Subredes incluídas nestes exemplos:
A maioria dos servidores de nuvem IaaS não tem a capacidade de fornecer um endereço IP virtual (VIP), geralmente usado nos projetos com failover automático de bancos de dados. Para tratar esse problema, vários dos métodos de conectividade usados com mais frequência, especificamente clientes ECP e gateways web, são aprimorados na InterSystems IRIS para não depender da funcionalidade de VIP, tornando-os cientes do espelhamento e automáticos.
Métodos de conectividade como xDBC, sockets TCP-IP diretos ou outros protocolos de conexão direta exigem o uso de endereços tipo VIP. Para dar suporte a esses protocolos de entrada, a tecnologia de espelhamento de bancos de dados da InterSystems possibilita o failover automático para esses métodos de conectividade no GCP, usando uma página de status de verificação de integridade chamada <span class="Characteritalic" style="font-style:italic">mirror_status.cxw </span> para interagir com o balanceador de carga para conseguir funcionalidade parecida com a do VIP do balanceador de carga, encaminhando o tráfego somente para o membro espelho primário ativo e, portanto, fornecendo um projeto de alta disponibilidade completo e robusto no GCP.
.png)
Os detalhes de como usar um balanceador de carga para fornecer funcionalidade parecida com a do VIP estão disponíveis aqui.
Combinando todos os componentes, a ilustração da Figura 4.3-a abaixo demonstra o layout de um VPC com as seguintes características:

Conforme abordado na introdução, recomenda-se o uso dos discos persistentes do GCP, especificamente os tipos de disco SSD persistente. Recomendam-se os discos SSD persistentes devido a taxas IOPS de leitura e gravação maiores, além da baixa latência necessária para cargas de trabalho de bancos de dados transacionais e analíticos. Podem ser usadas SSDs locais em determinadas circunstâncias, mas é importante salientar que os ganhos de desempenho das SSDs locais são obtidos ao custo de disponibilidade, durabilidade e flexibilidade.
Os detalhes de persistência de dados em SSDs locais estão disponíveis aqui para entender quando os dados de SSDs locais são preservados e quando não são.
Como outros fornecedores de nuvem, o GCP impõe diversos limites no armazenamento, em termos de IOPS, espaço de armazenamento e número de dispositivos por instância de máquina virtual. Consulte a documentação do GCP para conferir os limites atuais aqui.
Com esses limites, o LVM stripping se torna necessário para maximizar o IOPS para além de um único dispositivo de disco para uma instância de banco de dados. No exemplo das instâncias de máquina virtual fornecido, recomendam-se os seguintes layouts de disco. Os limites de desempenho relativos aos discos de SSD persistentes estão disponíveis aqui.

Com o LVM stripping, é possível espalhar cargas de trabalho de E/S aleatórias para mais dispositivos de disco e herdar filhas de discos. Veja abaixo um exemplo de como usar o LVM stripping com o Linux para o grupo de volumes do banco de dados. Este exemplo usa quatro discos em um LVM PE stripe com uma tamanho de extensão física (PE) de 4 MB. Também é possível usar tamanhos de PE maiores, se necessário.
Usando a tabela acima, cada servidor da InterSystems IRIS terá a seguinte configuração com dois discos para SYS (sistema), quatro discos para DB (banco de dados), dois discos para registros de log primários e dois discos para registros de log alternativos.

Para escalabilidade, o LVM permite a expansão de dispositivos e volumes lógicos quando necessário sem interrupções. Consulte as melhores práticas de gerenciamento constante e expansão de volumes LVM na documentação do Linux.
O InterSystems Cloud Manager (ICM) é uma novidade da InterSystems IRIS. O ICM realiza muitas tarefas e oferece diversas opções para provisionamento da InterSystems IRIS Data Platform. O ICM é fornecido como uma imagem do Docker que inclui tudo que é necessário para provisionar uma solução em nuvem do GCP robusta.
Atualmente, o ICM dá suporte ao provisionamento nas seguintes plataformas:
O ICM e o Docker podem ser executados em uma estação de trabalho desktop/notebook ou em um servidor de "provisionamento" simples, exclusivo e centralizado com um repositório centralizado.
A função do ICM no ciclo de vida da aplicação é Definir -> Provisionar -> Implantar -> Gerenciar
Os detalhes de instalação e uso do ICM com o Docker estão disponíveis aqui.
O ICM inclui um recurso de monitoramento básico usando Weave Scope para implantação baseada em contêiner. Ela não é implantada por padrão e precisa ser especificada no campo Monitor do arquivo de padrões.
Os detalhes de monitoramento, orquestração e agendamento com o ICM estão disponíveis aqui.
Uma visão geral e documentação do Weave Scope estão disponíveis aqui.
O espelhamento de bancos de dados da InterSystems proporciona o mais alto nível de disponibilidade em qualquer ambiente de nuvem. Existem opções para fornecer alguma resiliência de máquina virtual diretamente no nível da instância. Os detalhes das diversas políticas disponíveis no GCP estão disponíveis aqui.
As seções anteriores explicaram como um balanceador de carga em nuvem fornece failover automático de endereço IP para uma funcionalidade de IP Virtual (parecida com VIP) com espelhamento de bancos de dados. O balanceador de carga em nuvem usa a página de status de verificação de integridade <span class="Characteritalic" style="font-style:italic">mirror_status.cxw</span> mencionada anteriormente na seção Balanceadores de carga internos. Existem dois modos de espelhamento de bancos de dados: síncrono com failover automático e assíncrono. Neste exemplo, será abordado o espelhamento com failover síncrono. Os detalhes do espelhamento estão disponíveis aqui.
A configuração de espelhamento mais básica é um par de membros espelho de failover em uma configuração controlada pelo Arbiter. O Arbiter é colocado em uma terceira zona dentro da mesma região para proteção contra possíveis interrupções na zona que impactem tanto o Arbiter quanto um dos membros espelho.
Existem várias maneiras de configurar o espelhamento na configuração de rede. Neste exemplo, usaremos as subredes definidas anteriormente na seção Definições de subrede e gateway de rededeste documento. Serão fornecidos exemplos de esquemas de endereço IP em uma seção abaixo e, para o objetivo desta seção, somente as interfaces de rede e subredes designadas serão representadas.

O espelhamento de bancos de dados da InterSystems estende a funcionalidade de alta disponibilidade para também dar suporte à recuperação de desastres para outra região geográfica do GCP para proporcionar resiliência operacional no caso improvável de uma região GCP inteira ficar offline. Como uma aplicação conseguirá suportar essas interrupções depende da meta de tempo de recuperação (RTO) e das metas de ponto de recuperação (RPO). Elas fornecerão a estrutura inicial para a análise necessária para projetar um plano de recuperação de desastres adequado. Os seguintes links apresentam um guia para os itens que devem ser considerados ao criar um plano de recuperação de desastres para sua aplicação. https://cloud.google.com/solutions/designing-a-disaster-recovery-plan e https://cloud.google.com/solutions/disaster-recovery-cookbook
O espelhamento de bancos de dados da InterSystems IRIS Data Platform fornece funcionalidades robustas para replicação assíncrona de dados entre zonas e regiões do GCP para ajudar a alcançar os objetivos de RTO e RPO de seu plano de recuperação de desastres. Os detalhes de membros espelho assíncronos estão disponíveis aqui.
Similar à seção anterior sobre alta disponibilidade, um balanceador de carga em nuvem fornece failover automático de endereço IP para uma funcionalidade de IP Virtual (parecida com IP virtual) para espelhamento assíncrono para recuperação de desastres também usando a mesma página de status de verificação de integridade <span class="Characteritalic" style="font-style:italic">mirror_status.cxw</span> mencionada anteriormente na seção Balanceadores de carga internos.
Neste exemplo, o espelhamento assíncrono de failover para recuperação de desastres será abordado junto com a introdução do serviço de Balanceamento de carga global do GCP para fornecer a sistemas upstream e estações de trabalho clientes um único endereço IP anycast, independentemente de em qual zona ou região sua implantação da InterSystems IRIS esteja operando.
Um dos avanços do GCP é o que o balancedador de carga é um recurso global definido por software e não está vinculado a uma região específica. Dessa forma, você terá o recurso exclusivo de usar um único serviço entre regiões, já que não é uma instância ou solução baseada em dispositivo. Os detalhes do Balanceamento Global de carga com IP anycast do GCP estão disponíveis aqui.
.png)
No exemplo acima, os endereços IP de todas as três instâncias da InterSystems IRIS recebem um Balanceador de carga global do GCP, e o tráfego será encaminhado somente para o membro espelho que for o espelho primário ativo, independentemente da zona ou região na qual está localizado.
A InterSystems IRIS inclui um amplo conjunto de funcionalidades para permitir escalabilidade de suas aplicações, que podem ser aplicadas de maneira independente ou conjunta, dependendo da natureza de sua carga de trabalho e dos desafios de desempenho específicos enfrentados. Uma dessas funcionalidades, a fragmentação, particiona os dados e o cache associado em diversos servidores, fornecendo escalabilidade flexível, barata e com bom desempenho para consultas e ingestão de dados, ao mesmo tempo em que maximiza o valor da infraestrutura por meio da utilização de recursos extremamente eficiente. Um cluster fragmentado da InterSystems IRIS pode proporcionar vantagens de desempenho significativas para diversas aplicações, mas especialmente para aquelas com cargas de trabalho que incluem um ou mais dos seguintes aspectos:
Cada um desses fatores tem suas próprias influências no ganho potencial obtido com a fragmentação, mas pode haver mais vantagens quando há uma combinação deles. Por exemplo, uma combinação dos três fatores (grandes quantidades de dados ingeridos rapidamente, grandes conjuntos de dados e consultas complexas que recuperam e processam muitos dados) faz muitas das cargas de trabalho analíticas da atualidade excelentes candidatas para a fragmentação.
Todas essas características estão relacionadas a dados, e a principal função da fragmentação da InterSystems IRIS é fornecer escalabilidade para grandes volumes de dados. Porém, um cluster fragmentado também pode incluir recursos para escalabilidade de volume de usuários, quando as cargas de trabalho que envolvem alguns ou todos esses fatores relacionados a dados também têm um altíssimo volume de consultas devido à grande quantidade de usuários. A fragmentação também pode ser combinada com escalabilidade vertical.
O centro da arquitetura de fragmentação é o particionamento dos dados e do cache associado em vários sistemas. Um cluster fragmentado particiona fisicamente grandes tabelas de bancos de dados horizontalmente (ou seja, por linha) em diversas instâncias da InterSystems IRIS, chamadas denós de dados, enquanto permite às aplicações acessar de maneira transparente essas tabelas por qualquer nó e ainda ver todo o conjunto de dados como uma única união lógica. Essa arquitetura tem as seguintes vantagens:
Os detalhes de cluster fragmentado da InterSystems IRIS estão disponíveis aqui.
Um cluster fragmentado consiste de pelo menos um nó de dados e, se necessário para requisitos específicos de desempenho ou carga de trabalho, uma quantidade opcional de nós computacionais. Esses dois tipos de nó oferecem blocos de construção simples com um modelo de escalabilidade simples, transparente e eficiente.
Os nós de dados armazenam dados. No nível físico, os dados de tabelas fragmentadas[1] são espalhados em todos os nós de dados do cluster, e os dados de tabelas não fragmentadas são armazenados fisicamente somente no primeiro nó de dados. Essa diferença é transparente para os usuários, com uma única possível exceção: o primeiro nó pode ter um consumo de armazenamento um pouco maior que os outros, mas espera-se que essa diferença seja insignificante, já que os dados de tabelas fragmentadas costumam ser maiores que os dados de tabelas não fragmentadas em pelo menos uma ordem de grandeza.
Os dados de tabelas fragmentadas podem ser rebalanceados no cluster quando necessário, em geral após adicionar novos nós de dados. Essa ação moverá "buckets" de dados entre os nós para deixar a distribuição de dados aproximadamente igual.
No nível lógico, os dados de tabelas não fragmentadas e a junção de todos os dados das tabelas fragmentadas são visíveis de qualquer nó, então os clientes verão todo o conjunto de dados, independentemente de a qual nó estão conectados. Os metadados e o código também são compartilhados entre todos os nós de dados.
O diagrama básico da arquitetura de um cluster fragmentado consiste simplesmente dos nós de dados que parecem uniformes em todo o cluster. As aplicações cliente podem se conectar a qualquer nó e usarão os dados como se eles fossem locais.

Para cenários avançados em que é necessário ter baixas latências, possivelmente com uma chegada constante de dados, podem ser adicionados nós computacionais para fornecer uma camada de cache transparente para responder às consultas.
Os nós computacionais armazenam dados em cache. Cada nó computacional está associado a um nó de dados, para o qual ele armazena em cache os dados das tabelas fragmentadas correspondentes e, além disso, ele também armazena em cache dados das tabelas não fragmentadas conforme necessário para responder às consultas.

Como os nós computacionais não armazenam fisicamente dados e têm a função de dar suporte à execução de consultas, o perfil de hardware deles pode ser personalizado de acordo com essas necessidades, por exemplo, adicionando mais memória e CPI e mantendo o armazenamento no mínimo necessário. A ingestão é encaminhada para os nós de dados, seja por um driver (xDBC, Spark) ou implicitamente pelo código de gerenciamento de fragmentação quando o código da aplicação "crua" é executado em um nó computacional.
Existem várias combinações de implantação de um cluster fragmentado. Os seguintes diagramas de alto nível são fornecidos para ilustrar os modelos de implantação mais comuns. Esses diagramas não incluem os gateways e detalhes de rede e se concentram somente nos componentes do cluster fragmentado.
O diagrama abaixo é o cluster fragmentado mais simples, com quatro nós de dados implantados em uma única região e uma única zona. Um Balanceador de carga global do GCP é usado para distribuir as conexões de clientes para qualquer um dos nós do cluster fragmentado.

Neste modelo básico, não é fornecida resiliência ou alta disponibilidade além daquelas oferecidas pelo GCP para uma única máquina virtual e seu armazenamento SSD persistente. São recomendados dois adaptadores de interface de rede separados para fornecer tanto isolamento de segurança da rede para as conexões de entrada dos clientes quanto isolamento de largura de banda entre o tráfego dos clientes e as comunicações do cluster fragmentado.
O diagrama abaixo é o cluster fragmentado mais simples, com quatro nós de dados espelhados implantados em uma única região dividindo o espelho de cada nó entre zonas. Um Balanceador de carga global do GCP é usado para distribuir as conexões de clientes para qualquer um dos nós do cluster fragmentado.
A alta disponibilidade é fornecida pelo uso do espelhamento de bancos de dados da InterSystems, que manterá um espelho replicado de maneira síncrona em uma zona secundária dentro da região.
São recomendados três adaptadores de interface de rede separados para fornecer isolamento de segurança da rede para as conexões de entrada dos clientes, isolamento de largura de banda entre o tráfego dos clientes e as comunicações do cluster fragmentado, e o tráfego do espelhamento síncrono entre os pares de nó.

Este modelo de implantação também agrega o Arbiter espelho conforme descrito em uma seção anterior deste documento.
O seguinte diagrama expande o cluster fragmentado para simultaneidade maciça de usuários/consultas com nós computacionais separados e quatro nós de dados. O pool de servidores de Cloud Load Balancer contém somente os endereços dos nós computacionais. As atualizações e ingestões de dados continuarão a ser feitas diretamente nos nós de dados como antes para manter desempenho com latência baixíssima e evitar interferência e congestão de recursos entre as cargas de trabalho analíticas/de consultas e a ingestão de dados em tempo real.
Com este modelo, pode ser feito um ajuste fino da alocação de recursos para escalabilidade de computação/consultas e ingestão de maneira independente, permitindo um uso ideal de recursos quando necessário de forma "just-in-time" e mantendo uma solução simples e econômica, em vez de gastar recursos desnecessariamente só para escalabilidade de computação ou dados.
Os nós computacionais fazem um uso bem direto do grupo de escalabilidade automática do GCP (também chamado de Autoscaling) para permitir a inclusão ou exclusão automática de instâncias de um grupo de instâncias gerenciado com base em aumento ou diminuição da carga. A escalabilidade automática funciona pela inclusão de mais instâncias ao grupo quando há mais carga (aumento de escalabilidade) e pela exclusão de instâncias quando são necessárias menos instâncias (diminuição de escalabilidade).
Os detalhes de escalabilidade automática do GCP estão disponíveis aqui.

A escalabilidade automática ajuda as aplicações em nuvem a tratar de maneira simples o aumento no tráfego e reduz o custo quando a necessidade de recursos diminui. Basta definir a política de escalabilidade automática, e a ferramenta de escalabilidade automática atua com base na carga mensurada.
Existem várias opções disponíveis para operações de backup. As três opções a seguir são viáveis para sua implantação do GCP com a InterSystems IRIS.
As duas primeiras opções detalhas abaixo incorporam um procedimento do tipo instantâneo (snapshot) que envolve a suspensão das gravações do banco de dados no disco antes de criar o snapshot e, em seguida, a retomada das atualizações assim que o snapshot for bem-sucedido.
As seguintes etapas de alto nível são realizadas para criar um backup limpo usando um dos métodos de snapshot:
Os detalhes das APIs de congelamento/descongelamento externos estão disponíveis aqui.
A terceira opção é o backup on-line da InterSystems. Esta é uma opção básica para implantações de pequeno porte com um caso de uso e interface bem simples. No entanto, à medida que os bancos de dados aumentam de tamanho, os backups externos com tecnologia de snapshot são recomendados como uma melhor prática, com diversas vantagens, incluindo o backup de arquivos externos, tempos de restauração mais rápidos e uma visão corporativa de dados e ferramentas de gerenciamento.
Etapas adicionais, como verificações de integridade, podem ser adicionadas em intervalos periódicos para garantir um backup limpo e consistente.
Os pontos de decisão sobre qual opção usar dependem dos requisitos operacionais e políticas de sua organização. A InterSystems está disponível para discutir as várias opções com mais detalhes.
As operações de backup podem ser arquivadas usando a API de linha de comando gcloud do GCP junto com os recursos das APIs de congelamento/descongelamento externos da InterSystems. Assim, é possível ter resiliência operacional 24/7 e a garantia de backups limpos regulares. Os detalhes de gerenciamento, criação e automação de snapshots dos discos persistentes do GCP estão disponíveis aqui.
Como alternativa, muitas das ferramentas de backup de terceiros disponíveis no mercado podem ser usadas implementando agentes de backup individuais na própria VM e aproveitando backups em nível de arquivo em conjunto com snapshots do Logical Volume Manager (LVM).
Um dos principais benefícios desse modelo é ter a capacidade de fazer restaurações em nível de arquivo de VMs Windows ou Linux. Alguns pontos a serem observados com esta solução são: como o GCP e a maioria dos outros provedores em nuvem IaaS não fornecem mídia de fita, todos os repositórios de backup são baseados em disco para arquivamento de curto prazo e têm a capacidade de aproveitar o armazenamento de baixo custo do tipo blob ou bucket para retenção de longo prazo (LTR). É altamente recomendável usar este método para usar um produto de backup que suporte tecnologias de eliminação de duplicação e fazer o uso mais eficiente dos repositórios de backup baseados em disco.
Alguns exemplos desses produtos de backup com suporte à nuvem incluem, mas não se limitam a: Commvault, EMC Networker, HPE Data Protector e Veritas Netbackup.
Para implantações de pequeno porte, o recurso de backup on-line integrado também é uma opção viável. Este utilitário de backup on-line de banco de dados da InterSystems faz backup de dados em arquivos de banco de dados, capturando todos os blocos nos bancos de dados e depois gravando a saída em um arquivo sequencial. Este mecanismo de backup proprietário foi projetado para não causar tempo de inatividade aos usuários do sistema em produção. Os detalhes do backup on-line estão disponíveis aqui.
No GCP, após a conclusão do backup on-line, o arquivo de saída do backup e todos os outros arquivos em uso pelo sistema devem ser copiados para algum outro local de armazenamento fora da instância da máquina virtual. O armazenamento de bucket/objeto é uma boa opção.
Existem duas opções para usar um bucket de armazenamento do GCP.
Os detalhes de como montar um bucket de armazenamento em nuvem usando o Cloud Storage FUSE estão disponíveis aqui.