소프트웨어

누구나 삼성 IoT 서비스 개발 더 쉽게 ‘SASM’…“오픈소스 없었더라면”

백지영
SASM 개발을 주도한 삼성전자 김대선 프로(사진 왼쪽)과 김선학 프로
SASM 개발을 주도한 삼성전자 김대선 프로(사진 왼쪽)과 김선학 프로
[디지털데일리 백지영기자] “하이 빅스비”

삼성전자의 인공지능(AI) 가상비서 빅스비를 호출해 음성으로도 쉽게 실행할 수 있는 애플리케이션을 만드는 가장 쉬운 방법이 있다. 바로 삼성전자가 지난해 2월 오픈한 개발자 도구 서비스인 ‘SASM(Samsung Automation Studio for Mashup)’를 활용하는 것이다.

‘SASM(사슴)’은 웹 브라우저 접속을 통해 사용할 수 있는 웹 통합개발환경(IDE)으로 실제 컨테이너에서 실행된다. 외부 개발자들이 삼성전자의 서비스를 보다 쉽게 개발할 수 있는 도구를 제공하기 위한 목적으로 만들어졌다.

가장 큰 특징은 삼성전자의 IoT 플랫폼 스마트싱스와 빅스비와 같은 서비스와 각종 REST API 들을 연결해서 개발자 본인이 원하는 로직을 구성할 수 있도록 해준다는 점이다. 개발자 도구 환경 내에서 삼성 서비스와 타 서비스 API를 연결해 쉬운 기능 확장이 가능하다. 이를 통해 스마트싱스 플랫폼에 등록된 기기를 제어할 수 있고, 이와 연계된 자동화 애플리케이션도 만들 수 있다.

◆해외에서 더 많이 사용하는 삼성 IoT 개발자 도구 서비스

SASM은 삼성전자 무선사업부 클라우드 운영그룹의 김대선 프로와 김선학 프로의 주도로 만들어졌다. 약 1년 여의 개발기간을 거쳐 2020년 2월 공식 런칭했으며, 현재 사용자만 2000여명으로 집계된다. 이중 해외 사용자(개발자) 비중이 80%에 달한다.
SASM 서비스 화면
SASM 서비스 화면
김대선 프로는 “SASM은 특히 대학생과 같이 영세한 개발자를 지원하기 위해 만든 개발 도구”라며 “예를 들어 삼성 AI 플랫폼인 빅스비의 경우, 빅스비 마켓플레이스에서 오토메이션 스튜디오 캡슐을 추가하면 음성 명령으로 기능을 실행할 수 있다”고 SASM 개발 배경을 설명했다.

현재 빅스비 구조 상, ‘캡슐’이라는 모듈이 필요한데 SASM을 이용할 경우 개발자 본인이 만든 애플리케이션을 쉽게 호출할 수 있다. 개발자가 직접 캡슐을 만들어 등록시키고 뒷단의 애플리케이션을 연결시킬 필요 없이, 미리 만들어놓은 캡슐을 통해 쉽게 ‘하이 빅스비’와 같은 명령어을 통한 실행이 가능하다.

때문에 한동안 SASM 서비스 런칭이 한국과 미국의 스마트싱즈 커뮤니티에서 화제가 되기도 했다. SASM 서비스를 통해 삼성 IoT 애플리케이션을 쉽게 만들 수 있다는 내용이 회자되면서 IoT 관련 개발자들이 삼성 서비스로 유입되는 효과를 거둘 수 있었다.

대부분의 IT서비스가 그렇듯 SASM 개발에도 오픈소스의 역할이 주효했다. SASM에는 웹 기반의 개발도구를 위해선 오픈소스 노드-레드(Node-RED), 작성된 코드가 동작하기 위한 컨테이너 플랫폼으로는 클라우드 파운드리가 활용됐다.

김 프로는 “개발자 도구를 빠른 시간에 작성하기 위해 오픈소스 선택은 합리적”이라며 “단순히 오픈소스를 활용하는 것 뿐 아니라, 오픈소스 진영에도 우리가 만든 제작물을 다른 개발자들이 사용할 수 있도록 하고 있다”고 말했다.

◆노드-레드 커뮤니티에 오픈소스로 배포…활용 동시에 기여

