Implantação da plataforma de E-Commerce no Oracle Cloud
A crescente demanda por viagens aéreas levou a GOL Linhas Aéreas Inteligentes (GOL) a modernizar seu sistema de tíquetes de passageiros e expandir sua infraestrutura para acomodar o crescimento recorde.
Depois de refatorar seu sistema de reservas monolíticas para uma plataforma nativa da nuvem que é executada no Oracle Cloud Infrastructure (OCI), a GOL triplicou sua receita, quase dobrou o número de partidas e as previsões aumentaram a receita líquida contínua, apesar dos preços crescentes de combustível.
A GOL é uma das maiores companhias aéreas comerciais do Brasil nos segmentos corporativo e de lazer, empregando 15.000 funcionários, operando 127 aeronaves Boeing 737 e fazendo 715 voos diários para mais de 100 destinos. Desde a implantação de seu aplicativo de tíquetes na OCI, a companhia aérea reduziu o tempo de processamento em lote para 30 minutos (de 2,5 horas) e atualmente está ajudando os viajantes a gastar 30% menos tempo comprando tíquetes.
Durante o evento promocional da Black Friday em 2021, a GOL vendeu 30% mais ingressos do que nos anos anteriores, sem tempo de inatividade durante a explosão do tráfego. Hoje, a GOL usa a OCI para ajudar as equipes de vendas, marketing e operações a ajustar os preços dos tíquetes, gerenciar check-ins, alterar itinerários de passageiros e lançar promoções com base nos dados de vendas de tíquetes em tempo real. As agências de viagens e outros parceiros também podem acessar o aplicativo de tíquetes da GOL na OCI, fornecendo a eles informações imediatas sobre saídas de voo, chegadas, atrasos e cancelamentos. O aplicativo de e-commerce da GOL, em execução em um cluster do Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), é dimensionado entre 8 e 12 nós no pool de instâncias durante a operação normal. Quando uma campanha de vendas é liberada, o sistema dimensiona automaticamente para 20 a 30 nós durante a demanda de pico.
Arquitetura
Viajantes corporativos e turistas podem comprar bilhetes de avião e gerir as suas viagens através do primeiro acesso ao site da GOL Linhas Aéreas Inteligentes (GOL).
O GOL se padronizou em uma topologia de rede que usa duas redes virtuais na nuvem (VCNs). Ele é configurado em um ambiente de hub e spoke. O hub é configurado como uma VCN de borda na qual um gateway de roteamento dinâmico (DRG) é implantado para conectar sistemas locais. Há várias conexões para conectar a rede local do GOL, bem como o restante da infraestrutura do GOL. A infraestrutura de GOL usa FastConnect para estabelecer conexão com a nuvem MPLS (Multiprotocol Label Switching) do GOL. A nuvem GOL MPLS conecta o restante da infraestrutura de rede da GOL, bem como uma conexão multicloud com o Azure.
Uma conexão secundária da rede local do GOL é uma conexão VPN usando um túnel VPN site a site que se conecta por meio do DRG a uma instância OpenVPN. Na VCN de hub, um LPG (Local Peering Gateway) se conecta à VCN de spoke. A VCN spoke hospeda o restante da infraestrutura que contém balanceadores de carga, o Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), o Autonomous Database e o Oracle Exadata Database Service. Cada uma dessas opções é isolada usando sub-redes, tabelas de roteamento e grupos de segurança. Um gateway de internet fornece um ponto de entrada para os usuários acessarem o sistema de e-commerce GOL, bem como um ponto de saída para interagir com sistemas externos.
O diagrama a seguir ilustra essa arquitetura de referência.
golfe-ecomércio-oci-1-oracle.zip
Para acessar o sistema de e-commerce GOL, o tráfego de usuários deve primeiro passar por um Oracle Cloud Infrastructure Web Application Firewall (WAF). O WAF protege o aplicativo de e-commerce GOL contra tráfego malicioso e indesejado na Internet usando inteligência de ameaças e aplicação de regras. Depois de passar pelo WAF, o tráfego do usuário entra na VCN de spoke na qual ele é distribuído por meio de um balanceador de carga público. O balanceador de carga encaminha a solicitação para os microsserviços apropriados executados na sub-rede backend.
A sub-rede de backend hospeda um cluster do Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE). Os microsserviços executados no cluster do OKE oferecem aos viajantes da GOL a capacidade de comprar e reservar voos, verificar o status do voo, alterar seu itinerário ou cancelar sua viagem. Usando o microsserviço externo auxiliar e serviços de API, os passageiros da GOL podem comprar carros de aluguel e comprar seguro de viagem do aplicativo de e-commerce da GOL. O microsserviço de compras e reservas usa o endereço do cliente para verificação de endereço com um sistema de validação de endereço. O mesmo microsserviço também passa o endereço do cliente para um sistema de validação de cartão de crédito para verificação de pagamento. Os microsserviços se integram aos sistemas back-end.
O gerenciamento de marketing e relacionamento com clientes (CRM) também faz parte do sistema de comércio eletrônico da GOL. O microsserviço de comunicação com o cliente interage com sistemas externos, como Oracle Responsys e Oracle Service Cloud. O Oracle Responsys oferece ofertas personalizadas aos clientes por meio de uma campanha de marketing por e-mail, e o Oracle Service Cloud fornece serviços de gerenciamento de relacionamento com clientes (CRM) para clientes que têm dúvidas, dúvidas ou problemas.
Para atender ao requisito de relatórios e conformidade de reportar dados de voo no prazo e atraso ao governo, o microsserviço de status de voo envia essas informações para uma instância de máquina virtual chamada WS Infraero para processar os dados. O GOL implantou uma pilha ELK (ElasticSearch LogStash Kibana) para o log centralizado a fim de identificar problemas de servidor e aplicativo.
A GOL usa o Oracle Autonomous Database para armazenar perfis de usuário e o Oracle Exadata Database Service para armazenar dados da Lufthansa Netline/Ops++. Com a arquitetura agora em um estado flexível, a GOL está considerando mover partes do aplicativo para diferentes regiões e investigar a sincronização do banco de dados para recuperação de desastres.
Em seu ambiente multicloud, a GOL usa o Microsoft Azure Data Lake como seu repositório de dados central, que é alimentado por dados brutos da OCI e aproveita o Apache Parquet. Os dados de vendas e estoque passam pelo aplicativo IBM MQ, que é implantado no OCI. Os feeds de dados são então processados pelo Oracle Data Integrator para carregamento no Oracle Autonomous Transaction Processing. Para gerenciar cargas de trabalho explosivas, como picos repentinos nas vendas de tíquetes on-line, a equipe de TI da GOL usa o Pool de Conexões Residentes de Banco de Dados do Autonomous Database.
A integração com CI/CD, Azure DevOps e Oracle Cloud Infrastructure Resource Manager da Oracle ajudou a GOL a manter e atualizar seus contêineres. O front-end da aplicação é desenvolvido usando Angular e o back-end é desenvolvido usando . Núcleo Líquido. O Azure DevOps é usado para gerenciamento de código. O Azure DevOps é acessado pela Internet e o Azure é conectado ao OCI usando um túnel VPN site a site seguro. Por meio do uso do Azure DevOps e do OKE, as atualizações de microsserviços podem ser realizadas em algumas horas, em vez das semanas que levaram ao executar seu aplicativo no local.
A arquitetura tem os seguintes componentes:
- Locação
Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você acessa o Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud em sua tenancy. Uma tenancy é sinônimo de empresa ou organização. Geralmente, uma empresa terá uma única tenancy e refletirá sua estrutura organizacional dentro dessa tenancy. Em geral, uma única tenancy é associada a uma única assinatura e, em geral, uma única assinatura só tem uma tenancy.
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada 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 até mesmo continentes).
- Compartimento
Os compartimentos são partições lógicas entre regiões em uma tenancy do Oracle Cloud Infrastructure. Use compartimentos para organizar seus recursos no Oracle Cloud, controlar o acesso aos recursos e definir cotas de uso. Para controlar o acesso aos recursos em um determinado compartimento, você define políticas que especificam quem pode acessar os recursos e quais ações eles podem executar.
- Domínio de falha
Um 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 potência e hardware independentes. Quando você distribui recursos entre diversos domínios de falha, seus aplicativos podem tolerar falhas físicas no servidor, na manutenção do sistema e na alimentação dentro de um domínio de falha.
- WAF (Web Application Firewall)
O Oracle Cloud Infrastructure Web Application Firewall (WAF) é um serviço de aplicação de borda, baseado em região e em conformidade com o setor de cartões de pagamento (PCI) anexado a um ponto de imposição, como um balanceador de carga ou um nome de domínio de aplicativo Web. O WAF protege aplicativos contra tráfego malicioso e indesejado na internet. O WAF pode proteger qualquer ponto final voltado para a Internet, fornecendo aplicação de regras consistente entre os aplicativos de um cliente.
- Rede virtual na nuvem (VCN) e sub-redes
Uma VCN é uma rede personalizável e definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo em uma região ou em um domínio de disponibilidade. Cada sub-rede consiste em um intervalo ininterrupto de endereços que não se sobrepõem às 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.
- Lista 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 deve ser permitido dentro e fora da sub-rede.
- 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.
- Object Storage
O armazenamento de objetos oferece 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 de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento de forma integrada sem prejudicar o desempenho ou a confiabilidade do serviço. Use o armazenamento padrão para armazenamento de acesso frequente que você precisa acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.
- Serviço Compute
O serviço Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda da rede e armazenamento. Após criar uma instância de computação, você pode acessá-la com segurança, reiniciá-la, anexar e desanexar volumes e encerrá-la quando não precisar mais dela.
- Autonomous Database
O Oracle Cloud Infrastructure Autonomous Database é um ambiente de banco de dados pré-configurado totalmente gerenciado que você pode usar para cargas de trabalho de processamento de transações e data warehousing. Não é necessário configurar ou gerenciar qualquer hardware ou instalar qualquer software. O Oracle Cloud Infrastructure trata da criação do banco de dados, bem como do backup, aplicação de patches, upgrade e ajuste do banco de dados.
- Autonomous Transaction Processing
O Oracle Autonomous Transaction Processing é um serviço de banco de dados independente, com segurança e correção que é otimizado para cargas de trabalho de processamento de transações. Não é necessário configurar ou gerenciar qualquer hardware ou instalar qualquer software. O Oracle Cloud Infrastructure trata da criação do banco de dados, bem como do backup, aplicação de patches, upgrade e ajuste do banco de dados.
Seja Destaque na Criação e Implantação
Deseja mostrar o que você criou no Oracle Cloud Infrastructure? É importante compartilhar suas lições aprendidas, melhores práticas e arquiteturas de referência com nossa comunidade global de arquitetos de nuvem? Vamos ajudá-lo a começar.
- Faça download do modelo (PPTX)
Ilustre sua própria arquitetura de referência arrastando e soltando os ícones no quadro de fios de amostra.
- Assistir ao tutorial de arquitetura
Obtenha instruções passo a passo sobre como criar uma arquitetura de referência.
- Enviar seu diagrama
Envie um e-mail com seu diagrama. Nossos arquitetos de nuvem verificarão seu diagrama e entrarão em contato com você para discutir sua arquitetura.