360 Melhora o Gerenciamento de Recursos em Nuvem com APISIX

December 11, 2020

Case Study

Visão Geral

Sobre a Plataforma de Operações e Manutenção Básica 360

A Plataforma de Operações e Manutenção Básica 360 é uma plataforma de gerenciamento e monitoramento de aplicações em nuvem voltada para empresas, projetada para ajudar as empresas a gerenciar melhor seus recursos em nuvem, melhorar a disponibilidade e o desempenho das aplicações e atender às crescentes demandas de suas necessidades de negócios.

Antes de usar o APISIX, a camada de gateway da Plataforma de Operações e Manutenção Básica 360 apresentava algumas deficiências, como desempenho e escalabilidade insuficientes ao lidar com grandes volumes de tráfego, além de alta complexidade no gerenciamento e monitoramento. Portanto, a equipe planeja reformar a camada de gateway para melhorar o tempo de resposta e a eficiência de gerenciamento da plataforma. A equipe visa criar uma camada de gateway de alto desempenho, escalável e fácil de gerenciar para melhor gerenciar e monitorar aplicações em nuvem.

Desafios

  • Complexidade das Aplicações: Aplicações em nuvem são tipicamente mais complexas do que aplicações tradicionais, envolvendo múltiplos módulos e serviços, exigindo implantação e gerenciamento mais complexos.
  • Disponibilidade e Desempenho das Aplicações: Aplicações em nuvem precisam manter alta disponibilidade e desempenho para atender às demandas dos usuários. Isso requer melhor monitoramento e resolução de problemas.
  • Segurança das Aplicações: Aplicações em nuvem precisam garantir a segurança e privacidade dos dados, exigindo melhor controle de acesso e políticas de segurança.

Resultados

  • A arquitetura baseada em plugins foi construída com sucesso, permitindo maior flexibilidade na personalização e extensão do sistema.
  • A plataforma pode manter altos níveis de disponibilidade e responsividade mesmo sob carga pesada.
  • Os administradores podem monitorar o sistema em tempo real e identificar e resolver problemas rapidamente, garantindo que o sistema esteja sempre operando com eficiência máxima.

Por que a 360 Escolheu o APISIX

A equipe da Plataforma de Operações e Manutenção Básica 360 escolheu o Apache APISIX principalmente devido à opção de armazenamento etcd, que é mais adequada ao cenário de uso. Ao selecionar uma solução de armazenamento, vários fatores devem ser considerados, como tipo de dados, volume de dados, frequência de leitura/escrita, padrão de acesso aos dados e segurança dos dados. Em comparação com o etcd, outras opções de armazenamento podem apresentar algumas deficiências.

Por exemplo, o Postgres é adequado para consultas complexas de dados e processamento de transações, mas carece em termos de desempenho de leitura/escrita e escalabilidade. O Cassandra é adequado para armazenamento e análise de dados em grande escala, mas carece de alto desempenho de leitura/escrita e consistência de dados. O Redis é adequado para cache de alta velocidade e armazenamento de dados, mas ainda precisa melhorar a consistência e confiabilidade dos dados. O PaaS é adequado para construção, implantação e gerenciamento rápidos de aplicações, mas requer uma solução de armazenamento mais flexível e escalável. O Zookeeper é adequado para gerenciamento e coordenação de aplicações distribuídas, mas ainda tem deficiências em consistência e confiabilidade de dados.

Em comparação, o etcd, como um sistema de armazenamento distribuído de chave-valor altamente confiável, escalável, performático e fácil de usar, atende melhor às necessidades da Plataforma de Operações e Manutenção Básica em nuvem da 360 e, portanto, foi escolhido como a solução de armazenamento. Além da opção de armazenamento, o APISIX também trouxe outras surpresas para a equipe da Plataforma de Operações e Manutenção Básica 360. A tabela abaixo mostra as diferenças entre o APISIX e produtos semelhantes em vários aspectos, além da seleção de armazenamento.

API GatewayAPISIXKongTykApigeeAWSAliyun
Modo de Implantaçãonó único & clusternó único & clusternó único & clusterNão compatível com implantação de nó únicoPaaSPaaS
Seleção de ArmazenamentoetcdPostgres, CassandraRedisPostgres, Cassandra, ZookeeperPaaSPaaS
Código Aberto ou NãoApache License 2.0Apache License 2.0MPL LicenseNãoNãoNão
Tecnologia CentralNGINX + LuaNGINX + LuaGolang///
Implantação Privada
Plugins Personalizados
Engajamento da ComunidadeAltoAltoAltoModeradoBaixoBaixo
Suporte a YAMLSuportaSuportaNão suportaNão suportaNão suportaNão suporta

