Transformando o Gigante de Gestão de Fundos com APISIX
March 27, 2023
Visão Geral
Sobre a Invesco Great Wall
Invesco Great Wall Fund Management Co., Ltd. ("IGW") é uma empresa de gestão de fundos sino-americana, com capacidades de investimento em múltiplos ativos e expertise líder em ações. As principais atividades da empresa incluem investimento quantitativo, renda ativa e renda fixa. A IGW gerencia mais de 850 bilhões de dólares em ativos, fornecendo serviços para mais de 60 milhões de investidores.
A IGW coloca sua ênfase principal na gestão de ativos, oferecendo uma variedade de estratégias de investimento que abrangem múltiplas classes de ativos, como ações, renda fixa e estratégias quantitativas.
Desafios
- A falta de gateways padronizados entre diferentes sistemas de negócios levou a diversos serviços associados a gateways e operações independentes, resultando em custos de manutenção elevados.
- Os gateways anteriores da IGW tinham capacidade e funcionalidades limitadas, como balanceamento de carga e liberação canário, que são complexas e demoradas de implementar, podendo causar gargalos operacionais.
- Devido à ausência de capacidades de autenticação na configuração anterior, várias interfaces do sistema podiam ser acessadas diretamente, representando um risco significativo à segurança dos sistemas de negócios.
Resultados
- Ao implementar o APISIX, a IGW construiu seu gateway de API unificado, resolvendo os problemas de esforços de desenvolvimento redundantes e qualidade inconsistente das funcionalidades.
- A integração de DevOps e pipelines aumentou significativamente a estabilidade da implantação de rotas e serviços, melhorando a eficiência das liberações de rotas e serviços.
- O recarregamento a quente do APISIX reduziu substancialmente a necessidade de reinicializações de serviços, aliviando a pressão sobre os recursos do sistema e reduzindo o tempo de inatividade.
Contexto
Primeiro, vamos nos aprofundar na evolução arquitetônica do sistema de negócios da IGW. Inicialmente, a IGW adotou uma abordagem de serviço monolítico, com aplicações de serviço implantadas em máquinas físicas. No entanto, à medida que os serviços e os negócios cresceram, os custos de operações e desenvolvimento começaram a aumentar. Isso levou à transição para a fase de máquinas virtuais.
Durante a fase de máquinas virtuais, havia uma falta de uniformidade nos gateways usados por diferentes sistemas de negócios. Cada negócio operava de forma independente, resultando em diversos serviços associados a gateways e altos custos de manutenção.
Nos setores de fundos e títulos, existem requisitos regulatórios relacionados a zonas de rede. Cada zona de rede precisa ser dividida em diferentes zonas seguras fisicamente isoladas ou zonas seguras logicamente, com base nos níveis de segurança da informação, durante as quais o firewall é empregado.
Alinhada com a estratégia de nuvem em tecnologia financeira e transformação digital, a IGW iniciou seu projeto de migração para a nuvem.
Por que a IGW Escolheu o APISIX
Devido à ênfase do setor financeiro na estabilidade dos serviços em comparação com outros setores, a estabilidade é prioridade. Como os ambientes de máquinas virtuais experimentaram um crescimento descontrolado de serviços de gateway, tornou-se imperativo atender à diversidade de requisitos de negócios. Portanto, a escalabilidade do gateway é altamente valorizada. Além disso, a observabilidade desempenha um papel crucial, com fortes demandas por registro, rastreamento e monitoramento do sistema de negócios. Por fim, a capacidade de recarregamento a quente também é essencial.
Devido às limitações do NGINX em atualizar configurações dinamicamente, ele requer uma reinicialização ao enfrentar mudanças de configuração. Além disso, em cenários de conexão persistente, esse processo pode resultar em flutuações de tráfego no sistema de negócios, afetando a experiência do usuário.
Portanto, considerando esses quatro pontos focais, a equipe técnica da IGW realizou uma comparação abrangente entre APISIX e Kong, dois gateways de API populares e amplamente reconhecidos no mercado:
-
Estrutura Técnica: APISIX e Kong são ambos desenvolvidos com base no OpenResty. Em relação ao centro de configuração, o APISIX adota o etcd, enquanto o Kong opta pelo PostgreSQL. O APISIX se destaca como um gateway distribuído nativo da nuvem devido à natureza nativa da nuvem do etcd e às características de estado do APISIX. No entanto, a escolha do centro de configuração do Kong pode introduzir problemas potenciais de ponto único de falha, exigindo suporte adicional de infraestrutura para alta disponibilidade.
-
Atividade da Comunidade: Tanto o APISIX quanto o Kong têm uma comunidade ativa com uma média de 20 commits por dia em seus repositórios.
-
Plugins: O APISIX tem mais de 80 plugins e apenas um documento para cada plugin; o Kong tem mais de 30 plugins e 4-5 documentos para cada plugin; 100+ linhas de código para cada plugin do APISIX e 300+ para o Kong.
-
Escalabilidade: O APISIX suporta muitas linguagens de programação e também suporta WebAssembly. O Kong suporta apenas o uso de Lua para escrever plugins.
-
Recarregamento a Quente: Isso é o que a equipe foca. O APISIX suporta recarregamento a quente em nível de milissegundo ao habilitar ou desabilitar plugins, e ao adicionar novos plugins (como plugins personalizados). O APISIX também suporta a modificação dinâmica de parâmetros do gateway. No entanto, o Kong não suportava esse recurso quando a IGW realizou a seleção de tecnologia.
-
Observabilidade: Tanto o APISIX quanto o Kong suportam OpenTelemetry, mas o APISIX também pode ser conectado ao Elasticsearch, Prometheus e SkyWalking. O Kong ainda não fornecia suporte ao SkyWalking quando a IGW estava realizando a seleção de tecnologia.
Com base nas preocupações e pontos de comparação acima, a equipe técnica da IGW finalmente escolheu o APISIX como o gateway de API.
Cenários de Uso e Soluções para a IGW
Introdução à Arquitetura do Sistema da IGW
O sistema de negócios da IGW foi dividido em três partes: área de transação, área de produção e área de gestão, cada uma usando diferentes gateways de API. Originalmente, a IGW usava o NGINX como servidor web e proxy reverso. Os negócios na mesma classificação de rede usavam o mesmo NGINX. Como resultado, cada mudança de serviço ou atualização de rota exigia atualização manual e recarregamento no NGINX.
O diagrama acima ilustra a arquitetura do sistema da IGW. A camada de cluster de segurança do gateway usa múltiplos frameworks como Zuul, Spring Cloud Gateway, Kong e NGINX. A gestão arquitetural não era unificada e a gestão era relativamente complicada.
Solução
Para resolver esses desafios, a IGW enfatizou a transformação dos clusters de gateway em APISIX. Como o APISIX é implantado em clusters Kubernetes, ele permite a gestão unificada de APIs através de YAML de forma declarativa. Além disso, o APISIX Ingress Controller observa automaticamente as mudanças nos recursos Kubernetes, permitindo a sincronização em tempo real das configurações do APISIX, incluindo ApisixRoute, SSL e mais.
Abaixo está o Diagrama de Sequência de Sincronização de Rotas da IGW após o uso do APISIX.
Cenários de Uso
Após o uso do APISIX, a IGW alcançou muitos benefícios, entre os quais a equipe da IGW está mais preocupada com a perspectiva de negócios, incluindo roteamento inteligente, autenticação, observabilidade e controle de tráfego.
Roteamento Inteligente Eficiente
O roteamento inteligente é demonstrado principalmente no balanceamento de carga nas camadas 4 e 7. Como mostrado no diagrama, as informações de roteamento sincronizadas através do APISIX Ingress Controller são acompanhadas por rótulos específicos, evitando efetivamente operações de exclusão acidentais.
Após testes no ambiente, mesmo que os dados sejam excluídos, o Kubernetes é capaz de sincronizar rapidamente e automaticamente com o APISIX, resolvendo o problema de perda de dados.
Além disso, as atualizações de roteamento no APISIX alcançam tempos de resposta em nível de milissegundo, com atraso de sincronização de configuração quase imperceptível, proporcionando uma excelente experiência ao usuário.
Autenticação Aprimorada
Antes da introdução do gateway unificado, cada unidade de negócios tinha que desenvolver individualmente componentes relacionados à autenticação para garantir a segurança de suas interfaces de dados. No lado do negócio, cada sistema era sobrecarregado com o desenvolvimento de funcionalidades de autenticação redundantes, resultando em custos de desenvolvimento mais altos e qualidade variável das funcionalidades implementadas. Consequentemente, para verificação de segurança, a IGW introduziu plugins de autenticação unificada e redirecionamento HTTPS.
Antes da introdução do gateway unificado, os certificados HTTPS para serviços eram descriptografados no ponto de extremidade de Alta Disponibilidade (HA), o que aumentava a complexidade, a sobrecarga operacional e os riscos de segurança.
Reconhecendo esses desafios, a equipe técnica da IGW elaborou um plano para centralizar a funcionalidade de autenticação no gateway, resolvendo assim os problemas mencionados. Essa abordagem aumenta significativamente a eficiência de pesquisa e desenvolvimento dos sistemas de negócios, permitindo que os desenvolvedores se concentrem mais no desenvolvimento do núcleo do negócio.
Ao migrar para o APISIX, essas desvantagens podem ser mitigadas. O APISIX pode lidar com a terminação HTTPS, carregar certificados SSL dinamicamente e fornecer gerenciamento centralizado e seguro para tarefas relacionadas à segurança, melhorando o desempenho geral do sistema e a flexibilidade.
Além do Monitoramento
Anteriormente, o suporte fraco à observabilidade no sistema de negócios original da IGW afetava negativamente a solução de problemas do sistema, a otimização de desempenho, a confiabilidade e o monitoramento proativo.
Portanto, a equipe técnica da IGW visava integrar rapidamente vários plugins fornecidos pelo APISIX, como monitoramento de logs e rastreamento, para melhorar as capacidades de observabilidade.
Além disso, a equipe estava pesquisando e aproveitando o Apache SkyWalking para rastreamento distribuído, Prometheus para fins de monitoramento e ELK para coleta eficiente de logs. Surpreendentemente, o APISIX suporta todos esses plugins e, portanto, provou ser uma solução ideal que atende plenamente às expectativas e requisitos da equipe técnica da IGW, tornando-se a escolha preferida.
O diagrama acima ilustra a topologia de serviço da IGW após a integração do SkyWalking na produção pela equipe técnica. Este diagrama abrangente oferece uma visualização clara e concisa das relações de invocação entre serviços, abrangendo informações cruciais como direção do tráfego através do gateway e taxas de sucesso. Aproveitando este diagrama de topologia, a equipe da IGW pode identificar prontamente a localização exata de quaisquer erros ou problemas dentro da cadeia de serviços.
Dominando o Controle de Tráfego
O APISIX provou ser uma solução eficaz na facilitação de mecanismos versáteis de controle de tráfego para a IGW. Ao adotar o APISIX, a equipe técnica da IGW alcançou de forma contínua o controle de tráfego através de liberação canário e estratégias baseadas em peso. Essa capacidade robusta permite o gerenciamento eficiente da distribuição de tráfego, permitindo que a equipe implemente facilmente liberações canário e ajuste os pesos de tráfego conforme necessário.
Em um cenário baseado em liberação canário, o gateway precisa chamar uma interface downstream através de uma requisição HTTP para obter dados específicos, e julgar com base nos resultados retornados para determinar se a requisição precisa ser enviada ao ambiente de liberação canário.
Com base na política de peso, os serviços de máquinas virtuais e contêineres são fornecidos externamente em paralelo. Por exemplo, 90% do tráfego atinge o serviço de máquina virtual e 10% do tráfego atinge o serviço em nuvem para verificar a estabilidade do serviço em nuvem. Atualmente, o ambiente de produção da IGW foi configurado com uma liberação canário baseada em peso.
Conquistas Após o Uso do APISIX
Construção de um Gateway de API Unificado
Ao implementar o APISIX, a equipe técnica da IGW alcançou a padronização da estrutura do gateway de API que fornece funções ricas de gerenciamento de tráfego, como balanceamento de carga, upstream dinâmico, liberação canário, interrupção de circuito, autenticação e observabilidade.
A IGW implementou funcionalidade de autenticação unificada no gateway, resolvendo os problemas de esforços de desenvolvimento redundantes e qualidade inconsistente de funcionalidades. Isso permitiu que os desenvolvedores se concentrassem mais no desenvolvimento e melhorou significativamente a eficiência de pesquisa e desenvolvimento dos sistemas de negócios.
Melhoria na Estabilidade da Implantação de Rotas e Serviços
As atualizações de roteamento no APISIX são capazes de fornecer respostas em nível de milissegundo, garantindo desempenho rápido e eficiente. Além disso, a sincronização de configurações é quase instantânea, resultando em uma experiência do usuário aprimorada.
Além disso, a integração de DevOps e pipelines aumentou significativamente a estabilidade da implantação de rotas e serviços. Essa abordagem simplificada melhorou a eficiência das liberações de rotas e serviços, garantindo resultados mais confiáveis e consistentes.
Recarregamento a Quente Melhora o Desempenho e o Tempo de Atividade
A equipe técnica da IGW valoriza muito o poder do recarregamento a quente. O APISIX oferece um processo de implantação contínua para habilitar ou desabilitar plugins, facilitando a adição de plugins personalizados e permitindo atualizações dinâmicas nos parâmetros do gateway.
Como resultado, as modificações nas configurações de plugins e nas configurações do gateway podem ser aplicadas instantaneamente sem a necessidade de reinicializações ou interrupções do sistema. Essa notável funcionalidade de recarregamento a quente aumenta significativamente a flexibilidade e agilidade da plataforma APISIX, capacitando os desenvolvedores a fazer ajustes em tempo real em suas configurações e personalizar o gateway para atender a seus requisitos específicos.
A capacidade de recarregamento a quente do APISIX aliviou muito a pressão das reinicializações de serviços. Esse recurso permite que atualizações e modificações sejam aplicadas aos serviços sem a necessidade de uma reinicialização completa, resultando em melhor desempenho do sistema e redução do tempo de inatividade.
Resumo
A equipe técnica da IGW também apresentou expectativas sobre o aprimoramento adicional da funcionalidade, confiabilidade e desempenho do APISIX para operação contínua no futuro.
A implementação bem-sucedida do APISIX na Invesco Great Wall trouxe benefícios significativos e resultados positivos. Com o APISIX, a equipe da IGW alcançou uma estrutura de gateway de API unificada, resultando em operações simplificadas e custos reduzidos. A integração também trouxe maior estabilidade no roteamento e serviços, levando a melhor desempenho e minimização de interrupções.
Diante dos resultados notáveis da Invesco Great Wall, o APISIX prova ser uma solução altamente eficaz de gateway de API adaptada para o setor de serviços financeiros, incluindo o setor de fundos e títulos. Este estudo de caso bem-sucedido é um testemunho convincente dos benefícios da adoção do APISIX no setor financeiro e recomenda fortemente sua implementação para outras organizações do setor.