Offcanvas

How To / SNS / 신기술|미래 / 애플리케이션 / 클라우드

첫인상 | 만인을 위한 API 매시업 툴 '마이크로소프트 플로우'

2016.05.11 Simon Bisson  |  InfoWorld

마이크로소프트 플로우(Flow)는 입력-출력-단순 동작을 연결하는 애플리케이션을 누구나 쉽게 만들 수 있게 해준다.


이미지 : Getty Images Bank

모든 클라우드 애플리케이션이 클라우드 규모여야 하는 것은 아니다. 한 출처로부터 정보를 취하고 최소한으로 처리한 후 전달하는 단순한 전달 및 전환 앱인 경우도 많다. IFTTT와 야후 파이프(Yahoo Pipes) 같은 툴을 이용해 서비스끼리 연동시키는 정보 흐름을 신속하게 구축하고 공유하는 케이스가 이에 해당한다. 그러나 안타깝게도, 야후 파이프는 중단되었으며 IFTTT는 단순한 사물인터넷(Internet of Things) 연동에 집중하고 있다.

이는 오늘날 시장에 IFTTT의 기본적인 1개 입력 및 1개 출력 맵핑보다 더욱 복잡한 연산 체인을 처리할 수 있는 새로운 툴을 위한 자리가 있다는 뜻이기도 하다. 애플리케이션들 그리고 API들 사이에서 이런 종류의 연결을 자동화하기 위해 Node.js에서 마이크로서비스를 구축할 수 있기는 하지만 이는 다소 지나친 선택일 수 있다. 애저 로직 앱스(Azure Logic Apps) 또는 AWS 람다(AWS Lambda)도 마찬가지다.

새 시각 개발 툴인 파워앱스(PowerApps)의 출시와 함께 마이크로소프트가 최근 새 연결 기반 개발 툴인 플로우(Flow)를 공개했다. IFTTT 및 파이프와 마찬가지로 플로우는 출력과 입력을 신속하게 연결하여 입력 시 이벤트로 동작하는 애플리케이션을 개발하고 하나 이상의 서비스로 응답을 전달할 수 있도록 개발됐다.

IFTTT가 트윗(Tweet) 스트림을 스캔하고 특정 콘텐츠를 파일로 저장할 수 있다면, 플로우는 입력을 취해 더욱 복잡한 정보 흐름을 위한 기반으로 활용할 수 있다. 복수의 정보 출처에 쿼리(Query)를 발송할 수 있고, 결과적으로 다중 동작을 처리할 수 있기 때문이다.


마이크로소프트 플로우는 사전정의된 서비스(박스, 다이나믹 CRM 등)와 연결하는 기능을 지원한다. 또는 스웨거(Swagger) 정의 또는 HTTP URL을 통해 퍼블릭 API에 연결시킬 수도 있다.

현재 초기 12개 서비스(그리고 더 많은 API)를 지원하는 마이크로소프트 플로우는 분명 지루한 작업을 자동화하기 위해 개발됐다. 지원되는 서비스로는 트위터(Twitter), 기트허브(GitHub), 세일즈포스(Salesforce), 드롭박스(Dropbox), 슬랙(Slack), 오피스 365(Office 365) 등이 있으며 오피스 그래프(Office Graph)에도 접근할 수 있다.

이런 서비스를 이용해 트위터를 스캔하여 제품에 대한 언급을 찾고 제품 팀을 위한 슬랙 채널로 전달함으로써 해당 팀이 사용자들이 자신의 제품에 관해 무슨 이야기를 하는지 파악하도록 할 수 있다.

입력과 출력 그리고 가정과 결과
마이크로소프트는 다양한 작업을 처리하는 63개의 초기 템플릿을 제공하고 있으며, 모두 커스터마이징이 가능하다. 템플릿들의 종류는 고객 관계 관리, 데브옵스(Devops) 알림에서부터 온라인 생활을 관리하는 방안들, 스토리지와 소셜 미디어, 이메일, 기타 클라우드 서비스를 잇는 것들에 이르기까지 다양한 범위를 아우른다.

필자가 작업해본 과정은 다음과 같다. 일단 필자는 일단 기본 템플릿 중 하나를 지정하여 필자가 전송한 트윗을 취하여 필자의 개인용 원드라이브(OneDrive)에 CSV 파일로 저장하도록 했다. 플로우 수정은 상대적으로 간단하다. 브라우저에서 기본적인 흐름도 형태로 템플릿의 핵심 요소가 제공되며 화면 상단에는 입력이 있고 하단에는 출력이 있다. 블록을 클릭하면 속성을 열 수 있다. 예를 들어, 트위터 블록에서는 표준 트위터 쿼리를 볼 수 있다.


플로우 시작을 돕기 위해 마이크로소프트는 사전제작된 솔루션 라이브러리를 제공한다. 이들은 빠르게 커스터마이징될 수 있으며 사용자 독자적 플로우를 위한 기반 요소로 활용될 수 있다.

플로우와 IFTTT의 큰 차이점은 조건문 지원이다. 예를 들어, 필요한 파일이 없는 경우 사용자 플로우(Flow)가 이를 생성하고 초기 데이터 세트를 위치시키도록 할 수 있다. 일단 생성된 후라면 대체 경로가 해당 파일에 새 데이터를 추가한다. 플로우는 다양한 기본적 조건문 연산자를 제공하지만 상대적으로 복잡한 애플리케이션을 구축하기에도 충분하다. 사용자는 입력, 쿼리, 조건문을 연계하여 입력부터 자신이 선택한 출력까지 플로우 흐름을 제어할 수 있다.

플로우는 융통성이 뛰어나다. 제공된 템플릿 대신 자신만의 플로우를 구축하다 보면 스웨거(Swagger) API 정의를 이용해 임의적인 REST API를 흐름에 신속하게 연계시킬 수 있다는 사실을 발견하게 된다. 또한 슬랙 등의 애플리케이션에서 웹 후크(Hook)로 연결하는 옵션인 HTTP 동작으로 연결하거나 웹 형태를 통해 또는 JSON을 통해 전송되는 데이터를 처리할 수 있다. 기본적인 제어에 한정되지 않는다는 뜻이기 때문에 중요한 기능이다.

또한 파워앱스(PowerApps) 앱에 흐름을 구축해, 자체 UI를 보유하도록 할 수도 있다. 아울러 각 블록을 탐색할 수 있게 해주는 동작별 보고서를 통해 디버깅(Debugging) 작업을 간단히 할 수 있다. 이 보고서는 무엇이 잘못되었는지 그리고 무엇이 잘 되었는지(이 또한 중요하다) 파악할 수 있게 해준다.

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.