기능 뒤에 숨은 API Gateway 트렌드: Apache APISIX 3.0 대 Kong 3.0

Yilia Lin

Yilia Lin

October 16, 2022

Products

2022년 9월 28일, Kong은 새로운 Kong Gateway 3.0을 출시하며 몇 가지 새로운 기능과 성능 개선을 달성했습니다. 9월 21일에는 Apache 소프트웨어 재단의 탑 레벨 프로젝트인 Apache APISIX도 Apache APISIX 3.0의 프리뷰 버전을 출시하며, 생태계와 기능 측면에서 10가지 하이라이트를 소개했습니다.

이제 이 두 인기 있는 오픈소스 API 게이트웨이 프로젝트의 3.0 버전을 자세히 살펴보고, 이러한 업데이트 뒤에 숨은 개발 트렌드를 알아보겠습니다.

먼저 Kong Gateway 3.0의 8가지 하이라이트를 살펴보겠습니다.

Kong Gateway 3.0의 8가지 하이라이트

하이라이트OSS/Enterprise유형대상 사용자개선 사항APISIX 지원 여부비고
FIPS 140-2Enterprise 버전규정 준수북미 금융 기업 및 정부 기관규정 준수아니오적용 불가
Secrets Management둘 다규정 준수금융 기업OSS: 환경 변수

Enterprise: AWS Secrets Manager 및 HashiCorp Vault
APISIX는 2021년 12월부터 OSS에서 HashiCorp Vault를 지원: feat(vault): vault lua module, integration with jwt-auth authentication plugin

Kong은 2022년 2월: feat(vaults) adds vaults beta support to kong
Plugin OrderingEnterprise 버전사용성복잡한 시나리오를 가진 대기업 및 중견 기업플러그인을 통해 비즈니스 유연성 증가APISIX 2022년 6월: feat: allows users to specify plugin execution priority

Kong 2022년 7월: feat(plugins) add support for ordering
Kong Manager 3.0Enterprise 버전사용성기술 팀이 많지 않은 중견 및 대기업기업 사용자를 위한 API 관리 개선적용 불가
Deep Websocket SupportEnterprise 버전기능웹소켓을 깊이 사용하는 기업 사용자웹소켓 스키마 검증 및 웹소켓 프레임 크기 제한예, 부분적으로Kong 2016년 12월: feat(proxy) supports websockets

APISIX는 웹소켓 요청 프록시를 지원하며, 2020년 1월부터 limit-conn과 같은 플러그인과 함께 사용 가능: feature: upstream support websocket enable
OpenTelemetry둘 다기능복잡한 비즈니스 호출 체인을 가진 대기업 및 중견 기업관측 가능성 개선Kong 2022년 6월: feat(plugins) opentelemetry plugin

APISIX 2022년 1월: feat: add opentelemetry plugin
Performance Improvements둘 다성능클라우드 벤더, 빠르게 성장하는 SaaS 벤더서버 비용 절감Apache APISIX는 2019년 오픈소스 이후로 다른 API 게이트웨이보다 성능 면에서 우수한 성과를 보여왔습니다.
New Routing Engine둘 다성능클라우드 벤더, 빠르게 성장하는 SaaS 벤더대량의 API로 인한 성능 문제 해결 및 서버 비용 절감Kong 2022년 7월: feat(router) new DSL based router support and tests fix

APISIX 2019년 8월: feature: supported to use router lua-resty-radixtree

Kong Gateway 3.0의 하이라이트를 통해 세 가지 트렌드를 분석할 수 있습니다:

  1. Kong은 금융 분야의 보안 및 규정 준수에 상대적으로 많은 투자를 하고 있으며, 이는 FIPS 140-2 규정 준수와 Secrets 관리 측면에서 분석할 수 있습니다.
  • FIPS 140-2 규정 준수: FIPS 140-2는 북미 금융 기업 및 정부 기관에서 암호화 모듈을 승인하기 위해 사용하는 컴퓨터 보안 표준입니다. Kong Gateway 3.0 Enterprise 버전은 BoringSSL을 기반으로 구축되었으며, 표준 요구 사항에 맞게 플러그인을 적응시킬 예정입니다. Kong의 FIPS 140-2 지원은 Kong의 개발 단계를 반영합니다: 7년간의 반복을 거치며 Kong은 점차 유료 사용자에 초점을 맞추고 있으며, 금융 기업 및 정부 기관의 요구를 충족시키는 데 주력하고 있습니다.

  • Secrets Management: 이 기능의 대상 사용자 역시 금융 기업입니다. Kong Gateway 3.0은 사용자가 AWS Secrets Manager 및 HashiCorp Vault에 민감한 정보를 안전하게 저장할 수 있도록 하며, Kong은 런타임에 이를 접근할 수 있습니다. 이를 통해 더 높은 수준의 보안 보호를 달성합니다.

  1. 각 하이라이트의 PR 링크를 통해 Kong Gateway 3.0의 8가지 하이라이트 대부분이 Apache APISIX에 의해 더 일찍 구현되었음을 알 수 있습니다.

  2. Kong Gateway 3.0은 성능 면에서 상당한 개선이 이루어졌으며, 이는 두 가지 이유 때문입니다:

  • Kong은 라우팅에 캐시 계층을 추가하여 벤치마크 성능을 크게 개선했습니다. 그러나 문제는 URL 주소가 변경될 때 캐시가 무효화된다는 점입니다. 자세한 내용은 아래 코드 링크를 확인하세요: atc.lua

  • Kong은 Rust를 사용하여 완전히 새로운 라우팅 엔진을 구현했으며, DSL을 사용하여 라우팅 계층의 표현력을 높였습니다. HTTP 요청을 수신 및 전송할 때 다음과 같은 표현식을 작성할 수 있습니다:

    net.protocol == "https" && (http.method == "GET" || http.method == "POST")

    특정 호스트와 일치하는 요청 경로 시나리오에서는 다음과 같은 표현식을 작성할 수 있습니다:

    (http.host == "example.com" && http.headers.x_example_version == "v2" ) || (http.host == "store.example.com" && http.headers.x_store_version == "v1")

    Apache APISIX와 비교해보면, Apache APISIX는 2019년 8월에 **Lua-resty-radixtree**를 사용하여 유사한 라우팅 표현식 기능을 구현했습니다. APISIX의 표현식은 임의의 NGINX 변수를 지원하며, 더 풍부한 연산자를 제공합니다. 일반적인 숫자 및 문자열 비교 외에도 정규 표현식, 배열, IP 타겟팅도 지원합니다.

