10 가지 최고의 API 관리 도구

현대 비즈니스 세계는 소프트웨어 기반이며 API 기반입니다. 퍼블릭이든 프라이빗이든 모든 애플리케이션은 진정으로 유용하기 위해 강력하고 편리한 API가 필요합니다. API를 구축하고 유지하는 것은 어려운 작업이므로 전체 소프트웨어 클래스가 API 관리를 중심으로 생겨난 것은 놀라운 일이 아닙니다.

대부분의 API 관리 제품은 라우팅 및 프록시, 데이터 및 URL 변환, 대시 보드 및 분석, 정책 및 제한, 문서 생성기와 같은 개발자 도구와 같은 공통 기능을 제공합니다. 여기에서는 API 용 풀 서비스 제품군에서 특정 시나리오를위한 집중 도구에 이르기까지 모든 것을 제공하는 10 가지 인기있는 API 관리 도구 (오픈 소스 프로젝트, 상용 제품, 클라우드 서비스 및 동일한 조합)를 살펴 봅니다.

3 스케일

원래는 비공개 소스 제품이었던 3scale은 약 2 년의 작업 끝에 Red Hat에 인수되어 오픈 소스되었습니다. 오픈 소스 프로젝트는 Apache 라이선스에 따라 자유롭게 사용할 수 있으며 Red Hat은 상업적으로 지원되는 SaaS 구현을 제공합니다.

3scale의 기능은 이번 라운드 업의 다른 제품과 일치합니다. API 버전 관리, 액세스 제어 및 속도 제한, 보안 제어 및 분석을 찾을 수 있습니다. 3scale은 또한 개발자 포털 및 API 문서 작성을위한 CMS와 같은 개발자 친화적 인 기능을 제공합니다. 3scale은 또한 인보이스 발행 및 결제 서비스와의 통합과 같은 API 수익 화를위한 기본 도구를 제공합니다.

프로덕션을 위해 3scale을 직접 설치하려는 경우 Oracle Database 및 OpenShift가 필요합니다. 테스트를위한 최소 3scale 설치에도 단일 노드 OpenShift 클러스터 인 Minishift가 필요하다는 점을 감안할 때 가능한 한 빨리 시작하려면 3scale의 무료 90 일 평가판을 사용하는 것이 가장 좋습니다.

Pro 버전은 5,000 개의 개발자 계정, 매일 500,000 개의 API 호출 및 최대 3 개의 API에 대해 월 $ 750부터 시작합니다. 엔터프라이즈 버전 (요청시 가격 제공)은 이러한 제한의 대부분을 제거합니다.

대사

Ambassador는 Kubernetes와 함께 작동하도록 구축 된 오픈 소스 API 관리 시스템입니다. Ambassador는 마이크로 서비스에 대한 네트워크 추상화를 처리하는 Envoy 프록시를 기반으로 구현되므로 대부분의 무거운 작업은 Envoy와 Kubernetes에서 수행합니다.

Ambassador의 기능 세트는 URL 재 작성 및 요청 라우팅, 필터링, 인증 및 액세스 제어, 속도 제한 및 시간 제한, 로깅, 문제 해결 및 가시성 도구와의 통합과 같은 대부분의 다른 API 관리 도구와 일치합니다.

그러나 Ambassador 기능의 대부분은 런타임 관리 및 Kubernetes 및 기타 Kubernetes 도구 (예 : Prometheus)와의 통합을 중심으로합니다. Ambassador는 API의 설계 및 선언적 구성을 전적으로 사용자에게 맡깁니다. API 버전 관리와 같은 기능은 기본적으로 지원되지 않습니다. 그런 일을 스스로 처리해야합니다. 따라서 Ambassador는 일반적인 API 관리 솔루션이 아닌 Kubernetes 배포의 일부로 API 작업에 가장 적합합니다.

Apiman

Apiman (이전의 "JBoss Apiman")은 Java로 구축 된 Red Hat 오픈 소스 프로젝트입니다. 여전히 Red Hat에서 유지 관리하고 있지만 Red Hat의 API 관리에 대한 활발한 개발의 대부분은 3Scale 제품으로 이동 한 것으로 보입니다.

Apiman은 API 게시 및 관리, 해당 기능에 대한 역할 기반 액세스 제공, API 사용에 대한 정책 설정, 런타임 및 청구 지표 수집, 이러한 모든 요소에 대한 하향식 조직 구조 생성과 같은 기본 사항에 집중합니다.

Apiman은 보안, 리소스 (예 : 속도 제한), 데이터 변환, 캐싱 및 로깅과 관련된 API에 대한 정책을 설정할 수 있습니다. 정책은 JSON을 통해 구성되므로 사람과 컴퓨터 모두에서 읽고 편집 할 수 있습니다. 보안 정책은 사용자 ID 또는 역할별로 적용 할 수 있으며 API를 느슨하게 또는 엄격하게 제어 할 수 있습니다. URL에 수정 ID를 사용하고 사용과 관련된 계약없이 API를 게시 할 수 있습니다. 또는 API 키가 필요하고 버전 지정 방법을 면밀히 관리 할 수 ​​있습니다.

기본을 넘어선 대부분은 여러분의 책임입니다. 예를 들어, Apiman을위한 여러 플러그인을 사용할 수 있지만 일반적으로 핵심 프로젝트 유지 관리자가 제공하는 Apiman 기능에 대한 작은 확장에 해당합니다.

드림 팩토리

DreamFactory API 관리 플랫폼은 PHP의 Laravel 프레임 워크로 구축되었습니다. DreamFactory는 무료 오픈 소스 제품으로 제공되거나 다양한 수준의 상업적 지원 (가격은 공개되지 않음)으로 제공됩니다. 이미 PHP에 투자하고 오픈 소스 구현을 파헤 치고 자하는 개발자에게는 자연스러운 선택입니다. DreamFactory는 또한 Node.js 및 Python과의 서버 측 스크립팅 통합을 제공합니다.

DreamFactory의 "Datamesh"기능은 모든 구현에서 즉시 사용할 수 있으므로 여러 데이터베이스 제품을 포함하여 여러 이기종 데이터베이스 호출의 결과를 결합하고 결과를 단일 API 호출로 반환 할 수 있습니다. 마찬가지로 여러 데이터베이스의 테이블 업데이트를 단일 API 호출로 결합 할 수 있습니다.

DreamFactory 문서에는 사용 가능한 모든 서비스에 대한 단일, 표준, 검색 가능한 목록이 없습니다. 정보는 범주별로 구성되어 있으므로 사용 가능한 항목을 찾으려면 수동 드릴 다운을 수행해야합니다. 장점은 문서에 간단한 애플리케이션 설정 또는 다양한 데이터 소스 연결과 같은 특정 사용 사례에 대한 많은 방법 동영상이 포함되어 있습니다.

Kong은 자체 API 마켓 플레이스 제품을 구동하기 위해 원래 Mashape (Kong으로 이름이 변경됨)에서 만든 가장 잘 알려진 API 관리 도구 중 하나입니다. Kong은 추가 관리, 모니터링 및 개발자 기능이 포함 된 오픈 소스 버전 또는 엔터프라이즈 급 상용 제품 (가격은 공개되지 않음)으로 제공됩니다. 엔터프라이즈 에디션은 온 프레미스 또는 선택한 클라우드 서비스에서 실행할 수 있습니다. 오픈 소스 및 엔터프라이즈 제품에 대한 문서는 풍부하고 상세합니다.

Kong은 Kubernetes 통합을위한 Ingress 컨트롤러와 Kong의 기능을 기존 서비스 배포에 "주입"할 수있는 서비스 메시를 제공합니다. 엔터프라이즈 에디션은 새로운 API의 생성을 용이하게하고 새로운 개발자가 API 코드 기반에 익숙해 지도록하는 개발자 포털을 제공합니다.

Kong은 일반적으로 데이터베이스를 사용하지만 JSON / YAML 구성 파일 및 메모리 내 저장소를 사용하여 데이터베이스가없는 모드에서도 실행할 수 있습니다. 최소 단일 노드 만 실행하지만 최대 성능을 원하는 경우 가장 좋습니다.

KrakenD

Go로 작성된 KrakenD는 기본적인 기능 만 제공하지만 핵심 기능으로 고성능을 자랑합니다. KrakenD는 Go에 내장 된 대부분의 애플리케이션의 경우와 같이 하나의 자체 포함 된 바이너리로 제공됩니다. 또는 소스에서 컴파일하거나 자체 애플리케이션을 빌드하려는 경우 Go 라이브러리로 사용할 수 있습니다.

KrakenD는 손으로 굴 리거나 기계에서 생성 할 수있는 구성 파일을 사용합니다. 속도 제한, 응답 조작, 전달, 엔드 포인트 디버깅, 프로토콜 보안 조치 (예 : 클릭 재킹 방지), 프록 싱, 스터 빙 및 인 메모리 응답 캐싱이 모두 즉시 지원됩니다.

KrakenD 인스턴스는 고 가용성을 위해 클러스터링 될 수 있습니다. 이를 위해 추가 소프트웨어는 필요하지 않으며 KrakenD 자체 만 있으면됩니다. 추가 작업없이 Kubernetes 클러스터 전체에 KrakenD를 배포 할 수도 있습니다. KrakenD GitHub 저장소에서 다양한 타사 미들웨어를 얻을 수 있습니다.

컨설팅 및 교육을 포함한 엔터프라이즈 지원은 KrakenD의 제작자로부터 제공되지만 가격은 공개되지 않습니다.

MuleSoft Anypoint 플랫폼

MuleSoft의 Anypoint 플랫폼은 완전한 제품으로, 단일 상용 제품에서 API 설계, 구축, 호스팅, 관리, 통합 및 개발자 지원을 다룹니다. 

Anypoint를 사용하면 API를 처음부터 개발하거나 다른 MuleSoft 고객이 생성하고 Anypoint Exchange에서 공유 한 기존 커넥터 및 통합을 재사용 할 수 있습니다. 커넥터는 일반 프로토콜 (파일 액세스, HTTP, 이메일), 데이터 변환 용 언어 모듈 (Java, JavaScript), 클라우드 서비스 (Amazon AWS), 상용 애플리케이션 (Salesforce, SAP) 및 오픈 소스 애플리케이션 (MongoDB)에 사용할 수 있습니다.

파트너 또는 대중이 사용할 API를 만드는 사람들을 위해 Anypoint는 API 커뮤니티 관리자를 제공하여 MuleSoft가 해당 API에 대해 "포털"이라고 부르는 웹 UI를 만듭니다. 대화 형 문서화, 개인화 (사용자의 지리적 위치에 따른 맞춤 출력과 같은 기능 포함) 및 API 사용 분석이 모두 포함됩니다.

Anypoint는 Gold, Platinum 및 Titanium의 세 가지 요금제를 제공하며 고객 지원 및 엔터프라이즈 기능 수준에 따라 다릅니다. 세 가지 플랜 모두 무제한 API를 포함하고 "프리미엄"커넥터 (예 : IBM AS / 400 메인 프레임 커넥터)에 대해 추가 요금을 부과합니다.

넷플릭스 줄

Netflix의 엔지니어가 만든 오픈 소스 프로젝트 인 Zuul은 Netflix의 비디오 스트리밍 서비스에 대한 라우팅 요청을 처리하기 위해 사내에서 구축되었습니다. 적어도 넷플릭스가 아닌 상업적인 Zuul 제품이 없기 때문에 Zuul을 가동하고 완전히 직접 관리해야합니다.

Zuul은 Java로 작성되었으며 일반적인 Java 도구 (Gradle, Ivy, Maven)를 사용하여 시작하고 실행합니다. Zuul은 다른 API 관리 시스템에 비해 상대적으로 최소한의 기능 세트를 제공하며 서비스 전반에서 인바운드 요청을 필터링하고 발송하는 데 중점을 둡니다. Zuul은 서비스 검색,로드 밸런싱, 연결 풀링 및 디버깅 기능 ( "요청 패스포트")을 제공하지만 개발자 온 보딩 및 자동 문서화와 같은보다 정교한 기능이 부족합니다.

