[기고] API 관리 플랫폼, 선택이 아닌 필수

Photo Image
이범 소프트웨어 AG Korea 이사

우리는 API로 연결된 세상에 살고 있으며 특히 오픈 API를 많이 활용하고 있다. 국내 주요 포털 서비스, 페이스북, 구글, 트위터, 링크드인과 같은 다양한 인터넷 서비스를 이용하려면 간편 로그인 또는 간편 회원가입이 필요하다. 많은 인터넷 서비스 기업들은 OAuth(Open Authorization, 공개 인증) 2.0과 같은 인증/인가 기술 기반의 오픈 API를 이용하여 간편 로그인이나 간편 회원가입 서비스를 제공하고 있다.

우버, 그랩, 에어비앤비 그리고 핀테크 업체들의 다양한 혁신적인 서비스들 및 SaaS(Software as a Service)를 포함한 각종 클라우드 서비스들 또한 오픈 API를 많이 사용하고 있다. API를 활용해 서비스 융복합이 가속화되면서 새로운 비즈니스와 새로운 서비스들이 빠르게 성장하고 있다. 많은 기업들은 비즈니스 혁신을 통한 새로운 비즈니스 창출을 위해 기업 내 민첩성(Agility)을 확보하는 수단으로 API를 고려하고 있다.

그간 국내에는 데이터를 오픈 API로 제공하는 것을 규제하는 다양한 법적 장치들이 존재해 왔고, 이들은 오픈 API 발전에 있어 적지 않은 걸림돌이 됐다. 하지만 최근 오픈뱅킹, 데이터 3법 개정안(개인정보보호법, 신용정보법, 정보통신망법)등의 통과로 API를 통한 플랫폼 사업이 탄력을 받고 있으며, 성장에 대한 기대감도 높아지고 있다. 이제는 더 이상 기술 중심의 회사만 오픈 API를 제공하고 활용하는 시대가 아니다. 오픈 API는 이미 보편화되고 가속화되고 있으며 비즈니스적으로나 기술적으로 핵심 영역이 됐다. 이에 따라 효율적이고 안정적인 API 관리를 위한 플랫폼의 역할이 중요해지고 있다.

오픈 API의 주요 목적은 웹상에서 서비스 제공자가 자신의 서비스 데이터를 제공하는 방법 또는 자신의 서비스 기능들을 이용하는 방법을 폐쇄형이 아닌 개방형으로 제공해 다양한 곳에서 자신의 서비스가 쉽게 사용되고 활성화하는 데 있다. 오픈 API는 다양한 환경(서버, 모바일, 분석 프로그램 등) 및 다양한 프로그래밍 언어에서 쉽게 사용할 수 있도록 자신의 서비스를 HTTP 상에서 REST(Representational State Transfer) 기반으로 인터페이스 서비스를 제공한다.

Photo Image
이미지제공=게티이미지뱅크

사실 기존 웹상의 HTTP 서비스들은 REST 사상을 거의 따르지 않았다. REST는 웹의 창시자 중의 한 사람인 로이 필딩(Roy Fielding)이 2000년 논문에서 소개했다. 기존의 웹(HTTP)의 기능이 제대로 활용되지 못하자 HTTP 기능을 최대한 활용하기 위한 아키텍처로 REST를 소개했다. 당시에는 서비스 지향적인 아키텍처였던 SOAP(Simple Object Access Protocol) 기반의 웹서비스인 SOA(Service Oriented Architecture)가 유행했다.

REST는 SOA와는 다르게 자원 지향적인 아키텍처(Resource Oriented Architecture)로 웹 사이트의 콘텐츠(텍스트, 이미지, 동영상 등)들을 자원(데이터)으로 보고 고유한 URI(Uniform Resource Identifier)를 부여하여 해당 자원에 대해서 CRUD(Create:생성, Read:읽기, Update:업데이트, Delete:삭제) 작업을 HTTP의 기본 명령어(HTTP Method)인 POST, GET, PUT, DELETE를 통해서 처리하자는 것이었다. 이후 웹2.0 때부터 SOAP 기반의 웹서비스보다는 레스트풀(RESTful) 웹서비스가 각광을 받으면서 오픈 API의 기반이 되었다.

지금까지 API는 서비스 자체에 대한 개발에만 집중되어왔으며 거버넌스 측면에서 서비스에 대한 관리와 통제에 대한 관심은 사실 미흡했다. 하지만 점차 많은 서비스들이 API로 연계돼 API 관리를 위한 기능들이 더욱 중요해지고 있다. 사실 API 관리 기능들을 서비스마다 구현한다는 것이 쉬운 일이 아니며, 이로 인해 서비스 자체가 무거워지고 복잡해질 수 있어 API 관리와 통제를 위한 API 관리 플랫폼 도입이 증가하고 있다.

API 생태계(Ecosystem)를 구축하여 잘 유지하고 관리하기 위해서 API 관리 플랫폼이 적극적으로 활용되고 있다. API 관리 플랫폼은 각 서비스들의 API들을 안전하게 노출하며 쉽게 사용할 수 있도록 개발자 포털을 제공하고, API 서비스들이 어떻게 사용되고 운영되고 있는지를 분석하며, 그 외 API의 트렌드 확인 등 API에 대한 전반적인 관리 기능을 제공한다.

API 관리 플랫폼에 필요한 주요한 기능은 API 라이프 사이클 관리, API 패키징(Package)과 플랜(Plan), API 위협 대처, 인증/인가, 변환, 트래픽 관리, API 라우팅, API 과금, API 분석, 개발자 포털 등이다. 이외에도 무정지로 API 관리 정책을 적용하는 기능, API 템플릿(Template)을 이용하여 일관된 방식으로 빠르게 API를 생성하는 기능, 기존의 API들을 순차/병렬로 조합하여 새로운 API를 손쉽게 만들 수 있는 매쉬업(Mashup) 기능, 이벤트와 메시징 기반의 비동기 API 기능, API 정책을 그룹 단위로 적용하는 기능, 팀 단위로 API를 관리할 수 있는 팀워크 기능들이 중요한 요소이다.

Photo Image
이미지제공=게티이미지뱅크

기업 환경에 따라 API 관리 플랫폼에서 고려되어야 할 사항은 기존의 서비스를 쉽게 API 화하는 기능도 중요하다. 온프레미스(On-premise) 환경, 쿠버네티스(Kubernetes)와 오픈시프트(Openshift)와 같은 컨테이너 관리 플랫폼 및 퍼블릭 클라우드와 같은 환경을 잘 지원하는지, 마이크로서비스 아키텍처(MSA:Microservice Architecture) 환경을 위한 다양한 지원(Standalone, Sidecar, Federation, 다양한 Service Mesh 지원 및 AppMesh 지원) 가능 여부 등이다.

기업의 각 서비스를 담당하는 부서가 다르기 때문에 각 부서를 위한 API 게이트웨이를 제공하고 이들을 메인 API 게이트웨이와 묶어 한곳에서 API 서비스를 통합 관리하고 위임할 수 있는 API 페더레이션 기능(API Federation)도 필요하다. DaaS(Data as a Service)를 API를 통해 제공하고자 할 때 REST 자체는 검색에 대한 기능이 없기 때문에 쉽지 않다. 많은 곳에서 DaaS API로 검색 기능이 제공되는 OData, GraphQL과 같은 기술들도 고려된다. API 기술은 끊임없이 진화하고 발전하고 있으므로 API 관리 플랫폼이 API의 새로운 기술들을 잘 지원하고 선도하고 있는 지도 살펴야 한다.

가트너와 포레스터 등 글로벌 분석 전문 기관으로부터 리더로 평가받은 소프트웨어 AG(Software AG)의 웹메소드(webMethods) API 관리 플랫폼은 새롭게 추가되는 다양한 API 기술들을 적극적으로 반영하고 있다. 기업 환경을 위한 최적의 API 관리 플랫폼으로 기업들에서 활용되고 있다.

이범 Software AG Korea 이사