Kong Gateway 3.0 버전의 이 8가지 하이라이트 대부분은 Enterprise 버전에 치중되어 있습니다. 다음 두 그림은 Kong의 기술 발전 트렌드를 더 직관적으로 보여줍니다.

Kong Gateway 3.0의 8가지 하이라이트에서 OSS와 Enterprise 버전의 비율

Kong Gateway 3.0에서 Apache APISIX가 지원하는 하이라이트

Kong Gateway 3.0에서 출시된 기능은 보안 규정 준수에 더 관심이 많은 정부, 금융 산업 및 대기업에 초점을 맞추고 있습니다.

Apache APISIX 3.0의 8가지 하이라이트 분석

오픈소스 API 게이트웨이 Apache APISIX는 3.0 버전의 프리뷰를 출시하며, Apache APISIX 3.0 버전의 10가지 하이라이트를 소개했습니다. 저자는 이 중 가장 중요한 8가지를 선택하여 분석했습니다. 이 8가지 하이라이트는 모두 오픈소스 버전을 대상으로 하며, 생태계와 기술 개선에 초점을 맞추고 있습니다.

하이라이트유형대상 사용자개선 사항Kong 지원 여부
ARM64 완전 지원생태계대규모 클라우드 마이그레이션을 진행하는 기업서버 비용 절감예, 부분적으로
gRPC 클라이언트성능APISIX 최적화 요구 사항최적화아니오
강화된 서비스 디스커버리 지원생태계, 기능마이크로서비스에 의존하는 비즈니스아니오
xRPC 프레임워크생태계, 기능인터넷 기업서버 비용 절감아니오
L4 관측 가능성기능복잡한 비즈니스 기능을 가진 대기업 및 중견 기업관측 가능성 강화아니오
Gateway API 지원생태계인터넷 기업기업 사용자를 위한 API 관리 개선
더 많은 플러그인: OpenFunction, ClickHouse, Elasticsearch, SAML, CAS생태계, 기능인터넷 기업OSS: 환경 변수, Enterprise: AWS Secrets Manager 및 HashiCorp Vault아니오
AI 플레인지능인터넷 기업대량의 API로 인한 성능 문제 해결 및 서버 비용 절감아니오

위 표에서 얻을 수 있는 또 다른 정보는 Apache APISIX가 생태계와 기능 측면에서 개선되었다는 점입니다. 이 하이라이트 중 두 가지 주요 사항은 다음과 같습니다.

  • AI 플레인: 데이터 플레인과 컨트롤 플레인 외에, Apache APISIX는 3.0 버전에서 AI 플레인을 추가했습니다. 이는 API 트래픽 및 구성에 대한 학습과 분석을 통해 애플리케이션 및 운영 개발자의 사용 및 운영 압력을 완화합니다. 예를 들어, 다음 두 시나리오는 AI 플레인에 의해 자동으로 최적화될 수 있습니다:

    1. 인증 없이 사용되는 API를 발견하고 관리자에게 위험 경고를 보냅니다.
    2. 접근 단계에서만 플러그인이 구성된 API의 경우, 불필요한 단계를 건너뛰어 처리 속도를 높입니다.

    AI 플레인은 트래픽 처리에 새로운 가능성을 열어줍니다. 앞으로, 업스트림 서비스의 자동 워밍업 및 보안 위협 탐지 등이 모두 AI 플레인을 통해 처리될 수 있습니다.

  • ARM64 완전 지원: ARM64는 클라우드 벤더를 위한 매우 주류 서버 아키텍처가 되었습니다. AWS Graviton 및 GCP Tau T2A와 같은 Arm 아키텍처 기반 서버를 다양한 클라우드 벤더가 출시하고 있습니다. Apache APISIX는 ARM64에 대한 포괄적인 CI 회귀 테스트를 수행하여 사용자가 Arm 아키텍처에서 Apache APISIX를 실행할 때 원활함을 보장합니다. 사용자들은 이에 대해 많은 관심을 가지고 있습니다. GCP와 AWS의 ARM 아키텍처 성능 비교는 _Hacker News_에서 거의 100개의 댓글을 받았습니다.

결론

Kong Gateway 3.0은 규정 준수, 사용성, 기능 및 성능 면에서 새로운 진전을 이루었으며, 기업 보안 규정 준수에 더 초점을 맞추고 있습니다. Apache APISIX 3.0에서 소개된 모든 기능은 오픈소스이며, 생태계와 새로운 기술 탐구에 더 많은 관심을 기울이고 있습니다.

앞으로 Kong과 Apache APISIX가 어떻게 반복하고 발전할지 지켜보겠습니다!

Tags: