2019.06.03

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

Serdar Yegulalp | InfoWorld
현대 비즈니스 세계의 엔진 중 하나는 소프트웨어와 AI다. 퍼블릭과 프라이빗 클라우드를 아울러 모든 애플리케이션에는 유용하고 강력하며, 편리한 API가 필요하다. 하지만 API를 빌드하고 유지관리 하는 것은 쉬운 일이 아니다. 오늘날 소프트웨어 분야 전체가 API 관리를 중심으로 움직이고 있는 이유 중 하나다.

대부분의 API 관리 제품은 공통된 기능 세트를 제공한다. 라우팅(Routing), 프록싱(Proxying), 데이터 및 URL 변환, 대시보드와 분석, 정책과 제한, 도큐멘테이션 생성기 같은 개발자 도구가 여기에 해당된다. 

이에 API를 위한 풀 서비스 스윗부터 특정 시나리오를 위한 전문 도구까지, 오픈소스 프로젝트, 상용 제품, 클라우드 서비스, 이런 것들이 섞인 형태 등 인기 있는 10종의 API 관리 도구를 소개한다.
 
ⓒ Image Credit : Getty Images Bank



3스케일(3scale)
원래 폐쇄형 제품이었던 ‘3scale’은 레드햇이 인수하고 2년을 투자한 후 오픈소스 제품으로 다시 태어났다. 오픈소스 프로젝트는 아파치 라이선스 아래 무료로 사용할 수 있다. 레드햇은 상용(유료) SaaS 임플리멘테이션도 공급한다.

3스케일은 여기에서 소개하는 다른 상품과 유사한 기능들을 갖췄다. API 버저닝, 액세스 제어(관리), 속도 제한, 보안 제어, 분석 기능 등을 제공한다. 또 개발자에게 도움이 되는 개발자 포털, API에 대한 도큐먼테이션 생성용 CM 같은 기능과 특징들을 지원한다. 그리고 인보이스 처리, 결제 서비스 통합 등 API 수익화 도구를 기본 제공한다.

3스케일을 프로덕션용으로 설치하려면 오라클 데이터베이스(Oracle Database)와 오픈시프트(OpenShift)가 필요하다. 테스트 목적에서 최소한으로 3스케일을 설치하는 경우에도 싱글 노드 오픈시프트 클러스터인 미니시프트(Minishift)가 필요하다. 이를 감안했을 때, 가능한 빨리 시작하고 싶다면 90일 동안 무료로 사용할 수 있는 3스케일 트라이얼 버전을 사용하는 것이 가장 좋다.

프로 버전 이용 요금은 월 750달러부터 시작된다. 5,000명의 개발자 계정, 50만 API 호출(일일), 최대 3개의 API를 지원한다. 요청하는 경우에만 요금을 공개하는 엔터프라이즈 버전은 이런 제약 대부분을 없앤 버전이다.

앰버서더(Ambassador)
Ambassador는 쿠버네티스와 함께 이용할 수 있도록 설계한 오픈소스 API 관리 시스템이다. 엔보이(Envoy) 프록시 위에 구현되며, 마이크로서비스를 위한 네트워크 추상화를 처리한다. 즉 대부분의 획일적인 작업을 엔보이와 쿠버네티스가 처리한다.

앰버서더의 기능 세트 또한 여기 소개한 다른 API 관리 도구 대부분과 유사하다. URL 리라이팅 및 요청 라우팅, 필터링, 인증 및 액세스 제어, 속도 제한과 타임아웃, 로깅 및 문제해결, 가시성 도구와의 통합 기능을 갖추고 있다.

그러나 앰버서터 기능 대부분은 런타임 관리, 쿠버네티스 및 다른 쿠버네티스 도구(예, Prometheus)와의 통합에 바탕을 두고 있다. 앰버서더는 API 디자인과 서술적 구성(Declarative configuration)을 전적으로 사용자에게 일임한다. API 버저닝 같은 기능을 기본 지원하지 않기 때문에, 독자적으로 처리해야 한다. 일반적인 API 관리 솔루션보다, 쿠버네티스 배포의 일부로 API를 사용할 때 앰버서더가 유독 적합한 이유가 여기에 있다.

Api맨(Apiman)
Apiman(기존 Boss Apiman)는 자바에 기반을 둔 레드햇 오픈소스 프로젝트이다. 여전히 레드햇이 관리하고 있지만, 이 회사의 API 관리 도구가 발전 노력은 3스케일 관련 제품에 집중되고 있다.

Api맨은 API 퍼블리싱 및 관리라는 ‘기본’에 초점이 맞춰져 있다. 이러한 기능에 대해 롤 기반 액세스를 제공하고, API 사용에 대한 정책을 설정하고, 런타임과 빌링 매트릭스를 수집하고, 모든 요소들에 대해 톱다운(하향식) 조직 구조를 생성한다.

Api맨은 보안, 리소스(속도 제한), 데이터 변환, 캐싱, 로깅과 관련, API에 대한 정책을 설정할 수 있다. 정책은 JSON을 통해 구성되기 때문에, 사람은 물론 머신도 정책을 읽고 편집할 수 있다. 사용자 ID나 역할로 보안 정책을 적용할 수 있으며, API를 느슨하게, 또는 엄격하게 통제할 수 있다. URL에서 리비전(Revision) ID로 API를 발행할 수 있다(사용과 연결된 약정 없이), 또는 API 키를 요청해서, 버저닝 방법을 세밀히 관리할 수 있다.

기본 기능을 넘는 기능은 각자 알아서 해야 한다. 예를 들어, Api맨에 여러 플러그인을 사용할 수 있지만, 이들 대부분은 핵심 프로젝트 유지관리자가 제공하는 Api맨 기능성의 작은 익스텐션이다.

드림팩토리(DreamFactory)
DreamFactory API 관리 플랫폼는 PHP에서 라라벨(Laravel) 프레임워크로 구현한 도구이다. DreamFactory는 무료 오픈소스 상품이다. 상업용 버전은 종류가 다양하다(요금 미공개). 이미 PHP에 투자한 개발자, 오픈소스 임플리멘테이션을 깊이 다루기 원하는 개발자에게 적합하다. 드림팩토리는 또 서버 측면에서 Node.js와 파이써과의 스크립팅 통합을 지원한다.

드림팩토리는 모든 제품에서 기본으로 데이터메시(Datamesh)라는 기능을 제공하고 있다. 다양한 데이터베이스 제품을 포함, 여러 이질적인 데이터베이스 호출 결과를 결합, 하나의 API 호출로 결과를 반환할 수 있는 기능이다. 유사하게 여러 데이터베이스의 테이블 업데이트를 하나의 API 호출로 병합할 수도 있다.

드림팩토리 도큐멘테이션은 모든 가용한 서비스를 단 하나의 검색 가능한 일반 목록으로 제공하지 않는다. 카테고리 별로 정보가 분류된다. 따라서 가용한 서비스를 찾기 위해 직접 발품을 팔아야 한다. 

장점도 있다. 특정 유즈 케이스에 대한 ‘하우 투(사용 방법) 비디오가 많이 포함되어 있다. 단순한 애플리케이션을 셋업하는 방법, 여러 데이터 소스에 연결하는 방법 등을 알려주는 비디오이다.

콩(Kong)
Kong은 가장 잘 알려진 API 관리 도구 중 하나이다. 원래 매셰이프 (Mashape ; Kong의 과거 이름)가 자신의 API 마켓 플레이스 제품을 지원하기 위해 개발했던 도구이다. 콩은 오픈소스 에디션, 추가 관리, 모니터링, 개발자 기능이 지원되는 상용 에디션(요금 미공개), 엔터프라이즈급 에디션이 있다. 엔터프라이즈 에디션의 경우, 온프레미스(내부)나 선택한 클라우드 서비스에서 운영할 수 있다. 오픈소스와 엔터프라이즈 제품 모두 많은 정보를 상세히 제공하는 도큐멘테이션을 지원한다.

콩은 쿠버네티스 통합을 위해 인그레스(Ingress) 컨트롤러를 제공한다. 또 서비스 메시를 이용, 기존 서비스에 콩의 기능을 집어 넣을 수 있다. 엔터프라이즈 에디션은 쉽게 새로운 API를 개발하도록 도움을 주고, 개발자들이 API 코드 기반에 익숙해질 수 있는 개발자 포털을 제공한다.

콩은 통상 데이터베이스를 사용하지만, JSON/YAML 구성 파일과 인메모리 스토리지를 사용해 데이터베이스가 없는 모드에서도 실행시킬 수 있다. 단 하나의 최소 노드를 최대 성능으로 운영하고 싶은 사람에게 적합한 도구이다.




2019.06.03

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

Serdar Yegulalp | InfoWorld
현대 비즈니스 세계의 엔진 중 하나는 소프트웨어와 AI다. 퍼블릭과 프라이빗 클라우드를 아울러 모든 애플리케이션에는 유용하고 강력하며, 편리한 API가 필요하다. 하지만 API를 빌드하고 유지관리 하는 것은 쉬운 일이 아니다. 오늘날 소프트웨어 분야 전체가 API 관리를 중심으로 움직이고 있는 이유 중 하나다.

대부분의 API 관리 제품은 공통된 기능 세트를 제공한다. 라우팅(Routing), 프록싱(Proxying), 데이터 및 URL 변환, 대시보드와 분석, 정책과 제한, 도큐멘테이션 생성기 같은 개발자 도구가 여기에 해당된다. 

이에 API를 위한 풀 서비스 스윗부터 특정 시나리오를 위한 전문 도구까지, 오픈소스 프로젝트, 상용 제품, 클라우드 서비스, 이런 것들이 섞인 형태 등 인기 있는 10종의 API 관리 도구를 소개한다.
 
ⓒ Image Credit : Getty Images Bank



3스케일(3scale)
원래 폐쇄형 제품이었던 ‘3scale’은 레드햇이 인수하고 2년을 투자한 후 오픈소스 제품으로 다시 태어났다. 오픈소스 프로젝트는 아파치 라이선스 아래 무료로 사용할 수 있다. 레드햇은 상용(유료) SaaS 임플리멘테이션도 공급한다.

3스케일은 여기에서 소개하는 다른 상품과 유사한 기능들을 갖췄다. API 버저닝, 액세스 제어(관리), 속도 제한, 보안 제어, 분석 기능 등을 제공한다. 또 개발자에게 도움이 되는 개발자 포털, API에 대한 도큐먼테이션 생성용 CM 같은 기능과 특징들을 지원한다. 그리고 인보이스 처리, 결제 서비스 통합 등 API 수익화 도구를 기본 제공한다.

3스케일을 프로덕션용으로 설치하려면 오라클 데이터베이스(Oracle Database)와 오픈시프트(OpenShift)가 필요하다. 테스트 목적에서 최소한으로 3스케일을 설치하는 경우에도 싱글 노드 오픈시프트 클러스터인 미니시프트(Minishift)가 필요하다. 이를 감안했을 때, 가능한 빨리 시작하고 싶다면 90일 동안 무료로 사용할 수 있는 3스케일 트라이얼 버전을 사용하는 것이 가장 좋다.

프로 버전 이용 요금은 월 750달러부터 시작된다. 5,000명의 개발자 계정, 50만 API 호출(일일), 최대 3개의 API를 지원한다. 요청하는 경우에만 요금을 공개하는 엔터프라이즈 버전은 이런 제약 대부분을 없앤 버전이다.

앰버서더(Ambassador)
Ambassador는 쿠버네티스와 함께 이용할 수 있도록 설계한 오픈소스 API 관리 시스템이다. 엔보이(Envoy) 프록시 위에 구현되며, 마이크로서비스를 위한 네트워크 추상화를 처리한다. 즉 대부분의 획일적인 작업을 엔보이와 쿠버네티스가 처리한다.

앰버서더의 기능 세트 또한 여기 소개한 다른 API 관리 도구 대부분과 유사하다. URL 리라이팅 및 요청 라우팅, 필터링, 인증 및 액세스 제어, 속도 제한과 타임아웃, 로깅 및 문제해결, 가시성 도구와의 통합 기능을 갖추고 있다.

그러나 앰버서터 기능 대부분은 런타임 관리, 쿠버네티스 및 다른 쿠버네티스 도구(예, Prometheus)와의 통합에 바탕을 두고 있다. 앰버서더는 API 디자인과 서술적 구성(Declarative configuration)을 전적으로 사용자에게 일임한다. API 버저닝 같은 기능을 기본 지원하지 않기 때문에, 독자적으로 처리해야 한다. 일반적인 API 관리 솔루션보다, 쿠버네티스 배포의 일부로 API를 사용할 때 앰버서더가 유독 적합한 이유가 여기에 있다.

Api맨(Apiman)
Apiman(기존 Boss Apiman)는 자바에 기반을 둔 레드햇 오픈소스 프로젝트이다. 여전히 레드햇이 관리하고 있지만, 이 회사의 API 관리 도구가 발전 노력은 3스케일 관련 제품에 집중되고 있다.