O diagrama a seguir mostra a arquitetura final do projeto da Plataforma de Operações e Manutenção Básica 360, incluindo o serviço de gateway implantado na nuvem de contêineres da empresa e o serviço etcd implantado em um conjunto de clusters em 3 máquinas virtuais.

arquitetura

Conquistas após o Uso do APISIX

Desenvolvimento Baseado em Plugins Construído com Sucesso

O Apache APISIX utiliza plugins para atender às diversas necessidades dos clientes no tratamento de tráfego e em cenários específicos. Atualmente, existem mais de 100 plugins prontos para uso, e os usuários podem desenvolver plugins personalizados para suportar novas funcionalidades.

Atualmente, a Plataforma de Operações e Manutenção 360 implementou várias funções usando tanto plugins desenvolvidos internamente quanto plugins nativos fornecidos pelo APISIX, incluindo, mas não se limitando a autenticação de usuários, limitação de taxa por IP, encaminhamento de solicitações, registro de logs e funções de alarme.

Os arquivos do projeto da Plataforma de Operações e Manutenção Básica 360 possuem dois diretórios, "libs" e "plugins". O diretório "libs" contém algumas bibliotecas comumente usadas, enquanto o diretório "plugins" contém plugins de negócios personalizados. Todas as operações de negócios na plataforma 360 são desenvolvidas usando um mecanismo de plugin. O projeto tem dois domínios de entrada: um para acesso OpenAPI, que usa o plugin de autenticação basic-auth, e outro para acesso via navegador web, que usa o plugin web-auth (autenticação por cookie). A figura abaixo mostra os plugins atualmente usados no projeto.

plugins

Gerenciamento Fácil de Grandes Volumes de Tráfego

Ao escolher as tecnologias certas e implementá-las de forma eficaz, a Plataforma de Operações e Manutenção Básica 360 conseguiu construir uma plataforma de gerenciamento de aplicações em nuvem de alto desempenho e robustez, capaz de atender às crescentes demandas de suas necessidades de negócios.

A Plataforma de Operações e Manutenção Básica 360 atualmente tem quase 900 APIs adicionadas ao seu gateway, com uma média diária de cerca de 10 milhões de PVs. De acordo com seu sistema de monitoramento, tanto o gateway quanto seus diversos microsserviços estão funcionando sem problemas. Isso indica que a infraestrutura da plataforma é capaz de lidar com grandes volumes de tráfego e garantir alta disponibilidade para seus usuários. Também mostra que sua equipe de desenvolvimento fez um ótimo trabalho ao projetar e implementar sua arquitetura de sistema, escolhendo o APISIX como a camada de gateway. Esse sucesso pode ser atribuído a vários fatores, incluindo a escalabilidade e confiabilidade do APISIX, bem como o uso do etcd como solução de armazenamento. No futuro, a plataforma continuará monitorando o desempenho do sistema e fará melhorias conforme necessário para garantir que mantenha altos níveis de qualidade e serviço para seus usuários.

Monitoramento Eficiente do Sistema

As funcionalidades de observabilidade fornecidas pelo APISIX trazem múltiplos benefícios para a plataforma de operações e manutenção básica da 360:

  • Em primeiro lugar, as funcionalidades de observabilidade do APISIX podem ajudar os desenvolvedores a monitorar o sistema de forma mais eficiente, detectar e resolver problemas potenciais em tempo hábil e melhorar a confiabilidade do sistema.

  • Em segundo lugar, os logs de acesso e o monitoramento de métricas em tempo real podem ajudar os desenvolvedores a localizar problemas rapidamente, otimizar o desempenho do sistema e melhorar a disponibilidade e o desempenho do sistema.

  • Por fim, as verificações de saúde podem garantir a disponibilidade dos serviços de backend e ajustar automaticamente as estratégias de encaminhamento de solicitações, melhorar a experiência do usuário e fornecer melhores serviços para os usuários.

As funcionalidades de observabilidade do APISIX podem ajudar a Plataforma de Operações e Manutenção Básica 360 a monitorar e gerenciar o sistema de forma mais eficiente, melhorar a disponibilidade, desempenho e confiabilidade do sistema e fornecer uma melhor experiência de serviço para os usuários.

Resumo

A Plataforma de Operações e Manutenção Básica 360 escolheu o APISIX devido à sua opção de armazenamento etcd, que melhor se adequa ao seu cenário de uso. O APISIX também trouxe outros benefícios, como desenvolvimento baseado em plugins, boa observabilidade e melhor monitoramento e gerenciamento do sistema.

Tags: