2019.06.03

까다로운 'API 관리' 도우미··· 추천 도구 10종

Serdar Yegulalp | InfoWorld


크라켄D(KrakenD)
고(Go)로 작성된 KrakenD는 필수 기능만 제공하지만, 이런 핵심 기능의 성능이 아주 높다. 크라켄D는 고에 기반을 둔 대부분의 애플리케이션처럼, 단일 독립(Self-contained) 바이너리로 제공된다. 대안으로 소스에서 컴파일링을 할 수 있다. 또 Go 라이브러리를 바탕으로 자신의 애플리케이션을 만들 수도 있다.

크라켄D는 구성 파일을 사용하는 데, 이는 핸드 롤링되거나 머신 생성된 파일이다 속도 제한, 응답 조정, 포워딩, 엔드포인트 디버깅, 프로토콜 보안 대책(예, 클릭재킹 방어), 프록싱, 스터빙, 인메모리 응답 캐싱을 기본 제공한다.

크라켄D 인스턴스를 클러스트화, 높은 가용성을 구현할 수 있다. 별도 소프트웨어 없이 크라켄D 만으로 이렇게 할 수 있다. 또 많은 추가 노력 없이 쿠버네티스 클러스터에 크라켄D를 배포할 수 있다. 또 크라켄D 기트허브 레포지토리에서 써드파티 미들웨어 요소를 가져올 수 있다.

컨설팅과 트레이닝 등이 포함된 엔터프라이즈 지원 서비스도 제공한다(요금 미공개).

뮬소프트 애니포인트 플랫폼(MuleSoft Anypoint Platform)
MuleSoft의 Anypoint Platform은 ‘완전함’을 지향하는 제품이다. API 디자인, 구축, 호스팅, 관리, 통합, 개발자 지원을 단 하나의 상용 제품에서 지원한다. 

애니포인트 를 사용, 아무 것도 없는 상태에서 API를 개발하거나, 다른 뮬소프트 고객이 만들어 애니포인트 익스체인지(Anypoint Exchange)에 공유하고 있는 기존 커넥터와 통합을 재사용할 수 있다. 제네릭 프로토콜(파일 액세스, HTTP, 이메일), 데이터 변환용 언어 모듈(Java 및 JavaScript), 클라우드 서비스(아마존 AWS), 상용 애플리케이션(세일즈포스, SAP), 오픈소스 애플리케이션(몽고DB)에 커넥터를 사용할 수 있다.

파트너나 일반이 사용할 API를 만들고 싶은 사람들을 위해, 애니포인트는 API용 웹 UI를 만들 수 있는 API 커뮤니티 매니저를 제공한다. 뮬소프트는 이를 ‘포털’이라고 부른다. 인터랙티브 도큐멘테이션, 개인화(사용자의 지리적 위치를 토대로 아웃풋을 맞춤화 하는 기능 등), API 사용량 분석 등도 모두 포함되어 있다.

애니포인트는 3가지 요금제로 Gold, Platinum, Titanium 상품을 공급하고 있다. 각각 고객 지원 수준, 엔터프라이즈 기능의 종류가 다르다. 3가지 요금제 모두 무제한 API가 포함되어 있으며, ‘프리미엄’ 커넥터에는 추가 요금이 부과된다(예, IBM AS/400 메인프레임 커넥터).

넷플릭스 줄(Netflix Zuul)
Zuul은 Netflix 엔지니어가 만든 오픈소스 프로젝트이다. 넷플릭스 비디오 스트리밍 서비스에 대한 라우팅 요청을 처리하기 위한 내부용 도구로 개발했다. 상용 버전은 없다. 최소한 넷플릭스는 상용 제품을 공급하지 않는다. 따라서 줄을 각자 배포해 관리해야 한다.

줄은 자바에 기반을 두고 있으며, 공통된 자바 도구들인 그레이들(Gradle), 아이비(Ivy), 메이븐(Maven)을 설정과 운영에 사용한다. 줄은 다른 API 관리 시스템보다 기능의 수가 많지 않다. 서비스의 인바운드 요청 필터링과 디스패칭에 초점이 맞춰져 있다. 줄은 서비스 검색, 로드 밸런싱, 연결 풀링, 디버깅 기능(”request passport”)을 지원한다. 그러나 개발자 온보딩 및 자동 도큐멘테이션 같은 고급 기능이 없다.

줄은 현재 활발하게 개발되고 있는 프로젝트이다. 따라서 향후 새로운 기능이 많이 추가될 예정이다. 활동이 많은 기간, 특정 기능을 비활성화 시켜 CPU 성능을 높일 수 있는 ‘브라운아웃 필터’를 예로 들 수 있다.

타이크(Tyk)
Tyk는 API 게이트웨이, 분석 도구, 개발자 포털, 관리 대시보드 등 많은 기능을 기본 제공한다. 또 API를 공식 배포하기 전 API를 시뮬레이션하는 기능, 요청 캐싱 기능(API 정의에 직접 포함시킬 수 있음), 여러 HTTP 오류 코드에 대한 응답 템플릿 등을 제공한다.

각각 유즈 케이스가 다른 4가지 에디션을 공급하고 있다. 타이크의 오픈소스 릴리스인 커뮤니티 에디션에는 프록싱과 액세스 제어, 변환, 로깅만 처리하는 게이트웨이만 포함되어 있다. 직접 기능을 구현해 배포하거나, 타이크의 플러그인 생태계를 사용할 수 있다. 여러 수 많은 언어를 지원하는 것도 특징이다.

온프레미스 에디션은 방화벽 안에서 완전한 기능을 갖춘 상용 제품을 이용할 수 있다. 단 하나의 개발자 라이선스를 제공하는 개발자 에디션은 무료로 사용할 수 있다. AIP를 상용 환경에 사용할 수 없지만, API 호출에 제한이 없다. 상용 목적의 라이선스는 연간 3,000달러부터 시작된다.

다양한 인기 클라우드 서비스에 사용할 수 있는 호스티드 서비스인 클라우드 및 멀티 클라우드 에디션도 있다. 매일 1,000개의 API 호출을 지원하는 기본적인 단일 클라우드 버전은 무료로 사용할 수 있다(공급자가 부과하는 클라우드 서비스 요금은 제외). 프로(Pro)급 버전은 월 450달러부터이다.

WSO2 API 매니저
WSO2 API Manager는 Java에 기반을 둔 오픈소스 제품이라고 말할 수 있다. 온프레미스나 클라우드 호스팅 배포에 사용할 수 있다. 상용(유료) 지원과 클라우드 관리 서비스가 있다.

여러 다양한 관리 상황에 맞게 다양한 배포 옵션을 제공하고 있다. 예를 들어, 온프레미스 WSO2 배포의 경우, 클라우드에 호스팅된 개발자 포털을 통해 정책이나 구성을 적용할 수 있다. 클라우드와 온프레미스 간 동기화로 변경을 하거나, 클라우드에서 정기적으로 푸시 처리할 수 있다(잠글 필요가 있는 환경).

WSO2에는 외부 서비스를 연결할 수 있는 200여 커넥터가 있다. 개발자들이 많이 사용하는 것과 관련이 있다. 슬랙(Slack), 스플렁크(Splunk), 카프카(Kafka), 레디스(Redis), 아마존 S3 등이 여기에 해당된다.

또 특정 종류의 호출에 추가적인 보안, 더 낮은 레이턴시를 적용할 수 있는 API 마이크로게이트웨이라는 기능도 있다. 예를 들어, 게이트웨이를 관리하는 호출, 마이크로서비스 간 라우팅 되는 호출을 이런 식으로 처리할 수 있다.

WSO2의 새로운 애드-온은 쿠버네티스용 이스티오(Istio) 서비스 메시와의 통합을 지원한다. 이스티오는 자신이 관리하는 마이크로서비스가 노출시키는 API를 관리하지 않는다. 따라서 이스티오가 사용하는 엔보이 프록시와 WSO2를 통합해야 한다.

WSO2의 상용 제품에는 2주간 무료로 사용할 수 있는 트라이얼 버전이 있다. 최대 100만 개의 API 호출을 지원한다. 2,000만 호출은 월 550달러이다. 이런 상품부터 맞춤형(Bespoke) 구성 상품까지 다양한 상품을 공급하고 있다. ciokr@idg.co.kr
https://wso2.com/api-management/cloud/#pricing




2019.06.03

까다로운 'API 관리' 도우미··· 추천 도구 10종

Serdar Yegulalp | InfoWorld


크라켄D(KrakenD)
고(Go)로 작성된 KrakenD는 필수 기능만 제공하지만, 이런 핵심 기능의 성능이 아주 높다. 크라켄D는 고에 기반을 둔 대부분의 애플리케이션처럼, 단일 독립(Self-contained) 바이너리로 제공된다. 대안으로 소스에서 컴파일링을 할 수 있다. 또 Go 라이브러리를 바탕으로 자신의 애플리케이션을 만들 수도 있다.

크라켄D는 구성 파일을 사용하는 데, 이는 핸드 롤링되거나 머신 생성된 파일이다 속도 제한, 응답 조정, 포워딩, 엔드포인트 디버깅, 프로토콜 보안 대책(예, 클릭재킹 방어), 프록싱, 스터빙, 인메모리 응답 캐싱을 기본 제공한다.

크라켄D 인스턴스를 클러스트화, 높은 가용성을 구현할 수 있다. 별도 소프트웨어 없이 크라켄D 만으로 이렇게 할 수 있다. 또 많은 추가 노력 없이 쿠버네티스 클러스터에 크라켄D를 배포할 수 있다. 또 크라켄D 기트허브 레포지토리에서 써드파티 미들웨어 요소를 가져올 수 있다.

컨설팅과 트레이닝 등이 포함된 엔터프라이즈 지원 서비스도 제공한다(요금 미공개).

뮬소프트 애니포인트 플랫폼(MuleSoft Anypoint Platform)
MuleSoft의 Anypoint Platform은 ‘완전함’을 지향하는 제품이다. API 디자인, 구축, 호스팅, 관리, 통합, 개발자 지원을 단 하나의 상용 제품에서 지원한다. 

애니포인트 를 사용, 아무 것도 없는 상태에서 API를 개발하거나, 다른 뮬소프트 고객이 만들어 애니포인트 익스체인지(Anypoint Exchange)에 공유하고 있는 기존 커넥터와 통합을 재사용할 수 있다. 제네릭 프로토콜(파일 액세스, HTTP, 이메일), 데이터 변환용 언어 모듈(Java 및 JavaScript), 클라우드 서비스(아마존 AWS), 상용 애플리케이션(세일즈포스, SAP), 오픈소스 애플리케이션(몽고DB)에 커넥터를 사용할 수 있다.

파트너나 일반이 사용할 API를 만들고 싶은 사람들을 위해, 애니포인트는 API용 웹 UI를 만들 수 있는 API 커뮤니티 매니저를 제공한다. 뮬소프트는 이를 ‘포털’이라고 부른다. 인터랙티브 도큐멘테이션, 개인화(사용자의 지리적 위치를 토대로 아웃풋을 맞춤화 하는 기능 등), API 사용량 분석 등도 모두 포함되어 있다.

애니포인트는 3가지 요금제로 Gold, Platinum, Titanium 상품을 공급하고 있다. 각각 고객 지원 수준, 엔터프라이즈 기능의 종류가 다르다. 3가지 요금제 모두 무제한 API가 포함되어 있으며, ‘프리미엄’ 커넥터에는 추가 요금이 부과된다(예, IBM AS/400 메인프레임 커넥터).

넷플릭스 줄(Netflix Zuul)
Zuul은 Netflix 엔지니어가 만든 오픈소스 프로젝트이다. 넷플릭스 비디오 스트리밍 서비스에 대한 라우팅 요청을 처리하기 위한 내부용 도구로 개발했다. 상용 버전은 없다. 최소한 넷플릭스는 상용 제품을 공급하지 않는다. 따라서 줄을 각자 배포해 관리해야 한다.

줄은 자바에 기반을 두고 있으며, 공통된 자바 도구들인 그레이들(Gradle), 아이비(Ivy), 메이븐(Maven)을 설정과 운영에 사용한다. 줄은 다른 API 관리 시스템보다 기능의 수가 많지 않다. 서비스의 인바운드 요청 필터링과 디스패칭에 초점이 맞춰져 있다. 줄은 서비스 검색, 로드 밸런싱, 연결 풀링, 디버깅 기능(”request passport”)을 지원한다. 그러나 개발자 온보딩 및 자동 도큐멘테이션 같은 고급 기능이 없다.

