Offcanvas

개발자 / 애플리케이션

"거인 어깨에 올라타기"··· 개발자용 필수 API 15선

2018.08.22 Peter Wayner  |  InfoWorld

거인의 어깨 위에 올라 앉아있었기에 더 멀리 바라 볼 수 있었다고 말한 사람이 아이작 뉴튼이었던가? API는 코드를 작성하는 사람에게는 함축적이고, 풍자적인 인용구와 같은 것이다. API는 프로그래머가 더 멀리 볼 수 있고 거인의 어깨 위에 서있을 수 있게 해준다.



지난 10년간, 개발자 커뮤니티는 공개 API에 집착하게 되었으며, 공개 API의 개발은 계속 폭발적으로 증가하고 있다. 일부 개발자는 멋진 생각이 떠 올라서, 아주 훌륭한 코드를 작성했으며, 그 다음에는 우리가 그 코드를 원격지에서 실행할 수 있게 해주는 웹사이트를 개설함으로써 코드를 공개하기로 결정했다. 과거였다면, 도입 계약, 다운로드, 컴파일 문제, 그리고 거인의 어깨에 서기 위한 끝없는 고통의 시간이 있었을 것이다. 이제는 웹사이트에 몇 가지 JSON을 게시하기만 하면 순식간에 답을 얻을 수 있다.

기술적으로, 대부분의 라이선스 문제가 남아있기는 하지만, 이제는 그런 끝없는 문서에 서명하는 일이 계정을 만들고 버튼을 클릭하는 것으로 간단해졌다. 최초의 배치(Batch)는 대개 무료이며, 이는 개발은 물론이고 출시 초기 과정도 훨씬 간단하게 만들어준다. 테스트는 쉬우며 비용도 들지 않는다. 이 단계가 지나면, 비용에 각별한 주의를 기울여야 할 것이다. 다수 API의 가격은 아주 낮게 책정되어 있지만, 개발한 프로젝트가 입 소문이 나면, 이 작은 액수가 눈덩이처럼 불어날 수 있다.

API는 끊임없이 변화하며 API에 대한 액세스가 결코 항구적이거나 완전히 보장되지 않는다는 점을 인식하는 것 역시 중요하다. 몇몇 영악한 사람이 벤모(Venmo) 거래 내역(Transaction)이 종종 공개된다는 것을 알아내고, 명예스럽다고 할 수 없는 단어로 태그된 거래 내역을 훑어보고 싶어하는 사람을 위한 바이스모(Vicemo) 웹사이트를 개설했다. 때로는 당혹스러운 이런 세부사항들이 대중들에게 공개되어야 할까? 누군가는 프라이버시 침해에 주의를 기울이고 있기를 바란다. 페이스북은 과거에 충분히 주의를 기울이지 않았지만 이제는 페이스북 API가 훨씬 더 적은 정보를 드러내고 있다.

경험 많은 API 개발자들은 더 철저한 인증, 더 뛰어난 보안, 그리고 더욱 신중한 계정관리를 추가함으로써 이런 난처한 사항을 피하고 있다. 일부 API 애호가들은 API를 호스팅하고 있는 중앙 서버 팜에 데이터를 보관하는 것이 분산된 지역에서 인터넷을 떠 돌도록 하는 것보다는 훨씬 더 낫다고 주장하고 있다. 중앙 웨어하우스가 튼튼하게 유지된다면, 데이터도 계속 보호되고 있을 것이다.

이 모든 것은 API를 사용하는 것이 전에 없이 복잡해졌지만, 대부분 관리 가능하다는 것을 의미한다. 대부분의 경우, API가 사용자 대신 관리 작업을 수행할 것이다. 이는 개발자가 인터페이스 뒤에 있는 코드를 애플리케이션과 통합할 수 있는 영특한 방법을 고안해낼 수 있는 여지를 준다. 이제 우리의 눈을 사로잡고 우리가 보유하고 있는 모든 앱을 재구성하고 싶게 만드는 15가지 API를 살펴보자.

슬랙(Slack)
훌륭한 프로그래밍팀이 API에 대한 멋진 아키텍처를 정의할 수 있지만, 진정한 수요의 척도는 사람들이 그 플랫폼을 사용하고 있는지다. 그리고 슬랙의 경우, 점점 더 많은 사무실에서 수용하고 있다. 갈수록 더 많은 팀이 회의를 슬랙 채널로 대체하고 있으며, 이들 팀은 워크플로우를 정의하기 위해 슬랙 메시지를 사용하고 있다.

이는 다른 모든 오피스 도구를 슬랙에 연결하려는 더 많은 수요가 있음을 의미한다. 올바른 채팅 방에 업데이트를 게시해서 해당 팀원이 일이 어떻게 돌아가는지 업데이트를 받을 수 있도록 하기 위해 챗봇 수요도 많다. 업데이트를 게시하기 위한 슬랙의 수신 메커니즘(Incoming Mechanism)은 아주 간단하다. 그것으로 부족하다면, 이벤트와 실시간 메시징에 액세스하기 위한 쌍방향 API도 있다. “우리에게 연락하지 말라” “우리가 당신에게 연락하겠다”고 문서는 말하고 있다.

웹댐(Webdam)
한 기업의 디지털 존재감의 상당 부분은 이미지에 의해 정의되며, 이런 이미지는 저장, 분류, 그리고 게시되어야 한다. 예전에는, 이미지를 여러 개의 폴더가 있는 파일 서버에 넣어두곤 했다. 웹댐은 진일보해서, 관리되고 조직화된 워크플로우가 있는 안전한 클라우드 스토리지를 제공한다. 사진과 삽화는 창작자로부터 파일 형태로 전달되지만, 브랜드를 정의하는 광고, 웹사이트, 그리고 브로셔를 위한 승인 과정을 거치면서 시스템 내부에서 “자산”이 되어간다.

중소기업에 근무하고 있으며 브랜드 이미지를 관리하고 있는 유일한 담당자라면, 많은 파일 공간을 사용해서 혼자 할 수 있을 것이다. 그렇지만, 팀과 함께 작업하기 시작하면, 흐름을 관리하기 위한 도구가 필수적이다. 웹댐 API는 사용자가 자체 내부 코드를 활용하고 이미지를 저장하고 조직화하는 파일 시스템으로 웹댐에 의지할 수 있게 해준다.

링센트럴(RingCentral)
전화는 여전히 기업의 난제이다. 많은 기업은 직원들이 자신의 개인 전화기를 가져오고 책상 위에 있는 고가의 회사 전화기를 거의 무시하는데 적응하기 위해 애를 쓰고 있다. 결국, 개인 휴대 전화는 회의에 참석하지만 회사 전화기는 그렇지 않다. 링센트럴은 웹 인터페이스를 사용해서 회사의 전화 인프라와 개인 그리고 기업의 모바일 전화기를 통합시켜줄 최신 교환기이다. 중요한 고객의 전화를 놓치지 않도록 하기 위해 착신 통화를 전체 작업 그룹과 관리팀에 라우팅할 수 있다.

링센트럴 API는 이런 전화번호와 역할 목록을 조직화하고 최신으로 유지하기 위한 자동화 방식이다. 많은 기업이 직원들의 전화번호를 효율적으로 조직화하기 위해 자사의 입사 (그리고 퇴사) 스크립트를 통합하고 싶어할 수 있다. 이 API는 통화량을 추적해서 분석과 시각화를 사용함으로써 직원들이 통화에 소비하는 시간도 측정할 수 있게 해준다. 더 많은 자동화를 원하는 경우, 챗봇 API는 사용자들에게 중요한 상태 업데이트 정보를 회람한다.

트윌리오(Twilio)
사무실을 중심으로 인프라가 동작하게 하는 것 이상의 전화 통합이 있다. 트윌리오는 사용자의 앱을 전화기의 음성과 문자 기능 즉, “스마트폰”이란 유행어가 등장하기 이전에 우리 전화기에서 할 수 있었던 작업과 더 쉽게 인터페이스 할 목적으로 설계되었다.

누군가에게 메시지를 전해야만 하고 그 사람에게 연락할 수 있는 최상의 방법이 음성 통화인 경우, 그 메시지를 트윌리오의 TwiML API에 넘겨주면 트윌리오가 전화를 걸고, 메시지를 음성으로 변환한 다음, 전화를 받은 사람에게 메시지를 들려준다. 다른 트윌리오 API는 사용자가 문자 메시지를 보내고 전용 트윌리오 번호로 걸려온 음성 전화에 응답할 수 있게 해준다.

이것 외에도 일일이 나열할 수 없는 수 많은 옵션이 있다. 트윌리오의 주된 역할은 최종적으로 대기열로 들어온 전화를 받는 전문 집단을 활용해서 수천 건의 일상적인 통화를 효율적으로 처리할 수 있게 만들어주는 인프라를 구축하는 것이다. 트윌리오는 기존의 전화 옵션 즉, 음성과 문자 메시지를 최우선으로 취급해서 이를 통해 사람들과 더 쉽게 연락할 수 있게 해준다.

왓슨(Watson)
API에 대한 광범위한 관심으로 인해 왓슨이란 브랜드 이름이 IBM 자체보다 더 커졌다. 왓슨은 이미 사용자가 이미지, 소리, 그리고 텍스트를 이해하는데 도움이 되는 약 12가지 정도의 상이한 API를 포함하고 있다. 사용자가 학습 세트를 입력하면 API는 질문에 응답하기에 충분할 정도로 학습을 한다. 시각 인식 API(Visual Recognition API)는 사용자의 이미지를 받아서 그림에 있는 항목들을 분류하는 태그를 적용하기 시작한다.

말투 분석 API(Tone Analyzer API)는 텍스트 중에서 특정 감정을 나타내는 단어를 찾는다. IBM은 이 정보를 챗봇에 보내서 챗봇이 적절하게 동작하게 하라고 권고하고 있다. 자신의 “코그니티브(Cognitive) 앱”을 작성하려면 왓슨 문서, 스타터 키트, 그리고 SDK를 참고하라. 아니면, 코드를 작성하기 전에 API가 어떤 일을 하는지 알아보기 위해 왓슨 API 익스플로러(Explorer)를 둘러보라.
 

훗스위트(Hootsuite)
소셜 미디어에서 자신의 존재를 관리하는 것은 개인에게는 커다란 도전이며, 기업 특히, 크고 절박한 기업에게는 훨씬 더 큰 도전이다. 훗스위트는 기업의 모든 소셜 미디어 계정을 한 곳에 모아 놓은 다음 API를 통해서 이 소셜 미디어 묶음에 대한 액세스를 가능하게 한다. 훗스위트는 사용자의 소셜 미디어 응답을 살펴보고 교차 게시할 수 있게 해주며 사용자의 응답과 새로운 게시물을 체계화할 수 있게 해준다.

훗스위트 API는 차례차례 모든 소셜 미디어 API에 연결해주는 하나의 액세스 포인트를 제공하는 메타 API의 일종이다. 훗스위트 API는 특정 훗스위트 이벤트가 발생할 때마다 호출될 수 있는 한 묶음의 웹후크(Webhook)도 제공한다. 다른 말로 하면, 사용하고 있는 모든 소셜 미디어 API에 뉴스를 푸시할 수 있다.

구글 드라이브(Drive)
구글 문서(Google Docs)는 마이크로소프트 오피스의 대안으로 한층 더 인기를 끌고 있으며, 이는 온라인 생산성 스위트를 사용자의 나머지 스택과 통합하기 위한 더 많은 요구가 있음을 의미한다. 사용자는 구글의 광범위한 구글 드라이브 REST API를 사용해서 구글 문서 파일을 생성하고 공유할 수 있다. 주요 타깃은 통상적인 자동 문서(그리고 다른 문서)를 중앙집중화된 단일 위치에서 관리하기 위한 쉬운 방법을 원하는 기업이다.

물론, 이런 문서가 생성된 뒤에는, 문서에 액세스 가능한 모든 사용자가 문서를 수정, 확장하고 주석을 달 수 있다. 다른 말로 하면, 사람들이 협업하고 어떤 공유 데이터를 이해할 수 있는 중앙집중식 방안을 마련하고 싶은 경우, 기본 문서를 구글 드라이브에 부어 넣기만 하면 나머지 작업은 구글 인프라가 처리한다.

구글 드라이브 API의 수는 지금도 많지만 계속 늘어나고 있다. 상이한 모든 파일 유형(시트, 문서, 슬라이드)에 대해 작업을 하는 모든 사람을 위해 더 많은 기능을 추가할 수 있는 API가 있다. 안드로이드 OS와의 통합도 더 많이 이루어져서, 전체 안드로이드 앱을 만드는 것과 관련된 모든 귀찮은 일 없이 신속하게 스마트폰 앱을 개발할 수 있는 가능성이 열려 있다.

구글 AR
백문이 불여일견 이라면, 지금 바라보고 있는 것을 설명해주는 작은 텍스트 풍선과 세부사항은 얼마나 값질까? AR(Augmented Reality)은 사용자의 카메라가 보고 있는 모든 대상에 이런 생생한 세부사항들을 추가할 기회를 제공한다. 동시에 이런 가상 객체와 도표를 다른 사람과 공유할 기회도 제공한다. 구글은 이런 AR 상호작용을 지원하는 근간을 구축하고 싶어한다.

예를 들어, 구글의 클라우드 앵커 API(Cloud Anchors API)는 안드로이드 앱이 3차원 공간에서 좌표를 표시해서 여러 사용자가 단어, 선, 객체, 그리고 다른 증강 객체들로 이루어진 협업 집합체를 만들 수 있게 해준다. 사용자는 이를 회사 미팅, 협의, 또는 게임에서 사용할 수도 있다. 구글의 라이트 보드(Light Board) 게임은 접속한 사람만 볼 수 있는 현실 세계에 숨겨진 마크업을 이용해서 두 사람이 “AR 공간”에서 보드 게임에 참가할 수 있게 해준다.
 


애저 이뮤터블 블롭 스토리지(Azure Immutable Blob Storage)
컴퓨터에 숨겨진 가장 큰 문제 중 하나는 바이러스, 해커, 그리고 다른 악의를 품은 것들이 데이터를 바꿔 놓는 방법을 쉽게 찾아낸다는 점이다. 이는 하드웨어팀이 디지털 데이터를 바꿀 수 있는 손쉬운 방법을 늘 원하고 있었기 때문에 놀랄 일이 아니다. 하드웨어팀은 더 나아가 어떤 디스크 드라이브 또는 RAM 칩이 데이터를 가장 빨리 바꿀 수 있는지를 놓고 경쟁도 했다.

그렇지만, 이런 디지털 파일을 사용해서 범죄를 해결하거나 회계 장부를 감사하고 싶은 경우라며 어떨까? 이런! 우리 디지털 파일이 법률 그리고 재정 상의 분쟁에 대한 증거를 제시하고 있다고 믿고 싶겠지만, 이런 파일을 신뢰할 수 있을 경우나 이혼한 전처에 의해서만 효과가 있을 것이다. 불행하게도, “디지털”이란 단어는 “편집하기 쉽고” 동시에 “위조하기 쉽다”는 것을 의미한다.

바로 이것이 마이크로소프트가 데이터를 변경할 수 있는 능력을 가지고 있지 않은 시스템인 “이뮤터블 블롭 스토리지 API”를 개발한 이유이다. 블롭(Blob)을 생성하고 읽을 수는 있지만, 수정하거나 삭제할 수는 없다. 그래서 일단 파일이 저장되면, 똑같은 상태를 유지한다. 과연 완벽할까? 세상에 완벽한 것은 없다. 그렇지만, 마이크로소프트는 데이터를 변경하기 위한 가장 쉬운 벡터인 파일 업데이트 기능을 의도적으로 잊어버렸다. 바로 이것이 감사관, 형사, 그리고 골치 아픈 기자들이 조금은 더 편하게 잠들 수 있도록 한다. 데이터의 보유 시간을 자동으로 결정하기 위한 영악한 추가기능도 있다. 불필요한 데이터 정리 작업이 조금 더 간단해졌다.

코인베이스(Coinbase)
비트코인과 다른 암호화폐 세상은 많은 관리자에게 여전히 미지의 영역이자 위험한 호랑이 덫과 상상할 수도 없는 부로 가득 찬 낯설고 이국적인 세상이다. 기업은 이 새로운 개척지로의 탐험 계획을 세워야 할까? 정답은 없다. 뛰어든 시점에 비트코인이 수 십억의 가치가 있을 수도 있고 아무 가치가 없을 수도 있다. 코인베이스는 이 영역을 탐구하기 위한 가장 많은 투자와 지원을 받고 있는 플랫폼 중 한자리를 차지하고 있다. 코인베이스는 실리콘밸리에서 최고의 벤처 투자가들로부터 풍부한 재정 지원을 누리고 있다. 물론, 자금이 보장하는 것은 엇비만, 본인의 재정적인 미래를 다크 웹의 익명 사이트에 맡기는 것보다는 낫다.

