프로그래밍 언어 '자바(Java)'를 만든 기술업계 유명인사 제임스 고슬링이 "번거로운 일은 아마존웹서비스(AWS)와 같은 클라우드 서비스에 맡기고 더 중요한 일을 하라"고 조언했다. 12일 진행된 'AWS서밋 온라인 코리아' 행사 2일차 기조연설 속 독점 인터뷰를 통해 한국 개발자들에게 특별히 당부한 이야기다.
고슬링은 지난 2017년 자신의 페이스북을 통해 AWS에 입사했다고 밝혔다. 현재 그는 AWS 석학 엔지니어(Distinguished Engineer)로서 수년째 AWS 클라우드의 핵심 전략 기술 중 하나인 'AWS IoT 그린그래스(Greengrass)' 프로젝트를 추진하고 있다. AWS서밋 기조연설에서 김용우 AWS 솔루션즈아키텍트 매니저와 고슬링이 주고받은 질의응답을 정리했다.
"서밋에 참석해 주신 여러분 감사드린다. 흥미롭고 유익한 세션이 많이 준비돼 있다. 여러분과 만날 수 있었으면 더 좋았을 텐데 아쉽다. 저는 AWS에서 석학엔지니어로 근무하며 회사 전반에 걸쳐 폭넓은 일을 하고 있다. 여러 프로젝트에 도움과 조언을 주는 역할을 하며, 주로 AWS IoT 그린그래스 프로젝트에 비중을 두고 참여하고 있다. 최근 몇년 IoT 관련 임베디드 기기에 역량을 쏟고 있다. IoT 분야는 정말 흥미로운 분야다. 한국에서도 다양한 기기를 많이 제조하는 걸로 알고 있다. 그래서 이 분야에 관심이 많을 것으로 생각한다. 초대해주셔서 감사한다. 이번 서밋이 많이 기대된다."
Q. 입사한 지 3년 6개월 된 걸로 안다. 근무 기간 AWS의 발전을 지켜보며 느낀 점은.
"15년 전에 AWS를 처음 접했다. 그 땐 아마존EC2와 아마존S3가 서비스의 전부였다. 이후 AWS가 괄목할 성장을 이어오고 있다. 서비스 숫자와 스케일 측면에서 특히 괄목할 만한 성장을 거뒀다. 매우 다양한 방법으로 고객을 돕고 있다. 수십억명을 대상으로 서비스를 제공해야 한다. 그게 AWS 클라우드에서 놀라울 정도로 쉽게 이뤄진다. 수많은 비디오 스트리밍, 문자메시지, 앱 등을 세계 수많은 사람들이 동시에 이용하고 있지 않나. AWS에서 이를 지켜보면서 놀랍다고 생각했다."
Q. 오랫동안 엔지니어로서 기술에 집중해 왔는데 어떻게 그게 가능했나.
"컴퓨팅 측면에서 내가 항상 자극을 받는 것은 툴이다. 아주 다양한 상황에서 툴이 사용된다. 컴퓨터를 쓰면서 한 분야에 지겨워질 때쯤이면, 새로운 툴이 계속해서 나오고, 또 나온다. 지겨워질 틈이 없다. 아주 많은 일이 일어나 모두 살펴봐야 한다. 그게 내게는 큰 즐거움이자 동기부여가 된다."
Q. 자바의 아버지로서, 한국 고객들이 궁금해하는 질문. 자바의 미래는?
"자바는 믿기 힘들 정도로, 놀랍도록 잘해오고 있다. 자바만 있는게 아니라 더 확장돼 자바가상머신(JVM)에 스칼라, 클로저, 코틀린, 그루비 등 구동 언어가 다양하다. 이런 언어들은 모두 정말 멋지다고 생각한다. 이 분야에 생기를 불어넣어 준다. 지루한 API와 라이브러리의 집합이 아니다. 자바가 더욱 성장할 수 있다고 보는 분야가 있다. 자바의 시작은 IoT 애플리케이션 작성을 위한 언어였다. 자바에서 보안과 관련된 많은 이슈가, 또 자바로 작성한 IoT 앱에서 보안 이슈가 정말 잘 해결됐다. 이 부분에서 자바가 더 성장할 수 있을거라 본다. 그간 IoT 앱을 만든다고 하면 아주 복잡한 툴은 필요없다. 그런데 최근 IoT 관련 변화를 보면 앱이 굉장히 복잡해지고 있다. 이제 툴 측면에서 한 단계 도약할 필요가 있다."
Q. 클라우드가 새 표준 플랫폼으로 자리잡고 있다. 개발자에겐 어떤 이점을 주나.
"수많은 이점이 있다. 두 가지를 꼽고 싶다. 가장 큰 장점은 단연 확장성이다. 수천 또는 수백만명이 사용할 시스템을 구축하려고 할 때, 자체 데이터센터에서 이런 인프라를 구축하는 것은 정말 어렵다. AWS는 이를 위한 모든 툴을 갖고 있다. 또 하나 생각할 점은 '24×7(무중단) 서비스'를 어떻게 중단 없이 운영할 것인가다. 모든 컴포넌트를 유지하는 방법을 일일이 다 습득해 운영하려면 골치 아프고, 비용도 많이 소요된다. 데이터베이스, 스토리지, 비즈니스 로직, 서버 등 모든 컴포넌트를 운영해야 한다. 개발자가 비즈니스 자체에 신경 쏟을 시간도 부족한데 여기에 노력을 허비하게 된다. 관련 모든 인력이 운영 방법을 습득해야 하기 때문이다. AWS 서비스의 핵심이 여기에 있다. 24시간 돌아가는 웹사이트 운영 등 차별성이 없지만 모두가 해야 할 일을 하기 위해 여러분이 걱정할 필요가 없다. AWS가 대신할 것이기 때문이다."
Q. AWS의 그린그래스 프로젝트에 대해 더 자세히 설명 부탁한다.
"AWS IoT 그린그래스 프로젝트를 몇 년 맡아왔다. 모든 개발자가 어려워하는 점이 IoT 기기 보안이다. OTA로 (소프트웨어를) 업데이트하고, 견고해야 하며, 텔레메트리(원격측정)가 가능해야 하고, 적절히 관리·배치도 해야 한다. 이런 특징은 IoT 기기에 구현하기 어렵고, 테스트하기도 쉽지 않다. 일이 잘못 됐을 때에만 차이가 드러난다. IoT 앱마다 구현을 위한 조건도 달라, 이를 소화할 수 있는 유연성이 매우 중요하다. AWS IoT 그린그래스는 기기에서 운영되는 소프트웨어와 컴포넌트의 집합에 클라우드서비스가 결합된 것이다. 기기에 운영되는 소프트웨어의 중심에 핵(core)이 존재하는데, 근본적으로 컴포넌트의 수명주기 관리자로 볼 수 있다. 컴포넌트를 어떻게 설치하고 시작하며 운영할지, 오류 복구를 어떻게 하는지를 이해해야 한다. 이 모든 것이 컴포넌트다. OTA도 하나의 컴포넌트다. OTA 업데이트를 다양한 방법으로 구현할 수 있다. curl, apt-get, yum 명령 또는 docker를 사용할 수 있어 유연하다. 자주 쓰는 것을 다루는 컴포넌트가 또 있다. 클라우드로 텔레메트리를 전송하는 방법, 기기를 적절히 관리하는 방법도 다양하다. 관리하는 기기가 십여대든 백만대든 상관 없이, 모든 명령을 기기에 내릴 수 있다. ver7 업그레이드라든지, 절전모드로 바꾸든지, 플릿(fleet·IoT기기 집단)을 세분화해 개별 명령을 내리든지 할 수 있다. 텔레메트리 전송을 간헐적으로, 하루 한 번 보내거나 할 수 있고, 대용량의 텔레메트리를 아마존 키네시스로 스트리밍하는 방식도 가능하다. 이 모든 조각이 컴포넌트로, 골라 쓸 수 있다. 불필요한 비용 지출을 막을 수 있다. 이 모든것이 오픈소스다. 메모리나 성능 때문에 추가비용을 지출할 필요가 없고, 어떤 것이 있는지 살피고 조작하며 재미를 찾을 수 있을 것이다."
Q. 최근 관심있게 지켜보는 기술 주제 중에 한국 개발자들에게 추천할 만한 게 있을까.
"요즘 에지 컴퓨팅(edge computing)에 빠져 있다. AWS에서 근무하며 대부분의 시간을 에지 기기를 다루는 데 쓰고 있다. AWS IoT 그린그래스가 이를 아우른다. 구동하고자 하는 앱이 있다고 하면, 예를 들어 외부 채광에 따라 커튼을 열고 닫아주는 컨트롤러가 있다면, 앱이 이런 기능을 제공하고, OTA 업데이트나 보안 모니터링, 텔레메트리 등을 아주 쉽게 추가할 수 있다. 이런 모든 특징은 IoT 앱이라면 당연히 가져야 하는 것들이다. 그런데 그렇게 생각하지 않는 사람도 꽤 있다. 보안을 간과하는 경우가 많다. 보안을 숨쉬고 살아가는 것과 같은 필수 요소로 생각하며 관심을 가져야 하는데 말이다. 보안은 사실은 매우 어렵다. 보안을 유지하는 것을 특징으로 내세울 것은 아니지만, 보안의 부재는 심각한 문제가 된다. 그렇기 때문에 우리는 기업들이 보안이 매우 뛰어난 임베디드 앱을 더 쉽고 편리하게 구축할 수 있게 돕고 있다."