API 설계·개발·시험 돕는다 '무료 툴 13종'

InfoWorld
RESTful API의 등장 이후 이를 생성, 시험, 관리하도록 돕는 툴들이 다수 등장했다. API 초보에서부터 시간이 빠듯한 전문가들이 이용할 만한 것들이다. API와 관련해 콘셉트부터 생산까지 전반적인 서비스를 받을 수 있으며 대부분은 비용도 무료이다.
 
ⓒ GettyImagesBank


아래는 API로 작업하기 위한 일부 무료 서비스들이다. API 어셈블리 또는 시험 작업을 용이하게 하는 쉽고 빠른 애플리케이션도 포함돼 있다. 시험판으로 시작했다가 나중에 필요해지면 더욱 전문가 수준의 (유료) 서비스로 전환할 수 있는 완전한 기능을 갖춘 API 관리 서비스를 위한 초보자용 티어(Tier)도 있다. 

아마존 API 게이트웨이
AWS의 무료 티어는 개발자들에게  AWS가 제공하는 대부분의 서비스에 대한 무료 액세스를 제공한다. 여기에는 아마존 API 게이트웨이도 포함된다. 무료 아마존 API 게이트웨이는 최대 월 100만 회의 API 호출이 한계이며 1년만 유지되지만 시작하기에는 부족함이 없다.

아마존 API 게이트웨이의 완전한 유료 버전은 트래픽 관리, API 버전 관리, 패키지의 모든 부분 모니터링 등을 통해 아마존 EC2, AWS 람다, ‘기타 웹 애플리케이션’에서 구축한 애플리케이션을 위한 프론트 엔드 API를 개발할 수 있게 해준다. 

API메트릭스
API메트릭스(APImetrics)는 비주얼 API 디자이너, REST 및 SOAP API를 위한 지원(후자에서 전자로의 이동 지원), 여러 개의 API 호출을 순서대로 실행할 수 있는 워크플로 시스템, 모니터링이 필요한 모든 것에 대한 대시보드가 포함된 API 모니터링 및 경보 시스템이다. 

무료 티어는 없지만 해당 기업은 자사의 다양한 서비스 티어에 대한 14일 무료 시험을 제공한다. 최소 요금제는 일 500회, 월 최대 15,500회 호출을 제공하며 월 15달러이다.

어서터블(Assertible)
어서터블을 이용하면 생산 배치된 API를 모니터링하기 위해 간단한 시험이나 어서션(Assertion)을 설정할 수 있다. 또 스웨거(Swagger), 포스트맨(Postman), curl 등의 공통 제3자 포맷에서 API를 가져올 수 있다. 이 밖에도 다양한 기준에 따라 시험을 그룹화하고 다양한 환경 파라미터(시연 vs. 생산)으로 실행하거나 기본 도메인을 벗어나 시험하는 경우 옵션 SSL 검증으로 실행할 수 있다. 사용자는 예약이나 트리거를 통해 어서터블을 실행할 수 있으며 시험 상태를 기트허브에 게시할 수 있다. 

개인 요금제는 무료이지만 2개의 웹 서비스, 서비스당 10회 시험, 1,000개 결과 보관만 허용된다. 유료 요금제는 월 25달러부터 시작되며 사용량 한계가 높아지고 시험을 더욱 자주 수행할 수 있다.

블레이즈미터(BlazeMeter)
블레이즈미터는 실시간 보고를 제공하는 API 부하 시험 서비스다. 지리적으로 분산된 부하 시험도 포함되어 있기 때문에 여러 대륙의 서버에서 트래픽을 생성할 수 있으며 아파치 J미터로 생성된 시험에 대한 지원도 제공된다.

블레이즈미터의 무료 티어는 월 10회 시험(각각 최대 20분)을 실시할 수 있으며, 최대 50명의 동시 사용자, 1개의 공유 부하 생성기, 1주일치 데이터 보관이 허용된다. 유료 요금제는 1,000명 동시 사용자, 연간 200회 시험, 3개월치 데이터 보관을 허용하는 월 99달러부터 시작된다.

Httpbin.org
Httpbin.org는 요청을 전송하는 전단 시험 또는 디버그에 유용한 일련의 HTTP API 종점 응답을 제공한다. 웹 인터페이스를 통해 응답을 구성하는 대신에 URL 파라미터로 구성한다. 이 덕분에 서비스 이용을 쉽게 자동화할 수 있다.

예를 들어, /links/:n 종점을 통해 웹 스크레이퍼를 시험하는 등의 수단으로 n HTML 링크가 있는 웹페이지를 요청할 수 있다. Httpbin은 MIT와 유사한 라이선스에 따라 파이썬 패키지로도 제공된다.

IBM API 커넥트
AWS와 마찬가지로 IBM 클라우드도 개발자에게 무엇이 제공되는지 체험할 수 있는 탄탄한 무료 티어를 제공한다. 단 완전한 기능을 갖춘 생산 애플리케이션을 구축할 만큼 모든 기능을 갖추고 있지는 않다. IBM 클라우드가 해당 무료 티어에서 제공하는 API 관리 툴은 IBM API 커넥트다.


IBM API 커넥트는 본래 API를 생성하고 라이브 코드로 끌어 올리는 툴에 불과했다. 지금은 API 중심의 정책 실행, 디스커버리 촉진, 합성 API 디자인 창작, ‘클라우드 서비스와 기업용 레코드 시스템의 [통합]’을 위한 툴이 포함되어 있다. 

해당 서비스는 월 5만 회 API 호출의 무료 티어가 있으며, 발을 담가 보기에는 충분하다. IBM 클라우드는 비활성 30일 후 모든 무료 티어 서비스를 삭제하므로, 사용하지 않으면 잃게 된다는 점을 기억할 필요가 있다. 

JsonStub
JsonStub은 API 종점 모형을 신속하게 생성할 수 있는 웹 인터페이스이며 데이터를 쿼리하는 전단을 시험하기 위해 정적 텍스트(JSON 응답 등)를 반환한다. 그렇게 복잡하지는 않으며 본래의 의도도 그것이 아니다. JsonStub은 필요할 때 사용하는 티켓이라고 표현할 수 있다. JsonStub 홈페이지에서 “프론트 엔트를 개발하는 동안 백 엔드을 속이라”라고 소개된 것에서도 드러나는 부분이다.

로더(Loader)
마지막 순간에 공개 API에 갑자기 문제가 생기지 않을 것임을 어떻게 확신할 수 있을까? 고부하를 얼마나 잘 견디는지를 시험함으로써 알 수 있을 것이다. 로더의 웹 인터페이스나 API를 통해 대상 호스트의 종점을 설정하면 시험 결과가 실시간으로 브라우저 페이지를 통해 제공된다. 

해당 서비스의 무료 버전은 한 번에 1개의 대상을 1분 동안 시험할 수 있으며 시험 당 최대 1만 개의 시뮬레이션 클라이언트와 2개의 URL을 허용한다. 유료 요금제는 월 99.95달러부터 시작되며 대부분의 사용량 제한이 사라진다.

모커블(Mockable)
모커블은 REST와 SOAP 종점을 모형화한 또 다른 쉽고 간편한 서비스이다. 기본 티어는 영구적으로 무료이며 목(Mock)을 위한 HTTPS 지원이 포함되어 있지만 3개월 안에 사용하지 않은 경로가 삭제된다. 아울러 로그는 24시간 또는 5MB 용량만 유지되고 3명으로 구성된 팀당 최대 10개의 목을 생성할 수 있다. 

한편 돋보이는 장점으로는 사용해 보기 위해 등록할 필요도 없다는 것이다. 관리자 콘솔에 진입하는 순간 임시 계정이 자동으로 생성된다.

목빈(Mockbin)
API 전문 기업 매쉬에이프(Mashape, 현재 콩(Kong))이 제공하는 목빈은 시험을 위해 목(mock) 종점을 생성할 수 있게 해준다. 종점은 아무 HTTP 방식이나 사용하고 결과를 JSON, YAML, XML, HTML 등으로 반환하며 응답에 CORS 헤더를 첨부하고 호출 트래픽을 점검할 수 있다. HAR 포맷의 데이터를 사용해 HTTP 응답도 자동으로 생성할 수 있기 때문에 목들이 라이브 서버에서 반환된 실제 결과와 거의 일치한다. 목빈은 프리 라이선스 오픈소스 프로젝트로도 제공된다.

파이레스티스트(Pyresttest)
‘Python Rest Testing’을 줄여 파이레스티스트(Pyresttest)라 부르며 API 벤치마크 및 REST 시험을 위한 파이썬 툴이다. 시험은 간단한 YAML이나 JSON 포맷으로 정의되며 워크플로에 통합하거나 일반적인 파이썬 프로그래밍 메커니즘으로 확장할 수 있다. 단점: Pyresttest는 파이썬 3에 대한 예비 지원만 제공하며 2016년 이후로 업데이트되지 않았다.

레스트렛 스튜디오(Restlet Studio)
‘API 디자인을 위한 웹 IDE’라 불리는 레스트렛 스튜디오는 API를 일련의 시각적 툴을 이용해 묘사한다. 설정 방법이나 쿼리 파라미터 외에도 API를 위한 자동 생성 스켈레톤 코드와 심지어 자동 생성 클라이언트 SDK가 포함된다. 스웨거와 RAML도 지원된다. 사실 API를 작업하면서 스웨거와 RAML을 전환할 수 있다.

무료 요금제는 1개의 API만 지원하지만 시험을 위한 무제한 호출 수, 10MB의 데이터 보관, 생산 시 1,000회 호출이 제공된다. 그렇다. CI/CD 등에 대한 지원이나 사용자 정의 도메인 이름이 없지만 무료 티어를 사용해 생산까지 배치할 수 있다.

런스코프(Runscope)
런스코프는 API가 제대로 작동하며 유효한 데이터를 반환하고 디버그 가능한지 확인하기 위해 시험하는 웹 기반 툴킷을 제공한다. 런스코프가 자체 시험 제품을 위해 사용하는 포맷을 포함하여 일련의 다른 보편적인 포맷과 함께 스웨거 2.0 API 정의 표준을 사용해 시험 요금제를 가져올 수 있다. 무료 티어는 없지만 모든 요금제에 14일 무료 시험이 제공되고 맞춤형 기업용 티어도 가능하다. ciokr@idg.co.kr