Tendências do API Gateway por trás dos recursos: Apache APISIX 3.0 vs. Kong 3.0
Em 28 de setembro de 2022, a Kong lançou o novo Kong Gateway 3.0, que trouxe novas funcionalidades e melhorias de desempenho. Em 21 de setembro, o Apache APISIX, projeto de nível superior da Apache Software Foundation, também lançou a versão prévia do Apache APISIX 3.0, introduzindo dez destaques em termos de ecossistema e funcionalidades.
Vamos dar uma olhada mais detalhada na versão 3.0 desses dois populares projetos de API Gateway de código aberto e entender as tendências de desenvolvimento por trás dessas atualizações.
Primeiro, vamos analisar os oito destaques do Kong Gateway 3.0.
Oito Destaques do Kong Gateway 3.0
Destaques | OSS/Enterprise | Tipo | Público-Alvo | Melhoria | Se o APISIX suporta | Notas |
---|---|---|---|---|---|---|
FIPS 140-2 | Versão Enterprise | Conformidade | Corporações financeiras e governos da América do Norte | Conformidade | Não | Inaplicável |
Gerenciamento de Segredos | Ambos | Conformidade | Corporações financeiras | OSS: variáveis de ambiente Enterprise: AWS Secrets Manager e HashiCorp Vault | Sim | O APISIX suporta HashiCorp Vault desde dezembro de 2021 no OSS: feat(vault): módulo vault lua, integração com o plugin de autenticação jwt-auth Kong fevereiro de 2022: feat(vaults) adiciona suporte beta para vaults no kong |
Ordenação de Plugins | Versão Enterprise | Usabilidade | Empresas de médio e grande porte com cenários complexos | Aumentar a flexibilidade dos negócios com plugins | Sim | APISIX junho de 2022: feat: permite que os usuários especifiquem a prioridade de execução dos plugins Kong julho de 2022: feat(plugins) adiciona suporte para ordenação |
Kong Manager 3.0 | Versão Enterprise | Usabilidade | Empresas de médio e grande porte sem muitas equipes técnicas | Gerenciar APIs melhor para usuários empresariais | Sim | Inaplicável |
Suporte Profundo a Websocket | Versão Enterprise | Funcionalidade | Usuários empresariais que utilizam profundamente websocket | Verificar esquema websocket e limitar o tamanho do frame websocket | Sim, parcialmente | Kong dezembro de 2016: feat(proxy) suporta websockets APISIX suporta proxy de requisições websocket e pode ser usado com plugins como limit-conn em janeiro de 2020: feature: upstream suporta websocket enable |
OpenTelemetry | Ambos | Funcionalidade | Empresas de médio e grande porte com cadeias de chamadas complexas | Melhorar a observabilidade | Sim | Kong junho de 2022: feat(plugins) plugin opentelemetry APISIX janeiro de 2022: feat: adiciona plugin opentelemetry |
Melhorias de Desempenho | Ambos | Desempenho | Fornecedores de nuvem, fornecedores de SaaS em rápido crescimento | Reduzir custos de servidor | Sim | O Apache APISIX tem superado outros gateways de API em desempenho desde que foi lançado como código aberto em 2019. |
Novo Mecanismo de Roteamento | Ambos | Desempenho | Fornecedores de nuvem, fornecedores de SaaS em rápido crescimento | Resolver problemas de desempenho com um grande número de APIs e reduzir custos de servidor | Sim | Kong julho de 2022: feat(router) novo suporte e testes de roteador baseado em DSL APISIX agosto de 2019: feature: suporta o uso do roteador lua-resty-radixtree |
Podemos analisar três tendências a partir dos destaques do Kong Gateway 3.0:
- O investimento da Kong em segurança e conformidade no setor financeiro é relativamente grande, o que pode ser analisado em termos de conformidade com FIPS 140-2 e gerenciamento de segredos.
-
Conformidade com FIPS 140-2: FIPS 140-2 é um padrão de segurança de computador usado por empresas financeiras e governos da América do Norte para aprovar módulos de criptografia. A versão Enterprise do Kong Gateway 3.0 é construída com base no BoringSSL e adaptará os plugins para serem compatíveis com os requisitos do padrão. O suporte da Kong ao FIPS 140-2 reflete a fase de desenvolvimento da Kong: após sete anos de iteração, a Kong gradualmente se concentrou em usuários pagantes, tendendo a atender às necessidades de empresas financeiras e governos.
-
Gerenciamento de Segredos: Os usuários-alvo dessa funcionalidade também são empresas financeiras. O Kong Gateway 3.0 permite que os usuários armazenem informações sensíveis de forma segura no AWS Secrets Manager e no HashiCorp Vault, que a Kong pode acessar em tempo de execução. Dessa forma, é alcançado um nível mais alto de proteção de segurança.
-
A partir dos links de PR de cada destaque, podemos saber que a maioria dos oito destaques do Kong Gateway 3.0 foi implementada anteriormente pelo Apache APISIX.
-
O Kong Gateway 3.0 teve uma melhoria relativamente significativa no desempenho por duas razões:
-
A Kong adicionou uma camada de cache no roteamento, melhorando muito o desempenho para o benchmark. No entanto, o problema é que o cache se torna inválido quando o endereço URL muda. Para mais detalhes, confira o link do código abaixo: atc.lua
-
A Kong usou Rust para implementar um novo mecanismo de roteamento, usando DSL para aumentar a expressividade da camada de roteamento. Ao receber e enviar requisições HTTP, você pode escrever expressões como esta:
net.protocol == "https" && (http.method == "GET" || http.method == "POST")
Em cenários onde a rota solicitada corresponde a um host específico, a seguinte expressão pode ser escrita:
(http.host == "example.com" && http.headers.x_example_version == "v2" ) || (http.host == "store.example.com" && http.headers.x_store_version == "v1")
Podemos comparar com o Apache APISIX. O Apache APISIX implementou uma função de expressão de roteamento semelhante usando Lua-resty-radixtree em agosto de 2019. As expressões do APISIX suportam variáveis NGINX arbitrárias e têm operadores mais abundantes. Além de comparações numéricas e de strings comuns, também são suportadas expressões regulares, arrays e direcionamento de IP.
A maioria desses oito destaques na versão 3.0 do Kong Gateway é voltada para a versão Enterprise. As duas figuras a seguir podem refletir de forma mais intuitiva a tendência de desenvolvimento tecnológico da Kong.
As funcionalidades lançadas no Kong Gateway 3.0 focam no governo, setor financeiro e grandes empresas que estão mais preocupadas com a conformidade de segurança.
Análise dos Oito Destaques do Apache APISIX 3.0
O API Gateway de código aberto Apache APISIX lançou uma prévia da versão 3.0, que envolve dez destaques da versão 3.0 do Apache APISIX. O autor selecionou os oito pontos mais críticos para análise. Esses oito destaques são todos para versões de código aberto, focando em melhorias de ecossistema e tecnológicas.
Destaques | Tipo | Público-Alvo | Melhoria | Se o Kong suporta |
---|---|---|---|---|
Suporte Completo a ARM64 | Ecossistema | Empresas migrando para a nuvem em escala | Reduzir custos de servidor | Sim, parcialmente |
Cliente gRPC | Desempenho | Requisitos de otimização do APISIX | Otimização | Não |
Suporte Aprimorado a Descoberta de Serviços | Ecossistema, Funcionalidade | Negócios dependentes de microsserviços | Não | |
Framework xRPC | Ecossistema, Funcionalidade | Empresas de internet | Reduzir custos de servidor | Não |
Observabilidade em L4 | Funcionalidade | Empresas de médio e grande porte com funções de negócio complexas | Melhorar a observabilidade | Não |
Suporte a Gateway API | Ecossistema | Empresas de internet | Gerenciar APIs melhor para usuários empresariais | Sim |
Mais Plugins: OpenFunction, ClickHouse, Elasticsearch, SAML, CAS | Ecossistema, Funcionalidade | Empresas de internet | Variáveis de ambiente para OSS, AWS Secrets Manager e HashiCorp Vault para Enterprise | Não |
Plano AI | Inteligência | Empresas de internet | Problemas de desempenho com um grande número de APIs e redução de custos de servidor | Não |
Outra informação que podemos obter da tabela acima é que o Apache APISIX melhora em aspectos de ecossistema e funcionalidades. Entre esses destaques, há dois pontos principais:
-
Plano AI: Além do plano de dados e do plano de controle, o Apache APISIX adiciona um plano AI na versão 3.0, que alivia a pressão de uso e O&M (operações e manutenção) dos desenvolvedores de aplicativos e operações por meio da aprendizagem e análise do tráfego e configuração de APIs. Por exemplo, os dois cenários a seguir podem ser otimizados automaticamente pelo plano AI:
- Descobrir APIs sem autenticação e enviar alertas de risco aos gerentes.
- Acelerar o processamento pulando estágios desnecessários para APIs que são configuradas apenas com plug-ins no estágio de acesso, como autenticação de identidade.
O plano AI traz novas possibilidades para o processamento de tráfego. No futuro, um aquecimento automático de serviços upstream e detecção de ameaças de segurança podem ser processados pelo plano AI.
-
Suporte completo a ARM64: ARM64 tornou-se uma arquitetura de servidor muito popular para fornecedores de nuvem. Vários fornecedores de nuvem começaram a lançar servidores baseados na arquitetura Arm, como AWS Graviton e GCP Tau T2A. O Apache APISIX fez um teste de regressão CI abrangente no ARM64 para garantir a suavidade quando os usuários executam o Apache APISIX sob a arquitetura Arm. Os usuários se importam muito com isso. A comparação de desempenho da arquitetura ARM com GCP e AWS recebeu quase 100 comentários no Hacker News.
Conclusão
O Kong Gateway 3.0 fez novos progressos em conformidade, usabilidade, funcionalidades e desempenho, focando mais na conformidade de segurança empresarial. Todas as funcionalidades introduzidas pelo Apache APISIX 3.0 são de código aberto, enquanto prestam mais atenção ao ecossistema e à exploração de novas tecnologias.
Vamos aguardar e ver como a Kong e o Apache APISIX irão iterar e se desenvolver no futuro!