Software Gadget: Implantação da Plataforma de Documentação do AI no Oracle Cloud
O Gadget Software implantou seu software como serviço (SaaS) na plataforma Oracle Cloud Infrastructure para reduzir custos e liberar a equipe de desenvolvimento do Gadget Software para se concentrar nos seus negócios principais.
O Gadget Software é uma plataforma de virtualização de documentos orientada por IA que transforma documentos padrão em aplicativos amigáveis, fáceis de seguir e voltados para dispositivos móveis que os clientes podem recuperar com códigos QR e visualizar em qualquer dispositivo.
A plataforma de software como serviço (SaaS) do Gadget usa aplicativos multitenant, bancos de dados, Kubernetes e business-to-business (B2B). Seus clientes são várias outras empresas e usuários que fazem upload de seus documentos para a plataforma orientada por IA da Gadget Software.
No início de sua avaliação, o Gadget Software percebeu que eles precisavam dos seguintes recursos:
- Funcionalidade para ativar a implantação de novos serviços e recursos
- Velocidade e agilidade para implantar novos ambientes de desenvolvimento, teste e controle de qualidade
- Redução da sobrecarga administrativa (especificamente banco de dados)
- Alta disponibilidade e dimensionamento dinâmico principalmente para o ambiente do Kubernetes
O Oracle Cloud Infrastructure resolveu esses desafios com os seguintes recursos:
- Implementação rápida de novos recursos e ferramentas
- Conjunto vasta de recursos e ferramentas, como Kubernetes, balanceadores de carga, segurança e gerenciamento de identidade
- Dimensionamento e gerenciamento fáceis do Oracle Cloud Infrastructure Container Engine for Kubernetes, número mínimo de processos e alta disponibilidade
- Várias ofertas de banco de dados em máquinas virtuais (VMs), bare metal, Oracle Database Exadata Cloud Service totalmente gerenciado e Oracle MySQL Database Service
- Ferramentas para gerenciar e monitorar ambientes de produção
- Muitas regiões, domínios de disponibilidade e domínios de falha (dentro do domínio de disponibilidade) para alta disponibilidade e recuperação de desastres
Esses recursos e ferramentas permitiram que a Gadget Software reduza consideravelmente suas despesas operacionais e de capital e permitiu que sua equipe de desenvolvimento se concentrasse em seus negócios principais. Em vez de escrever scripts de gerenciamento para o banco de dados relacional, a equipe está usando a suíte de ferramentas fornecida pelo Oracle Cloud Infrastructure. O ambiente de desenvolvimento do Gadget Software é implantado em dois locais no Oracle Cloud Infrastructure. Eles tiveram uma ótima experiência em trabalhar com a equipe da Oracle, que prestou atenção a todos os detalhes de requisitos e implementações e abordou quaisquer desafios de design.
Arquitetura
O Software Gadget usa o Oracle Cloud Infrastructure para implantar seu algoritmo para o estabelecimento de cluster (ACE), seu componente de gerenciamento de documentos e a camada de dados.
Os nós ACE usam um conjunto de ferramentas e componentes de software para analisar documentos, reunir informações sobre os próprios documentos, observar diferentes componentes dos documentos e formatar e transformar os documentos para apresentação em dispositivos de pequena tela e para usuários industriais. Essa transformação produz uma experiência avançada além de um simples documento em papel.
Os nós ACE são uma ferramenta baseada em Python com lógica de análise de dados significativa, inteligência artificial (IA) e machine learning (ML). O nó do cluster ACE é uma máquina virtual que executa vários contêineres. Algumas das funções executadas por esses contêineres são:
- Depósito de documentos
- EEDMS (Electronic Document Management System)
O Gadget Software implanta o cluster ACE em um ambiente de stand-by principal. Os dados do documento são armazenados em um banco de dados resiliente e redundante no backend. O mecanismo básico também hospeda um ambiente de área de trabalho e, usando o Oracle Cloud Infrastructure Container Engine for Kubernetes, pode ser facilmente ampliado ou reduzido à medida que novos clientes são trazidos. Eles podem criar repositórios para novos clientes, expandir repositórios para clientes existentes e criar novos ambientes de banco de dados totalmente isolados ou compartilhados para seus clientes.
O diagrama a seguir ilustra essa arquitetura de referência.
gadget-ace-production-oracle.zip
Com seu sucesso usando o Oracle Cloud Infrastructure, o Gadget Software agora está planejando migrar também seu conteúdo principal e o mecanismo principal. Além disso, o Gadget Software planeja implantar um novo aplicativo Core Services que irá dimensionar e implantar serviços adicionais do Oracle Cloud Infrastructure:
- Balanceadores de Carga
- Gateways de API
- Armazenamento do Sistema de Arquivos
- Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)
- Oracle MySQL Database Service no modo de alta disponibilidade
O diagrama a seguir ilustra esses planos futuros:
A arquitetura tem os seguintes componentes:
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominados domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou mesmo continentes).
Todos os recursos dessa arquitetura são implantados em uma única região.
- Domínios de disponibilidade
Os domínios de disponibilidade são data centers independentes e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou resfriamento ou a rede interna de domínios de disponibilidade. Portanto, uma falha em um domínio de disponibilidade provavelmente não afetará os outros domínios de disponibilidade na região.
Todos os recursos dessa arquitetura são implantados em um único domínio de disponibilidade.
- Domínio de falha
Domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de alimentação dentro de um domínio de falha.
- Rede virtual na nuvem (VCN) e sub-redes
Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes de data center tradicionais, as VCNs permitem controle total sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você poderá alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter como escopo uma região ou um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não são sobrepostos com as outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Listas de segurança
Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que devem ser permitidos dentro e fora da sub-rede.
- Gateway NAT (Network Address Translation)
Um gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões provenientes da internet.
- Gateway de internet
O gateway de internet permite tráfego entre as sub-redes públicas em uma VCN e a internet pública.
- Gateway de APIs
O serviço Oracle API Gateway permite que você publique APIs com pontos finais privados acessíveis na sua rede e que você pode expor à internet pública, se necessário. Os pontos finais suportam validação de API, transformação de solicitação e resposta, CORS, autenticação e autorização e limitação de solicitação.
- Balanceador de carga
O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores no back-end.
Esta arquitetura inclui um balanceador de carga público.
- Armazenamento de objetos
O armazenamento de objetos fornece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados analíticos e conteúdo avançado, como imagens e vídeos. Você pode armazenar com segurança e recuperar dados diretamente da internet ou de dentro da plataforma de nuvem. Você pode dimensionar o armazenamento sem afetar qualquer degradação no desempenho ou na confiabilidade do serviço. Use o armazenamento padrão para armazenamento "dinâmico" necessário para acessar rapidamente, imediatamente e com frequência. Use o armazenamento de arquivos compactados para o armazenamento "frio" que você mantém por longos períodos de tempo e raramente ou raramente acessa.
- Armazenamento de arquivos
O serviço Oracle Cloud Infrastructure File Storage fornece um sistema de arquivos de rede durável, escalável e seguro e de nível empresarial. Você pode se conectar a um sistema de arquivos do serviço File Storage de qualquer instância bare metal, de máquina virtual ou de contêiner em uma VCN. Você também pode acessar um sistema de arquivos de fora da VCN usando o Oracle Cloud Infrastructure FastConnect e a VPN IPSec.
- Volume em blocos
Com volumes de armazenamento em blocos, você pode criar, anexar, conectar e mover volumes de armazenamento e alterar o desempenho do volume para atender aos seus requisitos de armazenamento, desempenho e aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usá-lo como disco rígido comum. Também é possível desconectar um volume e anexá-lo a outra instância sem perder dados.
- Container Engine for Kubernetes
O Oracle Cloud Infrastructure Container Engine for Kubernetes é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos de contêineres na nuvem. Você especifica os recursos de computação necessários para os seus aplicativos, e o Container Engine for Kubernetes os provisiona no Oracle Cloud Infrastructure em uma tenancy existente. O Serviço Container Engine for Kubernetes usa o Kubernetes para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos de contêineres entre clusters de hosts.
- Oracle MySQL Database Service
Oracle MySQL Database Service is a fully managed Oracle Cloud Infrastructure (OCI) database service that lets developers quickly develop and deploy secure, cloud native applications. Optimized for and exclusively available in OCI, Oracle MySQL Database Service is 100% built, managed, and supported by the OCI and MySQL engineering teams.
O Oracle MySQL Database Service tem um mecanismo de análise integrado e de alto desempenho (HeatWave) para executar análises sofisticadas em tempo real diretamente em um banco de dados MySQL operacional.

