API(Application Programming Interface)란 응용 프로그램을 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 비(非)그래픽 인터페이스를 말합니다. 단순하게 설명하자면 서로 분리된 시스템간의 커뮤니케이션 방법이라고 할 수 있습니다. 2000년 초부터 도입된 웹기반 API는 WEB2.0의 사상적 영향을 받아 OpenAPI의 발달로 이어지게 되었습니다. 이후 모바일 서비스의 발달과 클라우드, MSA등의 구조적 변화와 함께 OpenAPI를 활용한 매시업(mash-up) 서비스가 실현되며 PrivateAPI 사용도 늘어나게 되었는데요. API 개념과 발전 내용을 살펴보고 OpenAPI를 활용한 호갱노노와 핀블리의 비즈니스 가치 창출 사례를 살펴봅니다.
API 정의와 성장 히스토리
API는 운영체제(OS)를 제어하기 위한 프로그램 방식으로 1970년대부터 사용되었지만 2000년에 세일즈포스(Salesforce)가 웹기반의 세일즈 자동화 툴을 상용화한 시점을 지금 대세인 웹기반 API(web-based API)의 사용의 시작으로 본다. 웹기반 API는 이미 너무나 오래되고 익숙한 개념이지만, 웹의 사상적 발전에 따라서 새롭고 다양하게 사용되고 있다.
2000년대 초에는 소프트웨어 내부에서의 Private API가 대부분 필요하지 않았는데도 API가 개발되고 공유된 것에는 'Web2.0'의 사상적 영향이 크다. Web2.0이란 개방, 참여, 공유의 정신을 바탕으로 정보가 쌍방향으로 소통하는 웹 기술을 말한다. 기술적으로는 멀리 떨어져 있는 개발자들 간에 정보나 기술이 공유되어 더 많은 소프트웨어가 생산될 수 있는 기반에 대한 고민이 일어났고, 오픈소스 생태계와 API를 통한 정보 공유 기술에 대한 고민들을 하며 OpenAPI 문화가 발달했다.
2010년대 스마트폰이 등장하고 각 OS별 앱(Application) 스토어가 활성화되면서 성장을 하게 된다. 스마트폰에 설치된 SDK기반의 네이티브 앱 클라이언트와 서버가 서로 분리되면서 구조적으로 API 활용이 늘어나게 되고, 개인 개발자들이 소프트웨어를 만들고 유통할 수 있는 앱스토어 생태계가 생겨나면서 2000년대 초반부터 웹기반의 OpenAPI들을 활용한 수많은 앱들이 탄생하였다.
2010년대 후반부터는 점점 클라우드(Cloud)로 인프라가 옮겨지면서 비용에 구애받지 않고 MSA(MicroService Architecture)를 채택할 수 있게 되었고, 이를 통해서 서비스간 영향도를 줄여서 더 빠른 서비스 확장과 개선이 가능해지며 MSA를 통해서 DB와 서버까지 모두 분리가 되면 각각 개선을 해도 영향을 주지 않고 속도가 빨라지면서 자연히 private API의 사용이 늘어나게 되었다.