비트코인, 이더리움을 비롯한 소수의 더 유력한 토큰 등을 매입, 판매, 저장 또는 단지 조사할 필요가 있는 경우, 코인베이스의 API는 사용자가 자신의 전자 지갑을 스택에 통합할 수 있게 해준다. 좀 더 깊이 들어가고 싶은 경우, 이전에는 GDAX라고 알려졌던 디지털 화폐 교환 플랫폼인 코인베이스 프로를 사용해서 거래 환경을 탐사하거나, 파라덱스(Paradex, 코인베이스가 인수) 중계 플랫폼을 사용해서 전자 지갑간 거래를 시도해 볼 수 있다.

블레이징텍스트(BlazingText)
사진과 비디오가 점점 세력을 키우고 있지만, 인터넷 대부분은 여전히 문자와 단어다. 아마존 세이지메이커(SageMaker)의 블레이징텍스트 알고리즘은 텍스트를 이전에 해당 단어가 어떻게 사용되었는지를 설명하는 데이터로 마크업(Markup)함으로써 단어를 이해하는 데 도움을 준다. 사용자는 텍스트를 입력하고 정서 분석(Sentiment Analysis)에 사용할 수 있는 문맥상의 의미와 객체 분류(Entity Classification)에 대한 벡터를 얻는다. 더 많은 계산 능력이 필요한 경우, 이 알고리즘은 멀티 코어 기기와 GPU 상에서 더 빨리 실행된다.

아마티노(Amatino)
모든 사람은 흔히 “회계”라 불리는 자금 흐름 추적이 그저 초등학교 산수 정도라고 믿고 싶어하지만, 작업을 해본 개발자라면 이 작업이 얼마나 복잡한 것인지를 금방 알아차린다. 아마티노는 사용자가 행운을 기원하며, 수익을 내기에 충분한 매출을 일으킬 수 있는 더 크고 원대한 아이디어에 집중할 수 있도록, 중요하면서도 부수적인 작업 대부분을 처리할 수 있는 API를 제공하고 있는 신생업체다. 말을 바꾸면, 아마티노는 업계 표준 “복식 부기 회계”를 온디맨드 서비스로 제공한다. 아직 알파 단계이기 때문에 아직은 모든 기능이 보장되지 않고 있음에 유의하라.

오픈웨더맵(OpenWeatherMap)
우리는 삶의 많은 부분을 통제할 수 있지만 자연의 가장 강력한 힘은 통제할 수 없다. 우리가 할 수 있는 것이라곤 일기 예보를 켜 놓고 폭풍이 밀려오는 것을 바라 보는 것뿐이다. 이제는 오픈웨더맵을 사용해서 일기 예보 확인의 많은 부분을 자동화할 수 있다.

오픈웨더맵은 20만 곳 이상 지역에 대해 현재와 과거 데이터에 대한 여러 가지 API를 제공하고 있다. 온도와 바람 같은 기본적인 정보가 제공되며, 현재는 자외선 데이터와 대기 오염 같은 몇 가지 데이터 필드를 베타 시험 중이다. 이런 API는 날씨에 의존하는 직업을 지원하는 모든 플랫폼에 도움이 될 수 있는데, 농업이나 건설은 물론, 스포츠, 우드스톡 같은 페스티벌, 그리고 외부에서 진행되는 모든 행사가 여기에 해당한다.

우버(Uber)와 리프트(Lyft)
지난 세기를 살았던 사람이라면 부유한 사람이 하는 궁극의 제스처는 “리무진 서비스”라는 것을 기억해 낼 것이다. 정장을 입고 있는 리무진 기사가 본인의 이름이 적혀있는 표지판을 들고 있는 것만큼 본인이 상승된 지위에 도달했음을 알리는 것도 없다.

우버와 리프트는 이제 사용자의 소프트웨어가 이런 당당한 태도를 자동적으로 보일 수 있게 해주는 API를 가지고 있다. 우버와 리프트 모두 사용자가 가용 차량을 추적해서 사용자의 고객을 위해 나타나게 한다. 기업이 인수증을 추적하고 모든 사용자의 데이터를 체계화하는데 도움을 주는 더 심도 있는 API들도 있다. 기사가 80년대 월 스트리트 영화에서처럼 멋지게 차려 입지는 않겠지만, 원하는 곳으로 갈 수 있을 것이다. editor@itworld.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.