노드-레드는 IoT 시스템 개발을 지원하는 플로(Flow) 기반의 오픈소스다. 2016년 IBM이 노드-레드를 JS재단에 기여하면서 오픈소스화 됐다. 아파치 라이선스 2.0을 지원하는 노드-레드를 이용하면 별도의 코딩 필요 없이 다양한 IoT 프로토콜, 입출력 연결을 손쉽게 처리할 수 있다.

김 프로는 노드-레드를 기반으로 섬성 서비스를 쉽게 사용할 수 있는 개발 도구를 서비스 형태로 재작성하면서 노드-레드 UI도 서비스에 맞게 개선했다. 현재 아마존웹서비스(AWS)와 마이크로소프트 애저 등 퍼블릭 클라우드 환경에서 제공된다.

특히 지난해 7월에는 이를 노드-레드 커뮤니티에 릴리즈하며 커뮤니티 사용자들이 자사 PC나 서버환경에서도 쉽게 SASM 서비스를 이용할 수 있도록 했다.

SASM은 웹 기반의 개발도구인데, PC나 서버에 이를 설치하고 개발한 애플리케이션을 다운로드하면 좋겠다는 피드백이 많아기 때문이다. 또, SASM은 현재 누구나 사용할 수 있으나, 모두가 이를 경험할 수 있는 것은 아니다.
2019년 네덜란드 헤이그에 열린 클라우드 파운드리 서밋에서 발표 중인 김대선 프로
2019년 네덜란드 헤이그에 열린 클라우드 파운드리 서밋에서 발표 중인 김대선 프로
김 프로는 “SASM을 오픈소스로 배포해 이를 사용하지 못하는 개발자들도 본인들의 환경에서 직접 다운로드해 사용할 수 있도록 플러그인(노드) 형태로 배포했다”고 설명했다.

이를 통해 노드-레드 커뮤니티 입장에선 사용할 수 있는 기능이 더 많아지고, 삼성 입장에선 개발자들이 손쉽게 삼성 서비스를 사용할 수 있도록 저변을 넓힐 수 있게 됐다. 김 프로는 “SASM 서비스 구축을 위해 오픈소스의 도움을 받은 만큼, 오픈소스 진영에 기여하고자 하는 노력의 일환”이라고 말했다.

◆사용자 UX 개선·삼성 서비스 연계 확대 목표

이처럼 노드-레드 기반의 실행 환경에서 만들어진 애플리케이션은 ‘클라우드 파운드리’라는 컨테이너 관리 플랫폼에서 컨테이너로 배포·실행된다. 클라우드 파운드리는 서비스형 플랫폼(PaaS) 구축 플랫폼으로 PaaS 영역에선 가장 높은 성숙도를 가진 것으로 평가된다. 특히 클라우드 파운드리는 컨테이너 환경의 표준으로 자리잡은 쿠버네티스 플랫폼을 수용하며 진화하고 있다.

김 프로는 “SASM 개발 당시 PaaS 솔루션의 성숙도는 클라우드 파운드리가 가장 높았고, 최근 쿠버네티스와 융합하려는 다양한 노력이 진행 중”이라며 “지난해 9월에는 클라우드 파운드리 재단이 매년 진행하는 서밋에서 SASM 사례를 발표하며 개발자 커뮤니티에서 삼성 브랜드 인지도를 높일 수 있었다”고 말했다. 클라우드 파운드리 재단 입장에서도 ‘삼성’이라는 대형 레퍼런스를 확보하며 윈-윈이 가능했다는 설명이다.

한편 SASM은 스마트싱스와 빅스비 이외에 좀 더 쉽게 여러 삼성 서비스를 연계할 수 있도록 확장 지원할 계획이다. 또, 스마트폰에서도 개발이 가능하도록 사용자 UX를 개선할 계획을 갖고 있다.

김 프로는 “현재는 화면 크기 때문에 주로 PC에서 SASM과 같은 개발도구를 활용하지만, 향후 스마트폰에서도 최소 프로토타이핑까지는 할 수 있도록 UX를 개선할 계획”이라며 “앞으로도 개발자들이 보다 쉽게 서비스를 개발할 수 있도록 지원할 것”이라고 포부를 밝혔다.

<백지영 기자>jyp@ddaily.co.kr

※이 기사는 디지털데일리와 정보통신산업진흥원(NIPA) 오픈-업(Open-Up)이 공동 기획한 기사입니다.
백지영
jyp@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널