줄은 현재 활발하게 개발되고 있는 프로젝트이다. 따라서 향후 새로운 기능이 많이 추가될 예정이다. 활동이 많은 기간, 특정 기능을 비활성화 시켜 CPU 성능을 높일 수 있는 ‘브라운아웃 필터’를 예로 들 수 있다.

타이크(Tyk)
Tyk는 API 게이트웨이, 분석 도구, 개발자 포털, 관리 대시보드 등 많은 기능을 기본 제공한다. 또 API를 공식 배포하기 전 API를 시뮬레이션하는 기능, 요청 캐싱 기능(API 정의에 직접 포함시킬 수 있음), 여러 HTTP 오류 코드에 대한 응답 템플릿 등을 제공한다.

각각 유즈 케이스가 다른 4가지 에디션을 공급하고 있다. 타이크의 오픈소스 릴리스인 커뮤니티 에디션에는 프록싱과 액세스 제어, 변환, 로깅만 처리하는 게이트웨이만 포함되어 있다. 직접 기능을 구현해 배포하거나, 타이크의 플러그인 생태계를 사용할 수 있다. 여러 수 많은 언어를 지원하는 것도 특징이다.

온프레미스 에디션은 방화벽 안에서 완전한 기능을 갖춘 상용 제품을 이용할 수 있다. 단 하나의 개발자 라이선스를 제공하는 개발자 에디션은 무료로 사용할 수 있다. AIP를 상용 환경에 사용할 수 없지만, API 호출에 제한이 없다. 상용 목적의 라이선스는 연간 3,000달러부터 시작된다.

다양한 인기 클라우드 서비스에 사용할 수 있는 호스티드 서비스인 클라우드 및 멀티 클라우드 에디션도 있다. 매일 1,000개의 API 호출을 지원하는 기본적인 단일 클라우드 버전은 무료로 사용할 수 있다(공급자가 부과하는 클라우드 서비스 요금은 제외). 프로(Pro)급 버전은 월 450달러부터이다.

WSO2 API 매니저
WSO2 API Manager는 Java에 기반을 둔 오픈소스 제품이라고 말할 수 있다. 온프레미스나 클라우드 호스팅 배포에 사용할 수 있다. 상용(유료) 지원과 클라우드 관리 서비스가 있다.

여러 다양한 관리 상황에 맞게 다양한 배포 옵션을 제공하고 있다. 예를 들어, 온프레미스 WSO2 배포의 경우, 클라우드에 호스팅된 개발자 포털을 통해 정책이나 구성을 적용할 수 있다. 클라우드와 온프레미스 간 동기화로 변경을 하거나, 클라우드에서 정기적으로 푸시 처리할 수 있다(잠글 필요가 있는 환경).

WSO2에는 외부 서비스를 연결할 수 있는 200여 커넥터가 있다. 개발자들이 많이 사용하는 것과 관련이 있다. 슬랙(Slack), 스플렁크(Splunk), 카프카(Kafka), 레디스(Redis), 아마존 S3 등이 여기에 해당된다.

또 특정 종류의 호출에 추가적인 보안, 더 낮은 레이턴시를 적용할 수 있는 API 마이크로게이트웨이라는 기능도 있다. 예를 들어, 게이트웨이를 관리하는 호출, 마이크로서비스 간 라우팅 되는 호출을 이런 식으로 처리할 수 있다.

WSO2의 새로운 애드-온은 쿠버네티스용 이스티오(Istio) 서비스 메시와의 통합을 지원한다. 이스티오는 자신이 관리하는 마이크로서비스가 노출시키는 API를 관리하지 않는다. 따라서 이스티오가 사용하는 엔보이 프록시와 WSO2를 통합해야 한다.

WSO2의 상용 제품에는 2주간 무료로 사용할 수 있는 트라이얼 버전이 있다. 최대 100만 개의 API 호출을 지원한다. 2,000만 호출은 월 550달러이다. 이런 상품부터 맞춤형(Bespoke) 구성 상품까지 다양한 상품을 공급하고 있다. ciokr@idg.co.kr
https://wso2.com/api-management/cloud/#pricing


X