Api맨은 API 퍼블리싱 및 관리라는 ‘기본’에 초점이 맞춰져 있다. 이러한 기능에 대해 롤 기반 액세스를 제공하고, API 사용에 대한 정책을 설정하고, 런타임과 빌링 매트릭스를 수집하고, 모든 요소들에 대해 톱다운(하향식) 조직 구조를 생성한다.

Api맨은 보안, 리소스(속도 제한), 데이터 변환, 캐싱, 로깅과 관련, API에 대한 정책을 설정할 수 있다. 정책은 JSON을 통해 구성되기 때문에, 사람은 물론 머신도 정책을 읽고 편집할 수 있다. 사용자 ID나 역할로 보안 정책을 적용할 수 있으며, API를 느슨하게, 또는 엄격하게 통제할 수 있다. URL에서 리비전(Revision) ID로 API를 발행할 수 있다(사용과 연결된 약정 없이), 또는 API 키를 요청해서, 버저닝 방법을 세밀히 관리할 수 있다.

기본 기능을 넘는 기능은 각자 알아서 해야 한다. 예를 들어, Api맨에 여러 플러그인을 사용할 수 있지만, 이들 대부분은 핵심 프로젝트 유지관리자가 제공하는 Api맨 기능성의 작은 익스텐션이다.

드림팩토리(DreamFactory)
DreamFactory API 관리 플랫폼는 PHP에서 라라벨(Laravel) 프레임워크로 구현한 도구이다. DreamFactory는 무료 오픈소스 상품이다. 상업용 버전은 종류가 다양하다(요금 미공개). 이미 PHP에 투자한 개발자, 오픈소스 임플리멘테이션을 깊이 다루기 원하는 개발자에게 적합하다. 드림팩토리는 또 서버 측면에서 Node.js와 파이써과의 스크립팅 통합을 지원한다.

드림팩토리는 모든 제품에서 기본으로 데이터메시(Datamesh)라는 기능을 제공하고 있다. 다양한 데이터베이스 제품을 포함, 여러 이질적인 데이터베이스 호출 결과를 결합, 하나의 API 호출로 결과를 반환할 수 있는 기능이다. 유사하게 여러 데이터베이스의 테이블 업데이트를 하나의 API 호출로 병합할 수도 있다.

드림팩토리 도큐멘테이션은 모든 가용한 서비스를 단 하나의 검색 가능한 일반 목록으로 제공하지 않는다. 카테고리 별로 정보가 분류된다. 따라서 가용한 서비스를 찾기 위해 직접 발품을 팔아야 한다. 

장점도 있다. 특정 유즈 케이스에 대한 ‘하우 투(사용 방법) 비디오가 많이 포함되어 있다. 단순한 애플리케이션을 셋업하는 방법, 여러 데이터 소스에 연결하는 방법 등을 알려주는 비디오이다.

콩(Kong)
Kong은 가장 잘 알려진 API 관리 도구 중 하나이다. 원래 매셰이프 (Mashape ; Kong의 과거 이름)가 자신의 API 마켓 플레이스 제품을 지원하기 위해 개발했던 도구이다. 콩은 오픈소스 에디션, 추가 관리, 모니터링, 개발자 기능이 지원되는 상용 에디션(요금 미공개), 엔터프라이즈급 에디션이 있다. 엔터프라이즈 에디션의 경우, 온프레미스(내부)나 선택한 클라우드 서비스에서 운영할 수 있다. 오픈소스와 엔터프라이즈 제품 모두 많은 정보를 상세히 제공하는 도큐멘테이션을 지원한다.

콩은 쿠버네티스 통합을 위해 인그레스(Ingress) 컨트롤러를 제공한다. 또 서비스 메시를 이용, 기존 서비스에 콩의 기능을 집어 넣을 수 있다. 엔터프라이즈 에디션은 쉽게 새로운 API를 개발하도록 도움을 주고, 개발자들이 API 코드 기반에 익숙해질 수 있는 개발자 포털을 제공한다.

콩은 통상 데이터베이스를 사용하지만, JSON/YAML 구성 파일과 인메모리 스토리지를 사용해 데이터베이스가 없는 모드에서도 실행시킬 수 있다. 단 하나의 최소 노드를 최대 성능으로 운영하고 싶은 사람에게 적합한 도구이다.


X