상세 컨텐츠

본문 제목

API G/W 개념 및 조사

Ops/System

by 크리두 2022. 7. 12. 15:02

본문

반응형

API Gateway란?

대부분의 초기에는 모놀리틱 아키텍쳐로 이루어진 구조로 서비스를 구성하고 있었다.

이러한 방식은 어플리케이션 아키텍쳐가 간단하다는 장점이 있지만 특정 서비스에 변경이 있으면 변경 서비스를 포함하고 있는 모든 코드나 구조를 수정해야하는 단점이 발생한다.

이로인해 관리와 운영의 효율성을 높이기 위해 MSA(마이크로 서비스 아키텍쳐, 이하 MSA) 구조라는 방식으로 변해가고 있는 추세이다.

변해가고 있는 구조에 따라 불편한 점이 발생하게 되는데 각 서비스들이 작게 나눠지면서 서로간의 통신, interface의 필요성이 느껴지게 된다.

                                                < 모놀리식 / 마이크로서비스 아키텍쳐>

 

그 불편함을 해결하기위해  떠오르고 있는것이 API Gateway이다.

API Gateway는 API서버 앞단에서 모든 API 서버들의 엔드포인트를 단일화하여 묶어주고 API에 대한 인증과 인가 기능, 여러 서버로 라우팅 하는 고급기능을 추가로 사용 가능하게 한다.

API 게이트웨이의 시작은 MSA가 SOA(서비스 지향 아키텍쳐)에서 시작한것 처럼 ESB (Enterprise Service Bus)에서 시작되었다.

그래서 ESB의 대부분의 컨셉을 많이 가지고 가는데, ESB의 실패와 단점을 보완해서 만들어진 사상이 API 게이트웨이이다.

ESB가 SOAP/XML 웹서비스 기반의 많은 기능을 가지는 구조라면 API 게이트 웨이는 JSON/REST 기반에 최소한의 기능을 처리하는 경량화된 구조로 되어있다.

 

                                                                     <Azure APIM 구조 소개>

클라이언트 애플리케이션의 모든 요청은 앞단의 API 게이트웨이에 도달한 다음, 각 backend 서비스에 전달

API 게이트웨이는 backend 서비스의 외관 역할을 하여 API 공급자는 API 클라이언트들에게 영향을 주지 않고 API 구현을 추상화하고 backend 아키텍처를 이용 및 확장 가능

라우팅, 보안, 제한, 캐싱 및 모니터링을 일관되게 구성

API 게이트웨이 기능

  • API 호출을 수락하고 구성된 backend로 라우팅
  • API 키, JWT 토큰, 인증서 및 기타 자격 증명을 확인
  • 사용 할당량 및 속도 제한을 적용
  • 필요에 따라 정책 설정 대로 요청 및 응답을 변환
  • 구성된 경우 응답을 캐시하여 응답 대기 시간을 줄이고 backend 서비스의 부하를 최소화
  • 모니터링, 보고 및 문제 해결을 위한 로그, 메트릭 및 추적 내보내기

시장 조사 자료

Gartner Research

Ref : https://medium.com/transparent-data-eng/best-api-management-tools-2021-c03344dbd63b

 

 

대상 선정 기준

Gartner Leaders에서 한국지원이 가능한 곳으로 선정

On-promise 형태 지원도 가능

 

Feature List up (List up Table)

  1. Axway
  2. Apigee (Google)
  3. IBM API Connect (IBM)
  4. Kong
  5. Azure API Management (Microsoft)

 

각 API Gateway 특징

Apigee

  • Apigee Edge는 Apigee(미국 소재, 2016년 Google이 인수)가 제공하는 API Proxy 서비스
  • 고유한 Organization 식별자로 가입하게 되면 클라이언트에게 https://{organization}.apigee.net/ 베이스 주소로 REST API 서비스를 제공
  • 클라이언트에게 제공되는 엔드포인트와 다르게 API Proxy 관리 기능은 https://api.enterprise.apigee.com/v1/organizations/{organization}을 베이스 주소로 제공
  • 보안 측면에서 OAuth 2.0 Server 기능을 제공, 클라이언트에게 노출될 엔드포인트와 관리 목적의 엔드포인트로 이원화하여 제공
  • Apigee는 REST API 개발자를 위한 유용한 가이드를 무료 제공

 

 