Zuul은 향후 버전을 위해 계획된 많은 새로운 기능이있는 활성 프로젝트입니다. 예를 들어, 곧 나올 "절전 필터"는 활동량이 많은 기간 동안 CPU를 확보하기 위해 특정 기능을 비활성화합니다.

Tyk

Tyk에는 기본적으로 API 게이트웨이, 분석 도구, 개발 포털 및 관리 대시 보드가 포함됩니다. 또한 공식적으로 출시되기 전에 API를 모의하는 기능, 기본 제공 요청 캐싱 (API 정의에 직접 포함될 수 있음) 및 다양한 HTTP 오류 코드에 대한 응답 템플릿이 포함되어 있습니다.

Tyk는 각각 다른 사용 사례에 대해 4 가지 버전으로 제공됩니다. 커뮤니티 에디션 인 Tyk의 오픈 소스 릴리스에는 프록시, 액세스 제어, 변환 및 로깅을 처리하는 게이트웨이 만 포함됩니다. 직접 기능을 롤링하거나 여러 언어를 지원하는 Tyk의 플러그인 에코 시스템을 활용하여 롤링 할 수 있습니다.

온-프레미스 버전을 사용하면 방화벽 뒤에서 모든 기능을 갖춘 상용 제품을 사용할 수 있습니다. 단일 게이트웨이 라이선스 (기본적으로 개발자 에디션)는 API 호출 제한없이 무료로 사용할 수 있지만 API는 상용 설정에서 사용할 수 없습니다. 상업용 라이선스는 연간 $ 3000부터 시작합니다.

다양한 인기 클라우드 서비스에 사용할 수있는 클라우드 및 다중 클라우드 에디션은 Tyk를 호스팅 서비스로 제공합니다. 하루에 1,000 개의 API 호출을 지원하는 기본 단일 클라우드 버전은 무료로 제공됩니다 (클라우드 서비스 제공 업체가 청구하는 금액과는 별도로). 전문가 수준의 계획은 월 $ 450부터 시작합니다.

WSO2 API 관리자

WSO2 API Manager는 Java로 빌드 된 오픈 소스 제품의 핵심입니다. 이 제품은 상용 지원이 포함 된 온 프레미스 또는 클라우드 호스팅 배포 또는 클라우드 관리 서비스로 제공됩니다.

다양한 배포 옵션을 통해 다양한 관리 시나리오가 가능합니다. 예를 들어, 온 프레미스 WSO2 배포는 클라우드 호스팅 개발자 포털을 통해 정책 및 기타 구성을 적용 할 수 있으며, 변경 사항은 클라우드와 프레미스간에 동기화되거나 클라우드에서 주기적으로 푸시됩니다 (필요한 환경의 경우). 잠김).

WSO2에는 외부 서비스를 연결하는 데 사용할 수있는 약 200 개의 커넥터가 있습니다. Slack, Splunk, Kafka, Redis, Amazon S3 등 대부분이 일반적인 개발자 스테이플입니다.

또 다른 WSO2 기능인 "API 마이크로 게이트웨이"는 특정 종류의 호출이 추가 보안을 받고 지연 시간을 줄 이도록합니다. 예를 들어 게이트웨이를 관리하는 데 사용되는 호출이나 마이크로 서비스간에 라우팅되는 호출은 이러한 방식으로 처리 될 수 있습니다.

WSO2에 대한 새로운 추가 기능은 Kubernetes 용 Istio 서비스 메시와의 통합을 추가합니다. Istio는 관리하는 마이크로 서비스에 의해 노출 된 API를 관리하지 않으므로 WSO2는 Istio에서 사용하는 Envoy 프록시와 통합됩니다.

WSO2의 상용 제품에 대한 가격은 최대 1 백만 API 호출이 포함 된 무료 2 주 평가판으로 시작하여 2 천만 호출에 대해 월 $ 550로 계속되며, 거기에서 맞춤형 구성으로 확장됩니다.