대표적 기능

  • Security : OAuth, API 키 확인, XML/JSON 위협 보호 및 액세스 제어와 같은 구성 가능한 정책으로 API, 메시지 및 백엔드를 보호
  • API gateway : 클라이언트와 백엔드, 회사 API와 API를 사용하는 개발자 간의 트래픽을 보호하고 조정
  • Developer portal : 애플리케이션 개발자를 유치하고 참여시켜 API를 검색, 탐색, 구매 및 테스트하고 API에 액세스하고 사용하도록 등록
  • API console : 콘솔은 개발자가 API를 배우고 작업하기 용이
  • API lifecycle management : API 설계, 개발, 게시, 배포 및 버전 관리
  • Automated documentation : API 문서 및 소프트웨어 개발 키트의 개발을 자동화
  • Machine learning : 기계 학습 및 분석을 활용하여 실행 가능한 통찰력과 보고서를 생성
  • API monitoring : Apigee는 API 문제 해결, 보안, 최적화를 위한 모니터링 도구를 제공

 

Kong

  • OSS API Gatweway 중 가장 유명하고 성장하고 있는 cloud-native API gateway.
  • 경량화 된 프록시 환경위에 구축 되어 있어, 어디서든지 모든 마이크로 서비스에 성능 및 확장성을 제공.
  • nginx + Lua 기반으로 만들어졌으며, 밀리 초 미만의 대기 시간 지원 및 높은 처리량, 고성능을 지원함.
  • Lua 또는 GoLang으로 플러그인 SDK를 사용하여 확장 가능
  • 대부분의 기능을 플러그인 형태로 제공하며 로드밸런싱, 로깅, 인증, 속도제한, 변환 등을 제공
  • 스타트업과 Global 기업 규모의 회사 및 정부 기관에서 널리 사용되고 있음

 

대표적 기능

  • Authentication
  • Traffic Control
  • Analytics
  • Transformations
  • Logging
  • Serverless
  • Extendable using Plugin architecture

 

Azure APIM (API Management)

 

  • Microsoft Cloud 서비스인 Azure에서 제공하는 API Proxy 서비스
  • 대규모로 백엔드 API를 게시하고 관리할 때 쓰이는 기능
  • JSON, REST 형식도 지원하고, 백엔드 여러 부분의 API를 모아서 보여줘 API 셋에 대해 확장이 용이
  • SmartBear 사의 Ready! 플러그인을 통해 API 전체를 빠르게 테스트하고 생성 가능
  • API 검색 기능을 통해 API 수천개의 API를 쉽고 빠르게 찾아볼 수 있음

 

대표적 기능

  • Routirng  : API 호출을 수락하고 구성된 백 엔드로 라우팅
  • Authentication : API 키, JWT 토큰, 인증서 및 기타 자격 증명을 확인합니다.
  • Traffic Control : 사용 할당량 및 속도 제한을 적용합니다.
  • Transformations : 필요에 따라 정책 문에 지정된 대로 요청 및 응답을 변환합니다.
  • Cache : 구성된 경우 응답을 캐시하여 응답 대기 시간을 개선하고 백 엔드 서비스의 부하를 최소화합니다.
  • Monitoring and Logging : 모니터링, 보고 및 문제 해결을 위한 로그, 메트릭 및 추적 내보내기

 

Summary

API management tools 비교 차트

API management toolsBest ForBussiness SizeDeliveryPricing PlansDeveoloper Portal

Apigee Monetization tools Small, Medidum Proxy, Agent, Hybrid Evaluation: Free.
Team: $500/month.
Business: $2500/month
O
3Scale Developer portal Startups,
Small,
Medium, &
Large
Proxy, Agent, Hybrid Pro: $750/month.
Enterprise: Please contact the company
O
IBM API Management User-friendly Enterprise Proxy, Agent. Lite: Free.
Enterprise: $100/ 100K API calls.
Enterprise 25 M: $40/100K API calls thereafter.

It has four more plans.
O
Akana Lifecycle management tools. Enterprise Proxy, Agent, Hybrid Free Trial
Business: $4000/month.
Enterprise: Please contact the company.
O
Kong Enterprise Open source API Gateway Startups,
Small,
Medium, &
Large
Proxy Free. O

Ref. https://www.softwaretestinghelp.com/api-management-tools/

 

대부분의 API Gateway가 기능상 차이가 크지는 않음.

필요한 기능이 있는지 확인하고 플러그인 또는 커스텀이 잘되는지, 검증된 Reference 참고하여 선정하면 될 것으로 보임.

클라우드 서비스 제공 기업이 portal 또는 console이 그래도 타 tool에 비해 잘 되어있음.

반응형

'Ops > System' 카테고리의 다른 글

FQDN(Fully Qualified Domain Name)  (0) 2021.11.30
DNS(Domain Name System)  (0) 2021.06.25
Linux 네트워크 본딩  (0) 2020.06.12

관련글 더보기

댓글 영역