• ZDNet USA
  • ZDNet China
  • ZDNet Japan
  • English
  • 지디넷 웨비나
뉴스
  • 최신뉴스
  • 방송/통신
  • 컴퓨팅
  • 홈&모바일
  • 인터넷
  • 반도체/디스플레이
  • 카테크
  • 헬스케어
  • 게임
  • 중기&스타트업
  • 유통
  • 금융
  • 과학
  • 디지털경제
  • 취업/HR/교육
  • 인터뷰
  • 인사•부음
  • 글로벌뉴스
창간특집
인공지능
배터리
컨퍼런스
칼럼•연재
포토•영상

ZDNet 검색 페이지

'윤석찬'통합검색 결과 입니다. (62건)

  • 작성자
    • 제목
    • 제목 + 내용
    • 작성자
    • 태그
  • 1년 이전
    • 3개월
    • 1년
    • 1년 이전

서버리스 인공지능 시대를 열다

아마존웹서비스(AWS)는 기존 서버 기반의 애플리케이션을 함수 단위로 쪼개서 실행할 수 있는 AWS 람다(Lambda) 서비스를 2014년에 출시하면서, 서버리스(Serverless) 아키텍처 시대를 열었다. 초기에는 AWS 자원의 변경이 일어나는 이벤트에 따라 간단한 동작을 수행하려는 요구 사항에 맞추어 출발했다. 하지만, 애플리케이션을 배포 및 운영해야 할 서버의 존재가 없어짐에 따라, 다양한 아이디어가 쏟아져 나왔다 아마존API 게이트웨이 서비스와 AWS가 원래 (서버 관리 필요 없이) 제공하던 아마존 S3, 다이나모DB 같은 빌딩 블록을 이용하여 서버리스 애플리케이션 모델을 구성할 수 있게 되었다.AWS는 클라우드 기반 기계 학습과 딥 러닝 기술을 통해 다양한 사용 사례 및 요건을 해결할 수 있는 AI 서비스 제품군을 제공하고 있다. 앞서 살펴 본, 아마존 머신러닝, 딥러닝 AMI 및 딥러닝 클러스터 구성 템플릿, 클라우드에 최적화된 MXNet 같은 오픈소스 딥러닝 엔진 등이 해당된다.AWS는 이러한 플랫폼을 이용한 인공지능에 대한 맞춤형 솔루션이 필요하지 않지만, 자신의 애플리케이션에 인공지능 기능을 활용하고자 하는 개발자라면 누구나 사용할 수 있도록 완전 관리형(Full Managed) 서비스를 제공한다. 개발자는 아마존 AI 서비스를 통해 자연어 이해(NLU), 자동 음성 인식(ASR), 비주얼 검색 및 이미지 인식, 텍스트 음성 변환(TTS), 기계 학습(ML) 기술을 이용할 수 있다. 이를 통해 개발자들은 API 호출로 스마트한 앱을 빠르게 개발하고 배포하여, 사용자 경험 향상과 비즈니스 가치를 실현할 수 있다.■ 서버리스 AI 서비스를 위한 3종 세트아마존 렉스(Lex)는 음성 및 텍스트를 사용해 대화형 인터페이스를 모든 애플리케이션에 구현하는 서비스다. 아마존 렉스는 음성을 텍스트로 변환하는 자동 음성 인식(ASR)과 텍스트의 의도를 이해하는 자연어 처리(NLU) 등과 같은 첨단 딥 러닝 기능을 함께 제공한다. 이를 통해 사용자 경험을 증진하고 생생한 대화형 인터페이스를 제공하는 애플리케이션을 구축할 수 있다. 현재 아마존 알렉사에 탑재되는 것과 동일한 딥 러닝 기술을 사용한 아마존 렉스는정교한 자연어 대화봇(챗봇)을 빠르고 쉽게 개발할 수 있으며, AWS 람다와 아마존 다이나모DB 등 서버리스 빌딩 블록을 통해 개발된 애플리케이션을 페이스북 채팅에도 바로 적용할 수 있다.미국 오하이오주 공공 의료 서비스인 오하이오헬스(OhioHealth)는 "아마존 렉스를 활용하여 환자에게 더 나은 정보를 적시에 제공하고 있다. 이 혁신적인 애플리케이션은 고객에게 향상된 환경을 제공하는 데 큰 도움이 되고 있다"고 밝혔다.아마존 리코그니션(Rekognition)은 애플리케이션에 이미지 분석을 쉽게 추가할 수 있는 서비스다. 이미지 내 피사체, 장면, 얼굴을 분석하거나, 얼굴을 검색하거나 비교할 수 있다. 매일 수십억 개가 업로드되는 프라임 포토(Prime Photos)의 이미지들을 분석하기 위해 아마존의 컴퓨터 비전 과학자들이 개발한 이 서비스는 성능이 검증되었을 뿐만 아니라 확장성까지 뛰어난 딥 러닝 기술을 기반으로 하고 있다. 이 서비스는 심층 신경망 모델을 사용하여 이미지 속의 수많은 객체와 장면을 탐지하고 태깅하며, 개발자는 아마존에서 새로운 인식 라벨과 안면 인식 기능을 지속적으로 업데이트 받을 수 있다.아마존 폴리(Polly)는 텍스트를 생생한 음성으로 변환하는 서비스로서 고급 딥러닝 기술을 사용하여 실제 사람 목소리처럼 음성을 합성한다. 24개 언어로 47가지의 실제 음성이 포함되어 있어서 여러 국가에 따라 원하는 음성을 선택하여 음성 지원 애플리케이션을 개발할 수 있다. 라이선스 규정도 간단하여 폴리의 음성 오디오를 캐싱 및 저장하여 오프라인에서 재생하거나 재배포하는 것도 가능하다. 예를 들어, '허클베리핀의 모험'이라는 책을 MP3 포맷의 오디오 북으로 변환할 수 있으며, 그 비용은 2.4달러 정도에 불과하다.■ 서버리스 인공지능은 진화 중서버리스 AI는 클라우드 애플리케이션에만 국한되지 않고 고성능 연산을 위한 플랫폼에서도 적용할 수 있다. 예를 들어, 병렬 처리를 통해 모델 선택 및 하이퍼 매개 변수 최적화를 가속화하기 위해 AWS 람다를 사용할 수 있다. AWS 람다 서비스는 분산된 병렬 처리가 가능하여, 실시간 데이터 처리와 광범위한 데이터 분석을 위한 매우 다양한 서비스로 입증되었다.예를 들어, 맬웨어 분석 및 침입 탐지 서비스를 제공하는 보안 업체인 파이어아이는 수십 억 건의 데이터를 AWS 람다로 분석하고 있다. 대개 대용량 하둡(Hadoop) 클러스터가 필요한 맵/리듀스(Map/Reduce) 작업을 AWS 람다를 활용하여 구현하였다. AWS 람다 함수 호출을 계단식으로 호출함으로써 아마존 S3에서 데이터를 저장 처리하고, 다시 호출하는 방식을 통해 진행하였다. 기존에 아마존 EC2에서 엘라스틱서치(Elastic Search)를 사용하던 것을 AWS 람다로 옮긴 이후 똑같은 성능에도 비용을 80 % 가량 줄였다. 이는 서버리스 환경에서 대용량 데이터 처리를 수행 할 수 있는 좋은 사례이다.AWS 람다를 MXNet과 함께 사용하여 머신 러닝 및 딥러닝에서 간편성과 유연성을 제공할 수 있는 실험 사례도 있다. 여기에서는 이미지넷(ImageNet) 우승 모델인 18 계층의 심층 신경망 네트워크를 통해 이미지 라벨을 예측하는 레지듀얼네트워크(Residual Network)을 이용하여 샘플 응용 프로그램을 만들었다.AWS 람다에서 MXNet 라이브러리를 직접 컴파일하고 구축한 후, 4,495 개의 UCI Optdigits 훈련 데이터 세트 및 다른 1,125 개의 예제를 사용한 결과, EC2 인스턴스보다 5배 정도 속도가 빨라졌다. (오류율은 0.04로 같으면서도 AWS 람다 방식이 47초, 컴퓨팅 최적화된 C3.large인스턴스가 242초가 걸렸다.)또한, 이를 글로벌 수준에서 처리하기 위한 확장성을 고려한 벤치마킹에서도 평균 지연 시간이 1.18 초로서 매우 낮았다. 라이브러리 및 코드 샘플은 mxnet-Lambda GitHub 저장소에서 살펴 볼 수 있다.최근 인공지능 연구는 CPU/GPU 등 대용량 컴퓨팅 자원, 빠른 딥러닝 엔진 선택, 확장성 높은 클러스터 구성 등으로 인해 더욱 민첩한 결과를 얻기를 원한다. 프로세스가 더 빨라질수록 같은 시간에 모델에서 훈련할 수 있는 데이터가 많아진다. 시스템 작동이 빨라질수록 단위 시간당 더 많은 복잡성을 모델링 할 수 있다. 이를 통해 개발자는 더 빠르게 모델 정확성과 성능, 변경 사항, 최적화를 이룰 수 있어 행복하게 연구할 수 있다. 서버리스 AI로의 진화는 이러한 모든 변화에 대한 최고의 선택지가 될 수 있다.앞서 언급한 대로 아마존 AI 플랫폼은 다양한 스펙트럼의 요구 사항을 가진 인공지능 연구자나 개발자에게 다양한 선택 옵션을 제공한다. 클라우드 기반 인공지능 연구는 물리 서버 관리, 구매, 클러스터 운영에 대한 물리적 혹은 시간적 제약을 없애고, 데이터 크기, 처리 시간, 지속적 모델 개발, 훈련에 필요한 균형 있는 대안을 제공하는 방향으로 발전하고 있다.

2017.04.03 11:02윤석찬

대용량 인공지능 플랫폼을 개발자들에게

아마존은 사업 초기부터 인공 지능에 투자해 왔다. 아마존닷컴의 초창기 홈페이지를 보면 'Eyes & Editors'라는 기능이 있었는데, 이는 좋아하는 저자의 신규 서적에 대해 자동 검색 및 알림을 해 주는 에이전트 기반 서적 추천 엔진이다. 이미 2006년에 이러한 사용자 리뷰 및 행동 기반 추천을 통해 총 판매액의 35%가 추천 시스템에서 발생했다고 한다.최근에는 머신 러닝 및 딥러닝 기법을 물류센터에 도입하기도 했다. 사용자가 물건을 온라인 장바구니에 담기만 해도 주문자의 위치, 상품의 위치와 포장 및 운송 경로를 자동으로 예측하여, '고객이 주문 전에 배송 계획 예측'하는 시스템을 운용하고 있다. 매 주간 총 500억회 이상 기계 학습을 기반한 예측을 하고 있다.이러한 예측을 기반으로 전 세계 아마존의 물류 센터 중 13 곳에는 시범적으로 키바(KIVA)라는 무인 로봇을 도입했다. 이 로봇은 배송 물품을 자동으로 계산하고 운반해서 포장하는 직원 앞에 순차적으로 놓아 준다. 그 결과 기존 1시간 이상 걸리던 물류 순환 속도를 15분으로 단축하고, 재고 공간 50% 향상, 운영 비용 20% 개선의 효과를 거두었다.재미있는 점은 아마존 물류 센터에 상품을 보관하는 선반에는 크고 작은 다양한 물건이 무작위로 놓여져 있다. 사람이 직접 배송 물품을 포장하기 전에, 로봇으로 인해 예측된 물품이 옮겨지게 되는데, 이 때 물품 재고 및 내역 파악을 위해 컴퓨터 비전 기술과 함께 딥러닝을 통한 이미지 모델링 분석을 통해 상품의 배열 방식이 바뀌거나 이동하는 등 다양한 외부 요인에 상관 없이 재고 파악을 할 수 있다. 딥러닝 연구자를 위해 아마존 S3 공공 데이터에 선반 속 재고 상품 이미지 세트를 무료로 공개하기도 했다.아마존은 최근에 '아마존 고'라는 새로운 형태의 무인 결제 오프라인 상점을 선보이기도 했다. 줄을 서서 기다릴 필요가 없는 '저스트 워크아웃(Just Walk Out)'이라는 기술을 통해 모바일 앱을 사용하여 상점에 입장, 원하는 제품을 선택하면 바로 가상 장바구니에 담기고, 상점을 나설 때 자동으로 결제가 되는 것이다. 상점내 각종 센서를 통해 컴퓨터 비전, 센서 퓨전 및 딥러닝과 같은 자율 주행 차량에 사용되는 것과 동일한 유형의 기술이 활용된다.■ 개발자를 위한 머신 러닝 서비스 출시이러한 내부적 기술적 토대를 기반으로 AWS는 2015년 4월 '아마존 머신러닝' 서비스 공개 이후, AWS 클라우드를 사용하는 고객들의 요구에 맞게끔 다양한 인공 지능을 위한 플랫폼 옵션을 공개해왔다. AWS는 대규모 자원을 가지고 있거나 투자 여력이 있는 회사만이 할 수 있는 인프라나 플랫폼을, 누구나 이용할 수 있도록 하게 하는 목표를 갖고 있다. 인공 지능 분야도 예외가 아니다.아마존 머신러닝 서비스는 기계 학습 전문 지식은 별로 없더라도 도메인 지식(혹은 대용량 데이터)을 보유한 개발자들이 사용할 수 있는 예측 분석을 제공하고 있다. 이는 아마존에서 내부적으로 사용하는 것과 동일한 기술로서, 모든 사용자가 AWS에서 바로 사용할 수 있다. 실제 많은 AWS 고객이 각종 위조 탐지, 쇼핑 분석 등에 이를 널리 활용하고 있다.예를 들어, Hudl사는 스포츠 경기 데이터 및 비디오 분석 및 예측을 통해 코치와 운동선수가 경기를 준비하는데 도움을 받고 있다. Upserve는 식당 관리 시스템을 제공하는데, 아마존 머신러닝을 활용하고 있다.“아마존 머신 러닝을 통해 저녁 시간대에 레스토랑에 방문할 전체 고객 수를 예측할 수 있게 되었다. 그 결과 레스토랑은 저녁 시간대 직원 배치를 효과적으로 계획해 서빙 할 수 있다”고 Upserve의 브라이트 풀턴, 인프라 엔지니어링 담당이사는 전한다.뿐만 아니라, 스타트업인 AdiMap은 광고 데이터 분석을 통해 그 결과를 예측하고 있으며, 크라우드소싱 사기 탐지 플랫폼인 Fraud.net은 복잡성을 줄이고 새롭게 등장하는 사기 패턴을 이해하기 위해 아마존 머신러닝을 사용하고 있다. AWS는 작년 AWS 리인벤트 행사에서 애플리케이션 개발자도 막대한 투자를 요하는 인공 지능 기능을 API 형태로 활용할 수 있는 새로운 AI 서비스를 출시했다. 또한, 지금은 AI 서비스의 초기이며, 좀 더 전문적인 결과를 얻으려는 고객의 피드백에 따라 아마존 AI 플랫폼에서는 알고리즘 튜닝과 모델 트레이닝이라는 두 가지 축을 따라 유연한 플랫폼을 확장하고 있다.■ 확장성 높은 고성능 딥러닝 플랫폼 활용일부 인공 지능 연구자 또는 데이터 과학자들은 대량 데이터를 가지고 있을 뿐 아니라 직접 데이터 모델링 및알고리즘을 만들어 튜닝 하는 데 필요한 기술을 얻고자 한다. 이러한 경우 대부분 한정된 물리적 장비와 MXNet 및 텐서플로(Tensorflow)와 같은 딥러닝 프로그래밍 프레임워크을 사용하게 된다.딥러닝 연구에 필요한 확장성은 클라우드를 통해 해결할 수 있다. 신규 P2 인스턴스는 192GB의 GPU 메모리, 4만 개의 병렬 처리 코어, 70테라플롭스의 단정밀도 부동 소수점 성능 및 23테라플롭스의 배정밀도 부동 소수점 성능을 갖춘 최대 16개의 엔비디아 K80 GPU, 64개의 vCPU 및 732GiB의 호스트 메모리를 제공한다. 최대 16개의 GPU까지 GPU다이렉트 (피어 투 피어 GPU 통신) 기능을 제공하므로 여러 개의 GPU가 단일 호스트 내에서 함께 작동할 수 있다. 또한, 최대 20GB의 밴드위스 기반으로 스케일 아웃 방식으로 클러스터를 구성할 수 있다.MXNet, 텐서플로, 토치(Torch), 카페(Caffe), 세라노(Theano) 및 쿠다(CUDA) 드라이버가 사전 설치되어있는 딥러닝 이미지(AMI)와 AWS 클라우드포메이션(CloudFormation)을 통해 슈퍼 컴퓨터급 딥러닝 클러스터를 원클릭으로 생성하고 삭제할 수 있다. 비용적인 측면에서도 효과적이다. 빠르게 성장하는 GPU 성능과 하드웨어 출시로 곧장 낡은 기종이 되어 버릴 뿐만 아니라 관리상으로도 애로가 많은 하이엔드 물리 장비를 직접 구매하지 않더라도, 클라우드를 통해 필요할 때마다(저렴한 스팟 인스턴스 등을 활용하여) 비용 효율적인 클러스터를 구성 및 운영할 수 있다.특히, 아마존은 클라우드에 최적화된 GPU 확장성에 뛰어난 MXNet을 주력 엔진으로 선택했다. MXNet은 정교한 맞춤형 인공 지능 시스템을 구축 할 수 있도록 지원하는 오픈소스 딥러닝 엔진으로, 다양한 기능 및 확장성을 가지고 있다.예를 들어, 인기있는 이미지 인식 네트워크인 Resnet의 경우, MXNet을 통해 다른 엔진에 비해 2 배 높은 처리량을 제공해, 50%의 시간 동안 동일한 모델을 트레이닝 할 수 있다. 벤치 마킹 결과에 따르면, MXNet은 다른 엔진과 달리 수백 개의 GPU에 대한 선형 확장성을 보여 주어 클라우드에 적합하다.아마존에서는 MXNet 커뮤니티와 협력하고 있으며, 얼마전 아파치 재단의 인큐베이팅 프로젝트로 승인 받아 많은 개발자들의 참여를 독려하고 있는 중이다.이번 글에서는 아마존에서의 인공 지능 활용 사례와 이를 통해 축적된 인공 지능 기술을 맞춤형 솔루션을 원하는 연구자와 데이터 과학자들에게 어떻게 제공하고 있는지 알아보았다. 다음에는 스마트 애플리케이션을 개발하려는 일반 개발자들에게 서버리스(Serverless) AI 서비스를 구현하는 방법을 소개하고자 한다.

2017.03.14 13:48윤석찬

모두를 위한 아마존의 3가지 AI기술 계층

인공지능이 버즈워드(Buzz word)로 뜨면서, 100명에게 '인공지능'의 정의를 묻는다면 적어도 100개 이상의 답변을 얻을 것이다. 한 가지 주목할 점은 인공지능 기술과 서비스를 주요 거대 IT기업이 주도해 나가는 양상을 보이고 있다는 것이다. 그 중에서도 아마존의 인공지능 분야에 대한 혁신 움직임은 단연 두드러진다. 본 칼럼에서도 작년 '클라우드가 선사한 인공지능 기술의 자유와 기회', '개발자들을 위한 인공지능 기술시대', '클라우드, 현실 세계에 스며들다' 등의 글을 통해 관련 내용을 다루었다.본 칼럼에서는 연초를 맞아 3회에 걸쳐 아마존이 바라보는 인공지능 기술에 대해 소개함으로써, 향후 기술 변화에 단초를 제시해 보고자 한다.■ 인공지능의 진입 장벽을 낮추다딥러닝(Deep Learning)으로 대변되는 인공지능 기술 시스템 구축과 관련된 프로젝트는 대용량 컴퓨팅을 요구한다. 그 동안 기업 IT 워크로드의 대부분이 기존 데이터센터 환경에서 클라우드로 옮겨가고 있는 추세다. 이에 발맞춰 인공지능에서 다루는 데이터 크기가 커지고 모델 트레이닝이 잦아짐에 따라, 아마존웹서비스(AWS)는 고객의 수요에 따라 CPU 및 스토리지, 그리고 GPU 같은 컴퓨팅 자원을 활용할 수 있는 자유를 제공하고 있다.자율 주행을 위한 컴퓨터 비전 시스템부터 미국 식품의약국(FDA)이 승인하는 의료이미지 처리, 넷플릭스 동영상 추천, 핀터레스트의 이미지 검색 등은 AWS 클라우드 시스템을 기반으로 한다. 아마존닷컴의 경우, 추천 엔진으로부터, 머신 러닝에 기반한 주문 배송 예측을 통한 물류 센터의 로봇 활용에 이르기까지 고객의 구매 사이클에 걸쳐 시간을 단축하는 혁신을 이루고 있다. .아울러 아마존 에코와 같은 음성 인식 기반의 스마트 홈 기기와 음성 서비스 지원 기기 확대를 통한 새로운 경험을 현실로 제공하고, 최근에는 딥러닝 기술과 컴퓨터 비전을 통한 계산대가 없는 오프라인 가게인 아마존고(Go)를 선보이기도 했다. 이처럼 AWS는 아마존 및 고객 모두에게 인공지능의 핵심 서비스를 제공하고 있다. ■ 아마존 AI의 3계층 기술 스택 옵션AWS가 클라우드를 만든 기본적인 이유는 돈이 많든 적든, 기업의 규모가 크든 작든 상관없이 클라우드를 통해 누구나 동등한 성공 기회를 얻도록 하기 위함이다. 인공지능도 동일하다. AWS는 가능한 많은 개발자들이 직접 인공지능 기반 서비스를 만들 수 있도록, 아마존의 수천 명의 엔지니어가 얻은 전문 지식을 서비스화 시켜 클라우드 이점을 결합함으로써, 기술 수준에 따라 다양한 기술 스택 중 하나를 선택할 수 있게 해주고 있다.아마존 인공지능(Amazon AI) 기술 스택은 AWS 인프라와 상위 애플리케이션 서비스를 포함해 아래와 같은 3개의 주요 계층으로 나뉜다.먼저, AI 모델을 구현하는 데 필요한 기술 능력을 보유하고 있지 않거나 데이터가 부족한 개발자를 위해 최고 수준에서 인공지능 서비스를 제공한다. 자신의 애플리케이션에 인공지능을 활용해 보고자 하는 개발자를 대상으로 한다. 최근 AWS는 이미지 인식을 통한 사물 및 얼굴 분석 서비스인 아마존 레코그니션(Amazon Rekognition), 텍스트에서 음성 합성을 위한 아마존 폴리(Amazon Polly) 및 대화식 채팅 봇 구축을 위한 자동 음성 인식 및 자연 처리 서비스인 아마존 렉스(Amazon Lex)를 공개했다. 한 단계 아래에는 기존 데이터를 보유한 고객이 맞춤형 모델을 구축하고자하는 경우, 직접 AI 데이터 트레이닝 및 모델 구축, 관리의 어려움을 제거하는 플랫폼을 제공한다. 맞춤형 선형 모델에 대한 예측을 위한 아마존머신러닝(Amazon Machine Learning) 은 데이터 기반 머신 러닝 일괄 처리 및 실시간 처리 기능을 제공한다. 또한, 아마존 EMR(스파크 및 스파크 ML 지원)을 통해 데이터를 처리하는 것도 가능하다. 마지막으로 정교한 인공지능 분석 시스템을 구축하려는 학자 및 데이터 과학자를 위한 오픈소스 AI 프레임워크인 아파치 MXNet, 텐서플로우, Caffe, Theano, Torch 및 CNTK와 같은 엔진을 손쉽게 사용할 수 있는 딥러닝용 이미지를 제공한다. 이를 기반으로 아마존 EC2(Elastic Compute Cloud)의 새로운 인스턴스 타입에는 맞춤형 고성능 인텔 프로세서 및 FPGA(Field-Programmable Gate Array)를 활용할 수 있게 됐다. 특히, 아마존 EC2의 신규 GPU 인스턴스 타입인 P2를 통해 수백 개의 GPU를 활용할 수 있게 되었다. 또한 아파치 MXNet은 클라우드를 통한 GPU 성능의 선형 확장성과 성능에 탁월성을 보여, 이를 기본 딥러닝 엔진으로 아마존에서 직접 투자하고 있다.■ 서버리스(Serverless) AI 시대가 온다AWS는 애플리케이션을 함수 단위로 쪼개서 실행 할 수 있는 AWS 람다(Lambda) 서비스를 출시하면서, 서버리스 아키텍처 시대를 열었다. 애플리케이션을 배포 및 운영해야 할 서버의 존재가 없어짐에 따라, 2년이 넘는 동안 다양한 애플리케이션 아이디어가 쏟아져 나왔다. 원래 AWS 자원의 변경이 일어나는 이벤트에 따라 간단한 동작을 수행하려는 기능에서 출발해서, API 게이트웨이 서비스와 AWS가 원래(서버 관리 필요 없이) 제공하던 아마존 S3, 아마존 DynamoDB 같은 빌딩블록을 이용하여 서버리스 애플리케이션 모델을 구성할 수 있게 되었다.앞서 언급한 아마존 레코그니션, 폴리, 렉스 같은 인공지능 서비스는 AWS람다와 연동 및 API 결합을 통해서 손쉽게 서버리스 애플리케이션의 빌딩 블록으로 활용 가능하다.예를 들어, 아래 AWS 서비스 아키텍처는 라즈베리 파이와 웹캠을 활용하여 문 앞에 손님이 우리 가족이거나 친구인지를 확인해주는 간단한 초인종 시스템이다. 이미지를 Amazon S3에 업로드 하고 이를 얼굴 인식 서비스를 통해 확인 한 후, 목소리로 안내를 해주는 시스템이다. 이를 데이터베이스에 담거나 모바일 앱으로 전달하는데 필요한 모든 빌딩 블록은 AWS 클라우드의 서버 관리가 전혀 필요 없는 관리형 서비스 들이다.즉, 이러한 서버리스 아키텍처는 향후 인공지능 기반 스마트 애플리케이션을 개발 및 배포할 때 서버 관리 부담을 줄여주고 더 빠르고 민첩하게 기능을 추가할 수 있도록 할 것이다.최근에는 한 걸음 더 나아가 람다 함수를 병렬 컴퓨팅 및 인공지능 학습에도 활용해 높은 성능을 보여준 사례도 나오고 있다. 다음 편에서는 AWS가 제공하는 다양한 옵션을 통해 밑으로부터 어떻게 모두를 위한 인공지능 플랫폼을 활용할 수 있는 지와 마지막으로 서버리스 AI 시대에서 개발자가 좀 더 민첩하고 빠르게 인공지능을 결합한 스마트 애플리케이션을 어떻게 개발 및 배포할 수 있는지에 대해 자세히 소개하고자 한다.

2017.02.16 15:46윤석찬

[re:Invent] 클라우드, 현실 세계에 스며들다

지난 주 미국 라스베이거스에는 클라우드 컴퓨팅 마니아 3만 2천 여명이 한 자리에 모였다. AWS 리인벤트(re:Invent) 2016에 참가하기 위해 전 세계에서 모여든 AWS 고객, 개발자 및 파트너 업체 종사자들이다. 클라우드 생태계에 정점에 있는 이들이 모인 이유는 업계의 리더 위치에 있는 AWS의 미래 전략을 듣기 위해서였다. 행사를 주최한 AWS는 re:Invent를 교육 및 배움의 장소로 자리매김하고자 했고, 다양한 고객의 사례를 서로 나누는 장을 마련했다.최근 몇 년간 클라우드 컴퓨팅은 어떻게 진화해 왔을까? 넷플릭스의 아키텍처였다가 최근에 AWS 클라우드 전략 담당 부사장으로 영입된 아드리안 코크로프트는 그의 블로그에서 다음과 같이 썼다.“2014년에 엔터프라이즈 기업들이 AWS에 테스트 및 신규 애플리케이션을 개발하기 위한 방편으로 AWS를 사용하기 시작하여, 2015년에는 대량 마이그레이션을 하거나 전체 데이터센터를 퍼블릭 클라우드로 대체하는 패턴을 보았습니다. 올해 들어 이 변화는 미디어 산업, 판매 산업에서 빠르게 도입을 하는가 하면, 은행, 보험 등 퍼블릭 클라우드를 사용하는데 규제가 강한 금융 산업도 여기에 동참하였습니다. 다음은 아마 에너지, 교통, 정부, 제조 및 헬스케어 분야의 얼리 어댑터들이 클라우드 시장을 이끄는 주자가 될 것입니다.” (Cloud Trends ? Where have we come from and where are we headed 중)앤디 제시 AWS 최고경영자(CEO)는 2014년에는 클라우드는 새로운 표준(Normal)으로서 엔터프라이즈 기업들이 활용을 시작했음을 알렸고, 2015년 기조 연설에서는 클라우드가 가져온 7가지 자유라는 주제로 클라우드가 스스로 원하는 길을 개척할 수 있는 자유를 준다는 점을 설명하였다. 그렇다면 올해의 화두는 무엇일까? 그는 이제 사용자들이 클라우드를 통해 그 동안 해내지 못했던 것에 대해 무엇이든 해 낼 수 있다는 느낌을 준다는 '슈퍼 파워(Super Power)' 도구로서 자리매김 했다는 점을 기조 연설을 통해 강조했다.■클라우드가 없는 곳에도 클라우드를 넣다아드리안의 언급대로, 앞으로 클라우드 활용이 익숙해진 IT 서비스 분야에서 제조, 유통, 판매 분야 등으로 확대될 전망이다. 이러한 실제 세계는 사실상 네트워크 연결이 제한적이거나 아예 존재하지 않는 극단적인 상황도 있다. 예를 들어, 옥수수 농장, 항공기 제조 공장, 병원등 산업 현장은 우리 생각과 많이 다르다.일단 현장에서 생산되는 데이터들은 바로 클라우드로 옮기기도 애매하고, 일시적으로 현장에서 IT 환경을 꾸려야 한다. 이를 위해서는 로컬 환경에 클라우드와 궁합이 맞는 컴퓨팅 및 스토리지 서비스가 필요하다. Amazon Greengrass는 AWS Lambda와 AWS IoT를 결합한 로컬 디바이스로 주변 환경의 데이터 수집이나 프로그램 처리 등을 손쉽게 해준다. AWS Lambda는 서버리스 컴퓨팅 환경을 연 클라우드 함수 서비스로 임베디드 형식으로 로컬 컴퓨팅에 이식하게 됨에 따라 그 사용 범위가 훨씬 넓어질 전망이다.Greengrass에서 사용된 임베디드 하이브리드 컴퓨팅 방식은 대량 로컬 데이터를 손쉽게 클라우드로 이전할 수 있는 데이터 운송 장치인 AWS Snowball에도 적용됐다. 새로 나온 AWS Snowball Edge는 용량을 100TB로 늘렸을 뿐만 아니라, 현장에서 사용하는 다양한 네트워크 및 데이터 어댑터를 지원한다. 특히, Greengrass에서 적용했던 것과 같이 AWS Lambda 함수를 기기 내부에 탑재하여, 손쉽게 Amazon Simple Storage Service(S3) 스토리지 버킷과 작업이 가능하다.이번 기조 연설에서 무엇 보다 깜짝 발표는 기존의 소형 Snowball 기기뿐만 아니라, 엑사바이트(Exabite) 급 데이터를 대량으로 한번에 옮길 수 있는 AWS Snowmobile이라는 데이터 선적용 콘테이너 트럭을 선보였던 순간이었다. 인터넷으로 옮기려면 수백 년이 걸릴 데이터를 한꺼번에 몇 주안에 클라우드로 옮길 수 있다는 건, 이제 현실의 데이터 제약을 완전히 극복했다는 것을 입증했다.고객 발표사로서 이탈리아 기반 글로벌 전력회사인 Enel 이 올라온 것도 우연은 아니다. Enel은 국내에서는 잘 알려져 있지 않지만, 100 년 이상의 역사를 가지고 있으며, 6천100 만 고객 190만km의 배급망을 가진 전력 업계의 리더이며, Fortune 지의 '세상을 바꿀 기업' 50 개사 중 5 위에 선정된 기업이다. 스마트 전력 이용률에서는 25%, 전 세계 발전량 3위, 신 재생 에너지, 송배전 망 거리 판매액 시가 총액도 1위를 차지했다.그러나 리먼 브라더스 사태 이후 전력 수요와 GDP 및 석유 소비량과 결합이 없어지면서, 석유 가격 감소 및 청정 에너지에 대한 투자 증대 등 전력 산업도 변화하고 있다.연사로 나선 인프라 담당 임원인 파비오 베로네세는 “이러한 전력 산업 변화 과정에서 Enel 역시 클라우드 우선 전략으로 변화를 꾀하게 되었으며, 2016 년 6 월까지 10,000개의 가상 서버, 30,000 CPU와 6PB 스토리지 마이그레이션을 완료하고 AWS를 활용하여 서버 프로비저닝을 3~4 주 걸리던 것을 이틀 내로 처리할 수 있었다”라고 전했다.이를 통해 컴퓨팅 자원의 소비는 21% 감소, 스토리지는 60%까지 절감하였다. Enel의 다음 목표는 사내 IT 업무 100%를 클라우드로 전환하고, 오프라인 스마트 전력망 운영 체계에 있어클라우드 기반 IoT 활용을 목표로 하고 있다고 언급했다.■클라우드 기반 인공 지능으로 현실 세계와 접하다 이번 기조 연설의 메인 테마 중 하나는 단연 인공 지능(AI)이다. 이미 AWS는 머신 러닝 서비스를 1년 전에 공개한 바 있고, 최근에 GPU 기반 P2 인스턴스와 딥러닝 전용 AMI를 내 놓았고, 최근에는 MXNet에 대한 지원을 천명 하는 등 클라우드 기반 인공 지능 서비스 개발 플랫폼으로서 강력한 의지를 보였다.이번 키노트에서는 여기에 머물지 않고 인공 지능 분야 킬러 애플리케이션이라고 할 수 있는 서비스 몇 가지를 선보였다. 우선 아마존이 가지고 있는 가장 강력한 음성 인식 스마트 홈 기기인 Amazon Echo를 지원하는 알렉사 서비스를 제공하는 자연어 처리 기법 및 인공 지능 기술을 이용하여 모바일 앱 및 웹 애플리케이션에서 사용가능한 채팅봇을손쉽게 만들고 관리할 수 있는 Amazon Lex이다. Alexa에서 앞뒤 A를 뺀 Lex는 채팅봇을 통해 정보를 제공하고, AWS Lambda 함수를 사용하여 엔터프라이즈급 응용 프로그램 및 데이터를 연결하는 챗봇용 비즈니스 로직을 구현할 수 있다. 장기적으로, 로봇, 드론 및 장난감에 대한 제어 메커니즘을 제공 할 수도 있다.딥러닝 기반 이미지 인식 서비스인 Amazon Rekognition은 그 동안 대형 IT 기업의 전유물로 여겨졌던 딥러닝 기반의 이미지 검색 서비스를 개발자들이 손쉽게 쓸 수 있도록 진입 장벽을 낮췄다. 이제 개발자들은 자신의 이미지를 업로드만 함으로써 얼굴 인식, 감정 추출, 장소 및 장면 정보 등의 메타 정보 추출이 가능해졌다. AWS가 가지고 있는 완전 관리형 서비스와 합리적인 가격 조건을 가진 것도 장점이다. 프리티어로 월 5,000개의 이미지에 대해서는 무료로 분석을 제공한다. 사실 아마존은 이미 프라임 회원을 위한 무제한 이미지 서비스에 딥러닝 기반의 이미지 인식 기능을 통한 사진 분류 및 태깅 서비스를 제공하고 있기도 하다.마지막으로 선보인 서비스는 흔히 TTS(Text-to-Speech)라고 불리는 음성합성 엔진을 클라우드 서비스로 내놓은 것이다. Amazon Polly는 24개 언어를 지원하며, 어른, 아이, 남자, 여자 등 서로 다른 47개 음성 종류를 제공한다. SSML이라는 음성 표현 마크업 언어를 통해, 서로 다른 2개국 언어를 섞는 다던가 감정 및강약 표현등을 합성해 낼 수 있다. 사용 비용도 저렴해, 허클베리핀의 모험 영문본을 음성 합성 MP3로 변환하는데 1회 2.41 달러에 불과하다.이번에 공개한 아마존 AI 서비스의 특징은 테스트 수준의 API에 머무는 것이 아니라 현실 개발자들이 실제 음성 혹은 이미지 기반 애플리케이션 개발 시, 바로 가져다 쓸 수 있을 만큼 높은 수준의 기술을 클라우드가 가진 장점을 이용하여 단순화했다는 데 있다. 특히, 아마존은 구매 배송 예측, 로봇을 이용한 물류 체계 등이 이미 다양한 머신 러닝 기술을 축적하고 있는데, 이러한 내부 기술을 서비스로 공개하는 패턴이 계속 늘어날 전망이다.■Amazon Go, 인공 지능 결합된 계산대 없는 오프라인 상점며칠 전 나온 Amazon Go는 클라우드와 인공 지능 그리고 오프라인 매장이 결합된 가장 이상적인 형태의 소비자 경험을 제공해 준다. Amazon Go에서 쇼핑하는 고객 경험을 보여주는 동영상에서는 물건을 사려면 계산대에 줄을 서고 결제를 해야 한다는 통념도 완전히 뒤집었다. 매장에 들어서면서 아마존고 앱을 터치하면 자동으로 소비자를 인식한다.이제 소비자는 원하는 제품을 쇼핑백에 담으면 된다. 매장에 내장된 컴퓨터 시각 센서와 생체인식 센서, 딥러닝 기술 등 AI 기술을 이용해 전자태그(RFID) 같은 센서 없이 정확히 소비자의 쇼핑 목록을 알아낸다. 아마존은 공식 블로그에 "4년 전부터 '줄을 서지 않고 계산대도 없이 쇼핑하는 방법이 없을까'를 연구하기 시작했다"며 "컴퓨터 시각 센서와 AI 기술의 발전이 우리의 꿈을 실현할 수 있게 했다"고 밝혔다.이제는 우리가 예측하지 못했던 현장에까지 클라우드의 전선은 계속 확대되고 있다. 그 동안, 기업이 제공하던 구름 뒷편에 애플리케이션이나 IT 업무를 위한 인프라나 솔루션 플랫폼을 넘어, 일반인들도 현실에서 클라우드 컴퓨팅을 만나는 날이 멀지 않았다.

2016.12.12 11:35윤석찬

클라우드 서버의 혁신, 은밀하게 그리고 위대하게

한때 조립 PC가 유행인 적이 있었다. 내 맘대로 원하는 사양의 CPU와 메모리 그리고 그래픽 카드를 조합하여 원하는 PC를 만드는 것이다. 하지만, 정보기술(IT) 서비스를 위한 서버 역시 물리적으로 조립은 가능하지만, 부품이나 안정성을 위해 벤더들이 제공하는 제품을 써야 하는 경우가 많았다. 벤더 중심으로 돌아가던 서버 시장은 클라우드 시대로 접어들면서 패러다임이 바뀌고 있다.클라우드를 사용하는 고객의 서비스 계획과 인프라를 확장하는 요구 사항이 서비스 업체에 지속적으로 공유되고 있고, 이러한 점이 서비스에 적극적으로 반영되고 있기 때문이다. 부품과 생산 설비를 중심으로 주기적으로 서버 제품을 생산한다면 불가능했던 일이다.클라우드 시장을 선도하고 있는 AWS의 경우, Amazon EC2 인스턴스의역사를 보면 IT 변화에 민감하게 가상 서버 사양을 계속 추가해 왔음을 알 수 있다. CPU를 많이 쓰는 프로그램, 메모리를 많이 쓰는 프로그램 그리고 디스크 입출력(I/O)을 많이 쓰는 경우 등등 다양한 애플리케이션에 맞게 입맛에 맞는 인스턴스 타입을 선택할 수 있다.따라서, 최근에 추가되는 Amazon EC2의 인스턴스 타입은 IT 시장의 변화를 예측할 수 있는 실마리를 제공한다.■ 512MB 메모리 최소형 T2.Nano 인스턴스 T2 인스턴스는 AWS에서 가장 낮은 사양의 인스턴스 타입으로 별도 프로세서 사용량 기준을 가지고, (예를 들어, CPU 20%만 사용 가능) 이를 넘어가는 경우 기존에 모아둔 CPU 크레딧을 사용하는 방식으로 효율적으로 자원을 활용할 수 있다. 가격도 저렴할 뿐만 아니라 필요할 때도 컴퓨팅 용량을 크레딧으로 사용할 수 있기 때문에 인기가 높다.최근 서비스 아키텍처가 마이크로서비스로 변화하면서 예전에 한 덩어리의 매우 큰 애플리케이션을 잘게 서비스로 쪼개는 경향이 높아졌다. 그러다 보니 개별 서비스의 사이즈는 작아지고, 컴퓨팅 용량을 많이 사용하지 않는 경우가 많다.소형 웹 사이트를 운영하거나, 테스팅 및 모니터링이나 마이크로서비스용 서비스를 위한 최소형 인스턴스 타입을 원하게 되었는데 이를 위해 만든 것이 t2.nano 인스턴스다. 항시 CPU 사용량이 5% 미만인 일반적인 웹 서비스에 딱 맞으며, 512MB 메모리의 초소형 서버라고 할 수 있다. (물론 트래픽이 넘치면, 모아둔 크레딧으로 72분가량 100% CPU를 사용 할 수 있으며, 필요 시 오토스케일링으로 서버를 확장할 수 있다)■ 2TB급 메모리를 장착한 X1 인스턴스 일반적으로 클라우드 컴퓨팅의 주요 고객은 스타트업과 중소 규모 기업이라고 생각하기 쉽다.하지만 클라우드가 최근 몇 년 사이 기업 IT의 새로운 표준으로 자리 잡으면서 엔터프라이즈 기업의 수요가 많이 늘어났다. 많은 엔터프라이즈 고객은 많은 메모리 용량을 가진 고성능의 인스턴스를 요구하기도 한다. 예를 들어, 인메모리 기반의 애플리케이션 즉, SAP HANA나 Microsoft SQL Server, Apache Spark 및 Presto 같은 대용량 데이터를 다루는 비지니스 분석 프로그램이다.이를 위해 만든 것이 바로 X1 인스턴스타입으로 네 개의 Intel® Xeon® E7 프로세서를 기반으로 하고 각 프로세서는 L3 캐시의 메모리 대역폭을 가지며 고성능 대용량인 2TB를 지원하고, 100개가 넘는 vCPU를 통해 이들 인스턴스가 동시 작업을 수행할 수 있다. 네트워크나 디스크 대역폭도 10Gpbs를 지원하고, X1 인스턴스를 클러스터로 묶으면 메모리 용량을 16TB까지 확장할 수 있다.엔터프라이즈 기업이 원하는 고성능 컴퓨팅을 위해 굳이 비싼 장비를 갖춰 놓지 않아도, 테스트 업무, 주기적인 분석 및 고가용성 구성 등을 위해 클라우드를 활용할 수 있게 되었다. 클라우드가 기업의 핵심 업무에도 사용되고 있음을 잘 보여준다.■ 16개 GPU를 장착한 P2 인스턴스 최근 IT 업계에 화두는 단연 인공 지능(AI)이다. 특히, 딥러닝에 대한 고성능 컴퓨팅 인프라가 요구됨에 따라 지난 9월 30일, 최대 16개의 GPU를 통해 CPU 연산을 병렬 처리할 수 있는 P2 인스턴스가 출시 되었다.P2 인스턴스는 192GB의 GPU 메모리, 4만 개의 병렬 처리 코어, 70테라플롭스의 단정밀도 부동 소수점 성능 및 23테라플롭스의 배정밀도 부동 소수점 성능을 갖춘 그야말로 공룡 급 인스턴스 타입이다. 16개의 NVIDIA K80 GPU, 64개의 vCPU 및 732GiB의 호스트 메모리를 가진다. P2 인스턴스는 최대 16개의 GPU까지 GPUDirect™(피어 투 피어 GPU 통신) 기능을 제공하므로 여러 개의 GPU가 단일 호스트 내에서 함께 작동할 수 있다.CUDA 및 OpenCL을 사용하는 범용 GPU 컴퓨팅 애플리케이션을 위해 설계된 P2 인스턴스는 기계 학습, 고성능 데이터베이스, 전산 유체 역학, 컴퓨팅 금융, 내진 해석, 분자 모델링, 유전체학, 렌더링, 그리고 대량의 병렬 부동 소수점 처리 능력이 필요한 서버 측 워크로드에 매우 적합하다.또한, 이러한 가상 서버들이 클라우드 상에 보이지 않게 존재하고 있다고 생각하는 것이 일반적이다. 하지만 AWS의 전용 호스팅(Dedicated Hosts)를 이용하면, 우리 회사 가상 서버들만 지정된 AWS 데이터 센터 내부의 단일 물리 서버에 올릴 수 있다. 어떤 소프트웨어의 경우, CPU 코어당 특정 물리 서버에만 운용할 수 있도록 판매 라이선스를 제공하는 경우가 있다. 기업 데이터를 고유한 물리 서버에만 저장하도록 하는 법적 규정이나 규제 준수 사항이 있을 때도 있다. 전용 호스팅 서버는 이러한 기업의 요구 사항에도 충족할 수 있게 만들어졌다. 즉, 클라우드가 물리적인 서버도 빌려주는 시대다.정보 기술의 변화와 컴퓨팅 활용에 대한 고객의 요구 사항이 계속 변화하고 있다. 그러한 변화의 조짐을 알고 싶다면 '은밀하고도 위대하게' 바뀌고 있는 클라우드 서비스 기술 트렌드를 눈 여겨 볼 필요가 있다. 오는 11월 말이면 AWS가 주최하는 re:Invent 행사가 라스베이거스에서 열린다. 매년 20여가지 신규 서비스와 신 기능을 출시하는 등업계의 이목이 집중되는 대표적인 클라우드 행사이다. 이번 행사를 통해 내년 클라우드 기술에 변화를 가져올 어떤 서비스가 출시 될지 기대해 봐도 좋을 듯 하다.

2016.11.03 09:55윤석찬

대학생, 무료 클라우드 서비스로 날개를 달아라!

2학기 개강이 다가오고 있다. 에반젤리스트로서 해커톤이나 코딩 교육 행사에 가 보면, 꿈 많은 대학생들을 만나게 된다. 자신의 창업 아이템을 생각하고 있는 친구부터 학교 수업에서 하는 프로젝트를 하는 전공 학생들까지, 클라우드 컴퓨팅을 통해 뭔가 시도해 보려는 열정가들이 매우 많다.이들 학생들이 의례히 물어보는 것이 있다.바로 “무료로 클라우드 서비스를 이용할 수 없나?” 라는 질문이다. 부족한 것이 많은 대학 시절이기에 뭔가 만들어 보기 위해 사비를 들여 서버, 스토리지, 데이터베이스 등의 인프라를 제대로 갖추기는 어려울 것이다. 이러한 질문을 갖고 있는 수 많은 대학생을 위한 몇 가지 작은 팁을 공유하고자 한다.■ 일년간 공짜로 제공하는 프리티어클라우드 컴퓨팅 리더로 잘 알려진 아마존 웹 서비스에서는 AWS 프리티어를 제공한다. AWS 계정을 만들고 나면, 가입 후 1년간 다양한 서비스에 대해 정해진 한도 내에서 무료로 사용할 수 있는 서비스다.예를 들어, 가상 서버의 경우 t2.micro(1vCPU 및 1GM 랩)라는 인스턴스 타입에 한해 리눅스 하나와 윈도 서버 각각 하나에 대해서 무료로 이용할 수 있다. 이를 작은 웹 서버로 이용하거나, 자신의 프로젝트 서버로 이용할 수 있다. 재미 있는 점은 클라우드 서비스의 특유의 종량제 덕분에 월간 750시간이 무상이라는 점이다. 즉, 가상 서버를 항시 켜 두게 되면 한달 내내 750시간 미만이므로 하나의 인스턴스에 대해 무상으로 이용 가능하다.이는 가상 서버 10대를 75시간만 이용해도 무상으로 가능하다는 뜻이다. AWS API를 이용한 간단한 프로그래밍만으로 10대를띄웠다가 중지를 반복할 수 있다. 필요하다면 100대를 7시간 이용해도 무료이다. 다만, 이 한도를 넘어가면, 과금이 될 수 있으니 주의하자. 계정 설정에서 과금 알림을 하거나, 무료 사용량이 얼마나 남았는지 확인할 수 있으니 주의해서 보면 된다.가상 서버 말고도 다양한 프리티어 서비스가 있다. 데이터베이스 서버 역시 db.t2.micro에 대해 20GB 스토리지와 천만 I/O에 대해 무료다. 하드디스크 격인 아마존 EBS(Amazon Elastic Block Store) 스토리지는 30GB, 대용량 스토리지인 아마존 S3 (Amazon Simple Storage Service)서비스도 20GB, NoSQL 서비스인 아마존 다이나모 DB(Amazon Dynamo DB)도 25GB를 프리티어로 제공한다. 1년이 지나도 종료되지 않는 무료 서비스도 있다. 예를 들어, 이메일 전송 서비스인 아마존 SES(Amazon Simple Email Service)는 월 6만건, 모바일 푸시 노티를 보내는 아마존 SNS(Amazon Simple Notification Service)는 월 백만건, 모바일 분석 서비스는 월 1억건 등 주요 모바일 서비스 등은 한도 내에서 무상 이용이 가능하다.특히, 최근 클라우드 기술 분야의 혁신 중 하나로 손꼽히는 AWS Lambda 서비스 역시, 월 백만건 320만초내에서 무료이다. 이 서비스는 서버없이(Serverless) 프로그램 코드만 업로드해서 실행 시간에만 과금하기 때문에 작은 프로젝트를 서버 관리 부담없이 만들기에 적합하다. AWS IoT 및 Amazon API Gateway를 이용하면, 작은 IoT 기반 API 플랫폼을 손쉽게 만들 수 있다.AWS 클라우드에 대해 처음 접하는 학생이라면 AWS 클라우드를배우는방법시리즈를 참고하면 좋다. 다른 클라우드 서비스에도 유사한 프로그램을 운영하고 있기도 하다.■ 대학생에게만 주는 무료 크레딧 활용 방법AWS에서는 클라우드 컴퓨팅 분야에 취업을 하기 위해 공부하려는 학생들과 가르치는 교수님을 위해 AWS Educate라는 프로그램을 작년 5월부터 시작했다. 대학생이라면 학교 메일로 금방 가입할 수 있으며, 가입 후 매년 40달러 상당의 크레딧을 받게 된다. 만약, 여러분의 학교가 기관으로 직접 가입을 했다면 100달러를 졸업시 까지 매년 받을 수 있다. (현재, 전 세계 900여개 학교가 가입 되어 있으며, 국내에서도 서울대, 연세대, 서강대, 한양대 등 12개 학교가 가입되어 있다. 가입 조건은 없기 때문에 학과 교수님 혹은 학교 전산소 담당자에게 요청하면 된다.)100달러가 적으면 적고 많으면 많은 양일 수 있을 것이다.하지만 프리티어로 제공하는 t2.micro 인스턴스를 유료로 한달 사용할 때 비용이 대략 9.5달러(버지니아 리전 기준)가 되기 때문에, 졸업 시까지 테스트 서버로 운영할 만큼은 되기 때문에 유용하다. 혹시 신용 카드가 없거나, 과금이 많이 나오는 것이 우려된다면 가입 시 AWS Educate Starter Account로 선택 가입할 수 있다. 크레딧은 조금 적게 부여되지만, 부여된 크레딧 이상 청구되지 않는 장점이 있다.AWS Educate에 가입한 학생들에게는 600달러 상당의 AWS 기술 에센셜 온라인 교육 과정 및 실습 환경에 무료 접근이 가능하다. 조금만 공부하면 공인 AWS Solution Architect 자격증을 취득할 수 있는데, 취업에도 유리하다. 미국의15 Top-Paying Certifications for 2016보고서에 따르면, AWS 공인 자격증이 미국 상위 연봉 순위 1위를 차지하기도 하였다.AWS Educate 가입방법 (동영상)그리고Educate 학생용가이드(PDF)를참고하기 바란다.AWS뿐만 아니라 GitHub에서도 Student Developer Pack이라는 프로그램을 운영하고 있는데, 다양한 개발 도구 및 교육 사이트를 무상으로 지원하고, AWS 크레딧도 추가로 15달러를 얻을 수 있다.■ 대학생만을 위한 해커톤과 코딩 교육 동아리소프트웨어 코딩 교육이 미국 뿐만 아니라 전 세계 주요 관심사가 되면서, 국내에서도 전공과 관계 없이 전체 학생들에게 코딩 교육을 의무적으로 가르치는 대학교가 늘고 있다. 사실 졸업을 해서 취업을 해보면, 거의 모든 회사들의 업무가 IT 환경을 기반하고 있다. 많은 경우 소프트웨어 개발자와 공동 업무를 진행하는 경우가 많기 때문에 굳이 SW 개발을 하지 않더라도 코딩 교육이 주는 효과는 적지 않을 것이다.뿐만 아니라, 동료 학생들과 어울러서 소프트웨어를 활용하여 다양한 아이디어를 구현하는 기회를 갖는 것도 좋은 경험이 될 것이다. 잘 알려진 바와 같이오늘날 가장 인기 있는 소셜 네트워크 서비스이자, 10억명이 넘는 사용자를 자랑하는 페이스북은 하버드대 학생들 사이에서 만든 작은 서비스에서 시작했다.국내에서 클라우드 서비스를 활용하는 대학생 교육 및 해커톤 프로그램이 크게 두 가지가 있다. 하나는 매년 컴퓨터 비전공 대학생 중 천 명을 선발해 몇 개월 간 코딩 교육을 해주는 '멋쟁이사자처럼'이라는 비영리 교육 동아리이다. 유명 해커인 이두희씨가 설립하여, 올해로 4기를 배출하였다. 4년동안 98개 학교의 1900여명이 참여하여 200여개가 넘는 아이디어를 구현하는 결과를 내놓았다. 본 활동에도 작년 부터 AWS가 교육 지원을 하고 있다. 멋사의 교육 과정의 일부는 코드라이언을 통해서도 맛볼 수 있다.대학생 개발 동아리인 REAL, YAPP, NEXTERS 3개 IT 연합동아리가 공동 주관하는 '유니톤'이라는 해커톤 역시 매년 2차례씩 개최하고 있다. 같은관심사를가진또래들과즐겁고편안하게코딩을 경험하고, 디자인 등 다른 분야친구들과협업을해보는경험을하는 시간으로 2박 3일간 진행한다. 이들 역시 경쟁이 아닌 각팀의결과물을직접볼수있는시연부스를마련해궁금증을해결하고, 서로의결과물에 대한 피드백과 격려를 해 주는 행사를만들고있다는점에도독특하다. 대학생연합 동아리이고 학기초인 만큼 신입 회원을 모집 중이니, 꼭 가입 해 보길 권한다.'구하라주실것이요, 찾으라찾을것이요, 문을두드리라그리하면열릴것이라' 그리고 뜻이 있는 곳에 길이 있다. 도전은 여러분의 몫이다.

2016.08.30 11:07윤석찬

개발자들을 위한 인공지능 기술시대

인공 지능열풍이 거세다. 최근 정부는 주요 IT 기업과 함께 인공 지능 연구소를 만들고, AI 인력 양성을 위해 학교마다 인공 지능 관련 교과를 늘리는 등 높은 관심에 힘입어 한동안 침체였던 인공 지능 연구자들은 때아닌 호황(?)을 맞이하고 있다.하지만, 지난 칼럼 클라우드가 선사한 인공지능 기술의 자유와 기회에서 보았듯이, 작금의 인공 지능 기술의 변화는 과거의 인공 지능 기술 패러다임과 완전히 다르다.10년전 있었던 빅데이터 열풍을 다시 생각해보자. 과거 대용량 데이터 분석은 고성능 서버에 고가의 데이터웨어하우스(DW)용 상용 소프트웨어를 구매해야만 가능했다. 일반적인 DW구축은 매우 길고 오랜 기간이 필요한 구축 프로젝트를 데이터 전문가들에게 맡겨야 했고, 결과는 고객의 입맛에 잘 맞지 않는 경우가 많았다.하지만 야후에서 일하던 더그 커팅(Doug Cutting)이 하둡(Hadoop)이라는 오픈 소스 기반의 대용량 데이터 분산 처리 소프트웨어를 내 놓고 난 뒤, 상황은 180도 달라졌다. DW 업체와 전문가의 손을 거치지 않고도, 일반 개발자들이 저가의 장비를 분산화 하여 손쉽게 빅데이터 분석을 할 수 있게 되었다. 그 이후, 하둡 생태계는 과거와 비교할 수 없을 만큼 다양해졌으며, 수 많은 오픈 소스 소프트웨어와 지원 벤더들이 비지니스 이용에 대한 간극을 메우고 있다.특히 클라우드 서비스가 확산되면서, 페타바이트 규모의 완전 관리형 데이터 웨어하우스인 아마존 레드시프트(Amazon Redshift), 기존 비즈니스 인텔리전스(BI) 솔루션 대비 1/10의 비용으로 비데이터 전문가라도 손쉽게 분석할 수 있는 플랫폼이 등장하기도 했다. 그렇게 빅데이터 처리 및 분석 기술은 한없이 높았던 진입 장벽을 크게 낮추었다.■ 진입 장벽이 확 낮아진 인공 지능 기술소위 딥러닝(Deep Learning)으로 알려진 인공 지능 기술 역시, 아마존,구글, 페이스북, 바이두 등 다양한 글로벌 인터넷 기업이 주도하고 있다. 이들은 자사의 검색, 소셜네트워크, 음성 인식 서비스에 녹일 목적으로 투자를 지속하고 있다.특히, 딥러닝 분야에서도 많은 오픈 소스 도구들이 활발하게 나오고 있는데, 그 중에 구글에서 공개한 텐서플로(TensorFlow)가 인기다. 3월에 시작된 텐서플로 한국 커뮤니티는 3개월만에 현재 3천명이 넘는 회원을 가지고 있고, 지난 6월 첫 오프라인 모임은 신청한지 10분에 마감되고, 200여명이 참여했다고 한다.텐서플로를 개발한 구글의제프 딘(Jeff Dean)은 원래 인공 지능 전문가가 아니었다. Quora에 올라온 “제프딘은 어떻게 그렇게 빨리 인프라와 시스템 엔지니어링에서 딥러닝 분야 전문가가 된 건가요?”라는 질문에는 한 학생이 제프 딘에게 직접 들은 답변이 올라와 있다.“저는 이 분야가 잠재력이 많고 흥미로운 분야라고 생각했습니다. 뉴럴 네트워크게 대해 많이 알지 못했지만 분산환경에 대해서는 잘 알고 있었죠. 그래서 주방이던 어디던 사람(전문가)들에게 다가가 그들과 대화를 했습니다. 전문가들과 대화하고 함께 일하면 여러가지 어려운 문제도 해결할 수 있고 정말 빠르게 배울 수 있을 겁니다.”(출처: 텐서플로우 코리아)텐서플로와 같은 오픈 소스뿐만 아니라 클라우드 역시 진입 장벽을 낮추고 있다. 머신러닝 알고리즘에 익숙하지 않은 소프트웨어 개발자들도 아마존이 제공하는 머신러닝서비스를 이용하면 손쉽게 데이터를 통한 학습, 모델 생성 및 추론을 해 볼 수 있다. 특히, AWS에는 대용량 스토리지, 하둡 클러스터 운영, NoSQL및 DW등 다양한 빅데이터 처리를 위한 빌딩 블록이 있어 데이터 수집, 저장과 분석을 바로 해 볼 수 있는 장점이 있다.■ 클라우드로 들어온 머신러닝 서비스클라우드 서비스는 사용한 만큼만 비용을 지불하게 되므로 하루당 소량의 예측에서 초당 수백 개의 예측 생성까지, 쉽고 비용 효과적으로 확장이 가능하다. 예측 모델 구축에 사용된 컴퓨팅 시간은 시간당 요금으로만 청구되며, 배치 예측과 실시간 예측은 예측 건당 요금으로 매우 비용 효율적이다.또한 웹 기반 콘솔에서 복잡한 기계 학습 알고리즘과 기술을 배우지 않고도 기계 학습(ML) 모델 생성 프로세스를 단계별로 사용할 수 있도록 시각화 도구와 마법사를 활용할 수 있다. 이를 위해 대화형 차트를 통해 입력 데이터 세트를 시각화 및 탐색하도록 지원함으로써, 데이터 콘텐츠와 배포를 이해하고 누락되거나 잘못된 데이터 속성을 발견할 수 있다.뿐만 아니라, 개발자를 위한 모델링과 관리용 API를 제공하여 데이터 소스, 모델, 평가를 생성하고 검토하며 삭제할 수 있도록 해준다. 이를 통해 향후 새로운 데이터가 올라오면 신규 모델을 생성하도록 자동화할 수 있다. 또한, API를 사용하여 이전 모델, 데이터 소스, 평가 및 배치 예측의 반복성과 추적 사항을 점검할 수 있다.특히 아마존머신러닝을이용한게임개발에이용하는방법에 대한 동영상을 보면, 기계 학습이 어떻게 실제 문제를 풀 수 있는지에 대한 답을 얻을 수 있다.■ 딥러닝 학습을 위한 길잡이어떻게 하면 개발자가 인공 지능에 입문해 볼 수 있을까? 홍콩과학기술대학 김성훈 교수가 국내 개발자를 위해 만든 모두를위한머신러닝/딥러닝강의는 개발자들 사이에서입소문을 타고 인기를 얻고 있다. 동영상과 소스 코드를 통한 실습 자료를 제공해, 쉽게 배울 수 있다.본 강좌의 마지막에는 Amazon EC2(Elastic Compute Cloud) 중 GPU 사용이 가능한 G2 인스턴스 타입을 활용하는 보너스강의가 나온다. 김교수는 “GPU를 사용하는 경우, 기존 데스크톱에서 데이터를 훈련할 때 보다 25배의 속도가 높아지며, 스팟 인스턴스를 사용하면 비용도 저렴하며 필요할 때만 이용할 수 있다”고 장점을 말하고 있다.텐서플로를 Amazon EC2에서 활용하는 방법은 John Ramey가만든공개 AMI(아마존머신이미지) 사용방법이나 “BitFusion의 AWS 마켓플레이스솔루션을 참고하면 좋다.지난 5월 아마존에서도 DSSTNE(Deep Scalable Sparse Tensor Network Engine)라 는 딥러닝 라이브러리를 오픈 소스로 공개하였다. DSSTNE는 GPU를 활용하는 데이터 훈련 및 딥러닝애플리케이션에 사용하기 위한 것으로, 아마존 규모의 데이터를 처리하기 위해 만들어진 것이라는 점에서 실제 문제를 해결하는데 도움을 줄 수 있다.이를 위해 다중 GPU를 사용한 데이터 훈련 및 예측 및 병렬 모델을 수행하는 더 큰 뉴럴네트웍을 지원하는 등 더 빠른 컴퓨팅 성능에 최적화 되어 있다. C++로 개발된 본 라이브러리는 뉴럴 네트워크 구성을 JSON 포맷으로 정의할 수 있으며, GPU가 가능한 자신의 PC 뿐만 아니라 AWS의 G2 인스턴스 및 도커(Docker) 콘테이너로 구성할 수 있다.Scott Le Grand는 자신의 블로그 글에서, “Amazon DSSTNE가 벤치마크 결과 텐서플로에 비해 15배높은성능이라는결과“를 제시하기도 했다.이렇듯 머신러닝과딥러닝에 대한 오픈 소스 소프트웨어는 하둡 생태계와 유사하게 더 높은 성능과 최적화를 위한 경쟁적 발전이 이루어질 것이다. 개발자들의 선택의 폭은 훨씬 높아질 것이다.이제 인공 지능 기술은 더 이상 박사급 연구자나 높은 수준의 수학이나 알고리즘 학습이 필요한 분야가 아니다. 클라우드와 오픈 소스 덕분에 기술에 대한 진입 장벽은 낮아졌으며, 개발자라면 누구나 쉽게 배워 현실의 문제를 풀 수 있게 되었다. 이점이 지금의 인공 지능 기술 열풍이 단지 버즈워드가 아닌 이유다.

2016.07.20 11:12윤석찬

서버리스(Serverless)가 온다!

지난 칼럼 '클라우드 기술에 대한 세가지 패러다임 변화'에서 '서버 없는 클라우드 함수의 등장'이라는 변화를 소개했다. 이러한 새로운 패러다임은 개발자들에게 큰 수고와 비용 없이도 좀 더 빠르고 민첩하게 다양한 애플리케이션을 만들고, 서비스 운용을 위한 확장성 및 가용성에 대한 수고와 비용을 없애는 방향으로 바뀌고 있다.이러한 변화를 가장 극적으로 보여준 것이 바로 지난 5월말 뉴욕에서 있었던 서버리스컨퍼런스(Serverless Conference)다. 일반적으로, 회자되는 기술의 유행 방식은 선두 주자가 혁신적인 서비스를 내면, 경쟁적으로 유사한 서비스가 만들어지고, 오픈 소스로 된 관련 도구가 증가하면서 개발자들이 여기에 동조하고, 콘퍼런스에서 다 같이 만나는 패턴인데,이는과거에도 종종 있었다.2014년 AWS람다(Lambda)가 이러한 개념을 처음 선 보인 이후로, 많은 클라우드 업체들이 이를 벤치마킹한 서비스를 줄줄이 내놓고 있다. 많은 개발자들은 관련된 코드 예제들을 오픈 소스로 공개하고, 급기야는 Serverless FRAMEwork, CloudiaJS 같은 서버리스 오픈 소스 개발 프레임워크가 계속 나오고 있다. AWS에서 Lambda와 API Gateway 서비스 개발을 총괄하고 있는 팀 와그너(Tim Wagner)는 서버리스 콘퍼런스키노트 발표에 앞서 물리 서버를 부숴버리는 상징적인 퍼포먼스를 보여 주기도 했다. ■ Serverless != No Server물론 서버리스(Serverless)라는 말 자체가 서버가 필요 없다는 뜻은 아니다. 클라우드에서도 서버는 존재하고 있고, 다만 고객이 스스로 관리해야 하는 서버 혹은 콘테이너가제로(0)에 수렴한다는 의미다. 따라서, 서버리스란 오로지 이벤트에 따라 동작하는 클라우드 기반의 나노 수준 (최근 회자되는 마이크로서비스가 가진 크기를 생각해서) 서비스 단위의프로그램 코드만을 개발하고 배포에 집중한다는 의미이다. 기존의 PaaS(Platform as a Service)는 복잡한 모놀리식(Monolithic) 애플리케이션을 지원했다는 점에서, 무상태(Stateless)는 서버리스의특징과 대비된다.이유는 간단하다. 더 빠르게 움직이기 위해서다. 이러한 특징은 인프라 설치, 운용, 확장성 고려, 복잡한 배포 및 모니터링 등 많은 관리 업무를 줄이고, 민첩하게 만들고 배포하려는 회사 혹은 팀에게 적합하다.예를 들어, AWS Lambda는 가장 선두에 있는 서비스로서 Node.js, Java, Python 코드를 올리기만 하면, 코드가 실행될 때 마다 5분 안에 실행하면서 100ms 단위로 과금한다. 다른 AWS 서비스의 이벤트를 처리(예를 들면, Amazon S3에 이미지가 올라오면 썸네일을 만드는 기능을 동작)하거나, Amazon API Gateway로 들어오는 HTTP 요청에 대해서도 실행할 수 있다. 올려진 코드에 대한 버전 기능, 배치 작업을 위한 Cron 기능등을 제공하고, 매월 100만 밀리세컨드에 대해 무료로 제공하기에 테스트 개발에도 적합하다.따라서, Amazon API Gateway와 AWS Lambda를 조합하고, 여기에 Amazon 기존 서비스를 연계해서 새로운 아키텍처를 구성할 수 있는데, 이것을 소위 '서버리스 아키텍처'라고 부르고 있다. (마치 다양한 요리를 할 때 필요한 재료가 필요한 것처럼, AWS는 최소 단위(primitives)라고 부르는 다양한 서비스로 만들고, 개발자들이 이를 자유롭게 조합하여, 새로운 아키텍처를 설계 구성하도록 하는 서비스 철학을 가지고 있다)■ 진화하는 서버리스 개발 생태계서버리스 아키텍처나 프레임워크는아직 초기 단계다. 해결해야 할 사항도 적지 않다. 예를 들어, 기존 서버 기반 SW 플랫폼 개발 프레임워크만큼, 통합 개발 환경(IDE)나 테스팅, 디버깅이 편리하지 않다. 개별 클라우드 함수의 크기나 성능에 따른 메모리 사이징(그에 따른 CPU 및 네트워크 사용량) 및 함수 기능을 어디까지 세분화 할 것인가에 대한 기준도 명확하지 않다.이런 부분은 서버리스 아키텍처에 대한 다양한 논의가 진행되고, 개발자 생태계가 커지면서 각종 지원 개발 도구가 나온다면 자연스럽게 해결될문제라고 생각한다.하지만, 가장우선적으로서버리스에 대한 개념과 목적을 명확하게 하는 것이 중요하다. 못을 박기 위한 도구인 망치를 가지고, 음식을 만들려는 우를 범하지 않기 위해서다. 팀 와그너는서버리스 콘퍼런스키노트 중 아래와 같이서버리스선언문(Serverless Manifesto)을 소개하였다.함수(Function)가 서비스의 기본 배포 및 확장 단위이다.프로그래밍 모델에서 물리 서버, 가상 서버 및 콘테이너에 대한 의존성을 제거하라데이터 스토리지는 어딘가 무제한으로 있다고(사용한다고) 가정하라사용자가 아닌 오로지 요청(Request)에 대해서만 확장하라요청이 없는데 돈을 낼 필요가 없다(가상 서버나 콘테이너도 여전히 비효율적이다).함수의 실행은 어디서나 가능하므로, 장애 복원력을 가지도록 만들어라 BYOC(Bring your own code) ?나만의 서비스를 책임지고 만들 수 있다!통계 수집 및 로그 취득은 보편적인 필수 사항이다.이와 함께 Flourish라는 오프 소스 서버리스 프레임워크를 곧 공개할 것이라고 밝혔다. 이 프레임워크는 마이크로 서비스의 형식을 정의하고, 기존 IDE와 통합하여 빌드 및 ZIP 파일 기반 배포를 할 뿐만 아니라 하나의 대시보드에서 모니터링 및 요금 집계가 가능한 현실적인 서비스 기능을 통합 할 예정이다. 또한 프로그램 코드와 버전 설정을 조합에 의한 일관된 롤백 기능도 제공한다. 벤더 중립적인 API 서비스 참조 역할도 하면서, 코드 작성 및 배포에만 집중되어 있는 기존 프레임워크의 대안이 될 수 있을 것이다.Flourish가 중립적인 프레임워크로 자리잡더라도 다른 클라우드 업체들도 비슷한 수준의 서버리스 프레임워크를 내놓을 가능성이 높다. 기존의 개발자 커뮤니티에서 만들어지는 프레임워크 역시 생태계 확대에 이바지할 것으로 예상된다.■ 서버리스의 대중화의 필수 조건은?서버리스 개발 생태계 확대를 위해서는 기존 벤더 기반 서버리스 컴퓨팅 환경과 스토리지 서비스에서 개발자 생태계 기반 프레임워크와 개발 도구의 제공이 확대되는 단계도 중요하다.하지만 궁극적으로 서버리스 킬러 응용 프로그램(Killer Application)이 나와야 한다.최근에 Slack을 기반으로 하는 채팅봇애플리케이션이나 Amazon Echo와 Alexa 그리고 AWS Lambda를이용한음성인식서버리스 애플리케이션이 늘어나는 것은 고무적인 현상이다. 테크크런치기사에서 언급한, Amazon Echo의 음성 인식 API인 Alexa Skills과 AWS Lambda를 이용한 앱(Skills)이 연초 135여개에서 1,000여개로 늘어났다는 것이 바로 그러한 예이다.AWS Lambda의 이용 사례도 극적으로 늘고 있다. 여성 패션 사이트인 Bustie는 수백만의 사용자가 방문하는 웹 사이트를 Amazon S3 기반으로 만들고 필요시 동적 데이터를 Lambda로 처리한다. 광고 리타게팅 플랫폼인 AdRoll 역시 매달 300TB의 압축 데이터를 S3에 저장하는데, 호출 데이터 저장 시 Lambda를 사용한다. 실시간 동영상 인코딩 업체로 유명해진 스타트업인 Periscope는 포르노 같은 유해 영상인지 여부를 3초 단위로 파악해서 차단하는 기능에 Lambda를 이용한다.특히, 데이터 분석 영역에서 Lambda 사용도 두드러진다. FireEye는 Lambda를 이용하여 침입 탐지 시스템을 만들었는데, 기존에 맵리듀스(MapReduce) 기능을 Lambda 함수로 바꾸고, S3에 저장하는 새로운 아이디어를 내기도 했다.국내에서도 비트패킹컴퍼니가 음악 재생 시 광고 노출 데이터를 실시간으로 처리하기 위해 Lambda를 통해 Amazon Kinesis로 보내고, 이를 S3에 저장하거나Amazon Elasticsearch Service와 Kibana를 통해 분석 대시 보드를 만드는 서버가전혀없는원스톱분석서비스를 만들어 발표하기도 했다.향후서버리스 아키텍처를 위한 생태계에서 필요한 것은 매우 많다. 클라우드 함수에 대한 지속적인 통합 및 배포(CI/CD) 지원, IDE 플러그인, 테스트 프레임워크는 가장 필수적이다. React 같은 현대적 웹 앱 프레임워크와의 연동 및 원활한 동영상 및 파일 처리, 사물 인터넷과의 연동, 이를 엔터프라이즈급 업무에서도 활용할 수 있는 다양한 사례를 발굴하는 것 역시 중요한 과제다.마지막으로 무엇 보다 중요한 것은 개발자들의호기심이다. 항상 성공하는 기술은 낮은 진입 장벽에서, 호기심을 가진 기술 관심자들의참여로 이루어진다. 과거 모바일앱생태계 초기를 돌아보면, 개발자가 부업으로 만든 앱들이 대박을 친 경우가 많았다. 서버리스 아키텍처도 과거 수많은 고민을 해야했던 많은 장벽을 없애 줌으로써새로운아이디어를 시작해 볼 수 있고, 성공도 예측해 볼 수 있다. 누가 아는가? 내가 만든 작은 API가 유료로도 서비스할 수 있는 대박 서비스가 될지…기업에서도 복잡한 문제 해결에 대한 가장 단순한 해법을 찾고, 기존 레거시를 혁신하기 위해 이를 직접 만들어 보는 개발자와 기업에게 미래가 있다. 만약 이를적용 하면 회사의 기존 사업이 망할 것 같고, 나의 일이 없어지는 내부적인 파괴(Disruption)를 일으킬 것 같은 기술처럼 보이는가? 서버리스 아키텍처를 바라보는 IT개발자의 우려와 벤더의 시각도 이와 다르지 않다.그렇다면 지금 당장 시도해야 한다.“미래는 이미 가까이에 와 있다. 다만 널리 퍼지지 않았을 뿐(The future is already here-it's just not very evenly distributed.-윌리암 깁슨)”이라는 말을 다시 새겨볼 때다.

2016.06.14 17:40윤석찬

JAWS 커뮤니티가 우리에게 일깨워 준 것들

지난 주 토요일(5월 21일)에는 클라우드 분야를 선도하는 아마존웹서비스(AWS)를 배우고, 사용하는 한국과 일본의 개발자커뮤니티간의교류모임이 서울에서 개최되었다. 2009년에 시작해 현재 50개의 지역 및 분야별 지부를 가진 세계 최대 AWS 사용자 모임인 일본 JAWS의 리더 11명이 한국을 찾아 AWSKRUG의 회원들과 만났다. JAWS는전세계적으로 56개국 270개도시에서 18만여명이참여하고있는글로벌 AWS 사용자 모임 중가장큰규모다. JAWS는 지부별 스터디 모임뿐만 아니라 매년 1천여명이 넘게 참여하는 자체 커뮤니티 행사도 진행할 정도로 인기있는 일본 내 개발자 커뮤니티 중 하나다. 이날 행사에서 5년 전인 2011년 3월 이후 일본 동경에 AWS 리전이 구축된 이후로 클라우드 컴퓨팅이 개발자의 삶을 어떻게 바꾸어 주었는지 알려주는 선배로서의 경험담을 들려 주기도 했다. 이번 모임이 국내 개발자 커뮤니티에도 의미하는 바가 있을 것으로 생각되어 공유한다.■ JAWS 대표 리더는 시골 개발자(?)수 천명의 회원을 가진 JAWS UG의 올해 대표 리더는 타쿠야 타치바나(Takuya Tachibana). 그는 일본에서도 시골로 통하는 아오모리현에 있는 한 작은 회사의 개발자이다. 그는 도쿄가 아닌 시골의 작은 지부 리더이면서 알려지지 않은 회사의 개발자이다. 하지만, AWS 클라우드를 통해 어떻게 저렴한 비용과 인력으로 고객사의 서버를 죽지 않고, 안전한 보안과 유연한 개발 환경을 구축할 수 있었는지에 대해 자신의 경험을 나누었다.그는 AWS의 EC2 t2 인스턴스 타입을 통한 서비스 효율화와 AWS 람다(Lambda)를 통한 서버가 불필요한 작은 기능에 대한 프로세스 개선 시도를 통해 클라우드에 대한 통상적인 시각을 뒤집었다. 세션에 참석한 참가자는 "우리는 클라우드라고하면 트래픽과 데이터가 많은 대형 엔터프라이즈나 B2C, 게임 도메인을 생각하는데,시골회사의 적은 양의 트래픽, 적은 숫자의 사용자라고 할지라도 죽으면 안되는 소중한 시스템이 있다는 것을 일깨우게 해준 사례에감사하다. 스몰 스펙 인스턴스로 심지어 서버리스 환경에서 고객의 시스템을 만든 JAWS의 대표 리더 타치바나씨의 세션은 거품이 잔뜩낀 허세 만발의 우리의 모습을 반성하게 해 주었다."고 세션 소감을 전하기도 했다.■ 커뮤니티 활동은 개발자의 삶을 바꾸었다오사카 지부의 도시유키 곤파루(Toshiyuki Konparu)및 야마카타 지부의 세이지 아카츠카(Seiji Akatsuka) 리더는 AWS 커뮤니티 활동을 통해 많은 사람들의 삶이 바뀌었다고 강조했다. 클라우드 기술이 대세가 되면서, 본인뿐만 아니라 커뮤니티에 참여했던 많은 사람들이 배움과 인간 관계 확대를 통해 더 좋은 직장을 얻고, 창업에 성공하고, 심지어 커뮤니티 내에서 결혼까지 한 사례도 있다고 한다.이들은 개발자들에게 클라우드 컴퓨팅 기술은 기존 IT의 업무를 모두 새롭게 다루기 때문에, 매우 광범위하고 다양해서 혼자서 배우기가 쉽지 않고, 커뮤니티에 참여함으로서 현재 수준과 목표를 정할 수 있는 장점이 있다고 전했다. 특히, JAWS에서는 새로 참여하는 커뮤니티 멤버들에게 항상 두가지를 강조한다. 첫째, 스터디 및 모임이 끝나면 소감이나 요약을 항상 블로그나 SNS에 공유하는 것이다.두번째는백번 듣는 것보다 한번 발표하는 게 더 많이 배우기 때문에 꼭 자신이 배우고 경험한 내용을 발표하게 하는 것이다.현재 일본의 기술 커뮤니티에서는 행사 마지막에 라이트닝 토크(Lighting Talk)라는 방식의 세션이 매우 유행인데, 5-10분 정도의 짧은 시간을 통해 자신의 경험을 부담 없이 공유할 수 있다. 라이트닝 토크에서는 유용한 기술 팁이나, 자신이 만든 오픈소스, 재미있고 기발한 아이디어 구현 등이 나오기 때문에 매우 인기가 높다고 한다.■ 비즈니스 기회로서 커뮤니티 기여고베 지부의 히로미치 고가(Hiromichi Koga) 리더는 디지털큐브(DigitalCube) CEO로서 AWS 덕분에 직원이 100% 원격 근무를 한다. 주요 사업은 'AMIMOTO AMI'라는 워드프레스를 가장 빠르게 설치 운영할 수 있는 서비스를 운영 중이다. 전체 직원 14명 중에 단지 5명만 인프라 엔지니어로서, 고객의 워드프레스 사이트를 안전하게 호스팅을 하고 있다.재미있는 것은 회사 개발자들은 직접 100개가 넘는 워드프레스 플러그인을 만들었고, 1,700만 다운로드를 기록할 정도로 오픈 소스 활동에 기여하고 있다. AWS 상에서 가상 서버의 일종의 부팅 디스크 역할을 하는 워드프레스를 위한 19개의 AMI(Amazon Machine Image) 및 6개의 클라우드포메이션 템플릿을 아예 공개를 해서 많은 사람들이 손쉽게 워드프레스를 운영할 수 있게 하고 있다. 이렇게 공개를 하면 비지니스에 영향이 있을 것 같지만, 오히려 기여와 외부 공개를 통해 비지니스를 더 크게 확장하고 있다.AMIMOTO AMI라는 서비스 역시, 4천여개가 넘는 AWS Marketplace 서비스 중 76위를 할 정도로 인기가 높아졌고, 이를 통해 사용자 피드백을 지속적으로 받고, 이를 서비스 개선에 활용하고 있다. 이 회사는 일본에서 20번의 워드캠프를 후원하고, 회사 개발자들이 69번의 발표를 하였으며, JAWS-UG의 경우 33번의 실습 이벤트 지원 및 10번의 이벤트 공동 개최를 했다고 한다.발표 끝에 좋은 서비스 및 제품은 언제나 좋은 커뮤니티를 얻을 수 있다며, "Don't sell the community, sell through the community."라는 의미 심장한 말을 남겼다.JAWSUG 오사카 여성지부 히로미 이토(Hiromi Ito)리더는 개발자 덕후(?)답게 특정 요구 사항에 맞게 AWS 서비스를 조합하는 클라우드 디자인 패턴을 이용한 마작 및 AWS 서비스를 맞추는 퀴즈 등 JAWS에서 인기가 높은 게임들을국내에 소개해 주었다.이번 행사에는 일본에서 매우 인기있는 잡지인 ASCII.JP의 기자인 이비사 오타니(Ibisa Otani)도 동행했다. 그는 JAWS 행사 취재 뿐만 아니라 36개가 넘는 JAWS의 지부 리더 및 10여명이 넘는 AWS 사무라이(Samurai) 기술 엔지니어들을 상대로 인터뷰 시리즈로 진행하고 있다.자신이 JAWS UG에 집중하는 이유는 커뮤니티로부터 실제 기술 정보를 얻을 수 있을 뿐만 아니라 이를 통해 얻은 기사 자체는 매우 인기가 있기 때문이라고 한다. 특히, 일본에서 클라우드 기술이 회사뿐만 아니라 개발자 개인 인생에 변화를 주는 경우를 많이 목격했기 때문에 커뮤니티에 도움을 주는 기사를 쓰는 것이 자신의 책임이라고 생각한다고 전했다.행사가 끝난 한국과 일본의 리더들은 커뮤니티 활동의 백미인 2차로 가서 소맥과 대화를 즐겼다는 후문이다. 여러분도 지금 클라우드 기술에 변화에 동참하고 싶다면, AWS 한국사용자모임의 문을 두드려 보시기를 추천하며 글을 마친다.

2016.05.30 11:16윤석찬

금융권에 불어오는 클라우드 도입의 큰 흐름

금융 산업의 클라우드 도입 열기가 더욱 뜨거워지고 있다.원래 금융 산업은 데이터 보안과 소유에 대한 규정 준수를 위해 물리적 인프라에 대해 투자해 왔지만 클라우드 도입에 적극적이지 않았다.그러나, 전 세계적으로 소위 핀테크(FinTech)라 불리는 온라인 금융 서비스 경쟁이 치열해지면서,클라우드 도입은 더욱 탄력을 받고 있다. 좀 더 많은 기업 자원을 비즈니스 혁신에 필수적인 핵심 애플리케이션에 투입하기 위해 클라우드 도입에 적극 나서고 있는 것이다. 또한, 클라우드 컴퓨팅 서비스에서도 엔터프라이즈 기업이 요구하는 높은 보안관리 기능을 속속 선보임에 따라 기존의 간극은 크게 줄어들고 있다.■ 캐피탈원, 자체 데이터 센터 8개에서 3개로 줄여미국 대형은행인 캐피탈원(Capital One)은 신용카드, 당좌 예금 계좌 및 보통 예금 계좌, 오토론(자동차대출), 보상금, 그리고 일반소비자 및 기업대상 온라인 뱅킹 서비스를 제공하고 있다. 캐피탈원의 기술 전략 핵심에는 아마존웹서비스(AWS) 클라우드가 있다. 회사는 AWS를 사용함으로써 2018년까지 데이터센터 개수를 8개에서 3개로 줄인다는 계획을 갖고 있다. 실제 캐피탈원은 새로운 주력 서비스인 모바일 뱅킹 시스템을 포함한 대부분의 핵심 시스템들을 개발하고 테스트하거나 운용하는데 AWS의 거의 모든 서비스를 활용하고 있다.작년 re:Invent 2015 키노트 발표 시 롭 알렉산더(Rob Alexander) 캐피탈원 최고정보책임자(CIO)는 “현재 금융 산업은 최악의 사이버 범죄 위험에 노출돼 있다. 캐피탈원은 자체 데이터센터보다 AWS 클라우드에서 더욱 안전하게 서비스를 제공할 수 있다고 믿고 있으며, 더욱 안전한 보안 모델을 만들기 위해 AWS와 긴밀히 협력하고 있다”고 말했다. ■ 미래에셋, 국내 금융권 최초로 '클라우드 퍼스트 전략' 구사2015년 5월 AWS 클라우드를 통해 국내 금융권 최초로 클라우드형 웹서버시스템을 도입한 미래에셋자산운용은 국내외 데이터 센터를 클라우드로 일원화 하면서 연간 관리 비용을 50% 이상 절감했다. 특히, AWS 도입 이후 고객들의 접속 속도가 상당히 개선되었으며, 자체 시뮬레이션 결과 해외 접속자의 경우 약 3배의 속도개선 효과가 있는 것으로 나타났다.지난 AWS 클라우드 2016 키노트 발표자로 나선 미래에셋자산운용 김완규 정보기술(IT)본부 상무는 보안에 대해서도 "자체 데이터센터 보다 탄탄하고 안정감이 있다는 느낌을 받았으며, 외부의서버 분산공격에 대해서도 우리 웹 사이트는 AWS 클라우드 프론트 뒷단에 있기 때문에 매우 안전한 것으로 평가됐다"고 강조했다. 미래에셋자산운용은앞으로 다양한 펀드 상품에 대한 위험 관리 분석, 인트라넷 시스템 및 대규모 고성능 컴퓨팅과 같은 임무 수행에 필수적인 워크로드를 위해 AWS 사용 확장을 고려하고 있다.■ 핀테크 스타트업 스트라이프, 핵심 결제 서비스에 집중뿐만 아니라, 미국의 유명 핀테크스타트업인 스트라이프의 경우, 2011년부터 이미 AWS 클라우드를 기반으로 서비스를 개시했다. AWS에서는 클라우드 인프라에 대해 카드 업계 보안 규정인 PCI(Payment Card Industry)를 이미 준수하고 있을 뿐만 아니라, 글로벌 보안 인증과 감사 규정 준수를 위한다양한 클라우드 보안 서비스 선보이고 있었다. 회사는 이를 기초로 더 빠르게 서비스를 개시할 수 있었다.처음 시작하는 핀테크스타트업인 스트라이프 입장에서 이러한 금융 보안 규정 준수를 위해 많은 자원을 들이는 데 어려움이 있었다. 하지만, 스트라이프는 AWS 클라우드 보안 및 규정 준수를 위한 서비스를 통해 개발자들이 결제 서비스 전용 웹 사이트 및 모바일 애플리케이션을 빠르게 만들어 제공할 수 있게 되었다. 나아가, 결제 서비스 확대에 따른 트래픽을 감당할 수 있는 확장성 이라는 혜택을 얻게 되었다. 이를 기반으로 개발 생산성 향상 및 매출 확대의 기틀을 갖출 수 있었다.이렇듯 국내외 기존 금융권에서부터 새로운 핀테크 스타트업까지 AWS 클라우드를 통해 보안 및 규정 준수 뿐만 아니라 서비스 혁신과 빠른 변화 선도라는 두 마리 토끼를 모두 잡는 데 성공한 혁신 사례가 더욱 늘어나고 있다. 우리 나라에서도 핀테크 산업에 있어서 클라우드의 이점이 주는 장점을 빨리 취함으로써 다양한 금융 및 지불 서비스 혁신이 나오길기대해 본다.

2016.04.27 10:05윤석찬

데브옵스를 위한 지름길, 챗옵스를 아시나요?

클라우드 시대에 데브옵스(DevOps)는 선택이 아니라 필수이다. 인프라 자원을 소프트웨어 코드로 관리하고, 모든 개발 영역에서 자동화를 이루며, 이를 위한 SW 도구를 사용하여 협업을 통해 개발과 운영의 간극을 메워 좀 더 빠르게 비즈니스 혁신을 이루는 것은 소프트웨어 서비스 영역에서는 최근 몇 년간 가장 중요한 베스트 프랙티스가 되었다.이제 시스템 운영자는 개발팀의 요청에 맞추어 기존 데이터센터에 서버를 설치하고, 고장난 서버 및 하드 디스크 교체, 복구하는 일을 할 필요가 없다. 클라우드 환경에서 API 만으로 이 모든 일을 자동화 할 수 있는 프로그램을 짜는 것이 주요 업무가 되었다. 이렇게 되면, 운영자는 몇 대의 서버나 수천대의 서버나 시스템에 대해 신경 쓸 필요가 없게 된다. 이러한 베스트 프랙티스는 본디 개발(Dev)과 운영(Ops)을 나눌 수 없는 스타트업(Startups)이나 넷플릭스 같은 클라우드 올인(All-in) 기업에서 출발했다.따라서, 데브옵스란 하나의 조직이나 직군이라기 보다는 기업 내 전체 개발에서부터 배포 및 운영까지의 프로세스와 문화를 일컫는 것이다. 인력과 소프트웨어, 개발 프로세스나 인프라를 의미하기도 하지만, 이것이 성공적으로 도입되기 위해서는 조직 문화나 의사 결정 체계도 바꾸어야 한다. 아마존닷컴은 일찍이 각각의 세부 서비스 기능을 잘게 쪼개, 이를 맡은 개별팀이 자율성, 주인 의식과 열정을 가지고 빠르게 개발 및 운영하도록 조직 구조를 만들었다. 또 개발의 많은 부분을 자동화 하고 시스템적 해결 도구를 제공했다.■ 실시간 운영을 위한 챗옵스(ChatOps)의 발현데브옵스의 문화적 동인 중 가장 중요한 것이 실시간 커뮤니케이션이다. 많은 회사들이 이미 PC 혹은 모바일 메신저를 통해 동기화된 방식의 커뮤니케이션을 해 왔다. 최근 모바일 환경이 발전하면서, 그룹 채팅이라는 비동기적 방식의 경향도 더 뚜렷해졌다.국내 대표 인터넷 기업인 카카오의 경우, 회사 창업 초기부터 게시판과 답글 형식의 그룹웨어를 지양하고 아예 비동기식 메시지와 채팅 방식의 업무 앱을 사용해 왔다. 기존 그룹웨어에 익숙한 사람에게는 혼란스럽지만, 과거 IRC(Internet Relay Chat)을 사용해 본 경험이 있는 개발자라면 빠르게 적응할 수 있었다.개발과 운영이 합체된 팀에서도 서비스 장애 상황이 발생했을 때, 문제를 빠르게 해결하기 위한 도구가 필요하다. 물론 VPN을 연결해서 서버에 접속하고, 문제를 파악하고 콘솔과 대시보드를 보면서 일일이 해결 하는 방법도 있다. 하지만, 실시간 채팅을 통해 상황을 파악하고 이를 빠르게 처리할 수 있도록 도와 주는 역할을 하는 도구가 절실해졌다.2013년 깃허브(Github)의 개발팀은 원격 근무 환경에서 휴봇(Hubot)이라는 채팅봇을 통해 SW 자동 배포, 모니터링, 장애 처리를 가능하게 하는 '챗옵스(ChatOps)'라는 개념을 처음 소개했다. 오픈 소스로 만들어진 휴봇은 팀원들의 대화 중에 각종 정보를 제공해 주며, 문제를 빠르게 인지하고 필요한 경우 해결 할 수 있도록 하는 각종 명령어를 수행해 준다. 마치 예전 '심심이'를 연상하게 해 준다. 부수 효과로 새로운 개발자가 입사했을 때, 빠르게 팀의 개발 프로세스를 파악하고 업무 방법을 익히도록 도와 줄 수도 있다.■ 챗옵스를 시작해 보자사내 데브옵스의 다양한 프로세스와 기능을 업무용 채팅 플랫폼과 통합하는 것은 챗옵스에서 매우 중요한 일이다. 최근 해외에서 각광을 받고 있는 메시징 협업 플랫폼인 슬랙(Slack)이나 힙챗(HipChat), 그리고 국내 서비스인 잔디 등에서는 웹훅(Webhook)이라는 봇 개발에 필요한 방식을 제공하고 있다. 웹훅은 메시징 플랫폼에 적절한 권한을 승인 받아 명령을 수행할 수 있는 API를 말한다.챗옵스를 위한 웹훅을 전달하기 위해서는 원하는 봇을 만들어야 한다. 깃허브(Github)에서 공개한 휴봇의 경우, 다양한 Hubot scripts라는 서드파티플러그인들이 있고, 리타(Lita)라는 봇 역시 Lita plugins이 공개되어 있다. 레딧(Reddit)의 챗옵스 토론에도 다양한 베스트 프랙티스가 올라와 있어 손 쉽게 구축을 시작할 수 있다. 버즈니라는 국내 스타트업이 만든 홍모아라는 슬랙봇도 참고할 만하다.AWS 클라우드를 기반하고 있는 서비스라면, 챗옵스를 구축하기 위한 다양한 AWS 빌딩 블록을 이용할 수도 있다. 이는 AWS의 모든 자원을 API로 프로그래밍할 수 있을뿐더러 모니터링도 자유롭기 때문이다. 특히, 최근에 서버없이(Serverless) 원하는 기능만을 수행할 수 있는 AWS 람다(Lambda) 서비스와 다양한 API 호출을 AWS 내부 자원과 손쉽게 연동할 수 있는 아마존 API 게이트웨이(Amazon API Gateway)를 활용해 슬랙과 같은 메시징 플랫폼과 AWS기반 챗옵스를 구현하는 방법도 있다.또한, 람다 및 API 게이트웨이로 텔레그램과 슬랙을 연동하는 예제를 참고해도 된다.가장 먼저 해야 할 것은 작게 시작하는 것이다. 팀에서 가장 많이 필요한 정보이면서, 개발과 운영이 꼭 알아야 하는 업무와 기능을 정의하고 이를 구현해서 도움을 받는 것이다. 구성원들의 피드백을 받고 점진적으로 필요한 기능을 추가하는 것이 중요하다.■ 미래의 데브옵스, 보이스옵스(VoiceOps)?챗옵스라는 아이디어를 통해 데브옵스팀의 실시간 운영 생산성이 향상되었다면, 과연 미래의 데브옵스 환경은 무엇일까? 최근 로봇, 인공 지능 및 음성 인식에 대한 관심이 커지면서 더 빠르고 쉽게 사람의 손으로 하는 업무를 대체할 수 있을 것이라는 기대가 높아졌다.이러한 기대를 반영하듯이 보이스옵스(VoiceOps)라는 용어가 심심치 않게 회자되고 있다. 아마존은 음성 인식을 기반한 질문 및 음악 재생, 상품 주문 등의 기능을 수행하는 아마존 에코(Amazon Echo)라는 가정용 기기를 선보인바 있다. 아마존 에코 개발자 플랫폼을 통해 제공되는 알렉사 스킬 키트(Alexa Skills Kit)이라는 API를 통해 내가 원하는 기능을 탑재할 수도 있다.얼마 전 열린 미국 유타AWS 개발자 모임에서는 아마존 에코와 알렉스스킬셋을 기반으로 AWS 클라우드 인프라를 음성으로 조정하는 소위 보이스옵스 기능에 대한 코드를 공개하고, 데모를 진행한 바 있다. 미시간 지역 사용자모임에서도 유사한 챗옵스 데모를 보여주는 개발자 발표도 있었다.챗옵스로부터 촉발된 실시간 운영에 대한 요구로부터 시작해 음성 인식, 인공 지능을 기반한 미래의 데브옵스 환경이 우스개처럼만 보이지 않는다. 데브옵스는 좀 더 비지니스혁신을 위해 최대한 인간에 의한 운영 요소를 없애는(NoOps) 방향으로 진화하고 있으며, 이를 위한 스마트한 접근 방법과 프로그래밍 도구의 창조, 좀 더 민첩한 조직 문화와 협업 프로세스의 개선은 여전히 인간의 몫으로 남아 있다.

2016.04.11 13:43윤석찬

클라우드가 선사한 인공지능 기술의 자유와 기회

한바탕 인공지능(Artificial Intelligence)에 대한 열풍이 지나갔다. 과연 미래에 인공지능이 인간을 능가할 것인가에 관해 많은 사람들이 관심과 동시에 우려를 표했다. 체스, 장기 그리고 바둑같은 복잡한 게임에서 사람을 이기는 기계가 나오고, 퀴즈 대결 같은 지식 정보에서도 사람을 능가하는 인공지능의 발전은 SF 영화에 등장하는 기계를 장악하는 빅브라더의 출현, 또는 사람들의 일자리가없어지지 않을까 하는 막연한 우려를 만들기에 충분했다.사실 AI 개념은 매우 고전적인 것으로,이른바 기계가 스스로 배우는 기계학습(Machine Learning)의 개념으로 많은 알고리즘이 발전되어 왔다. 2006년 이후로 대용량 데이터를 처리할 수 있는 하드웨어의 발전과 빅데이터의 힘 그리고 소위 딥러닝(Deep Learning)이라고 불리는 인공신 경망 알고리즘의 뚜렷한 개선기법이 나온 후 많은 글로벌 IT 기업이 인공지능을 이용한 서비스 개발에 뛰어들고 있다.■딥러닝, 고성능 컴퓨팅과 복잡한 기술 장벽?딥러닝의 가장 대표적인 사례들이 수많은 사진에서 '하늘','바다' 같은 자연이나 각기 다른 '사람얼굴'을 찾고 인식하는 것으로, 사람은 아주 쉽게 분별하는 작업들을 컴퓨터는 계층을 나눈 패턴을 계산해야 하는 매우 복잡한 과정을 거쳐야 사람의 추론과 직관이라는 것이 가능해진다.이러한 딥러닝 기술은 대량 연산 능력, 즉 고성능 CPU 컴퓨팅 파워와 이를 동시에 병렬로 처리할 수 있는 가장 핵심적인 하드웨어 요소인 GPU가 필요하다. 이는 우리가 흔히 사용하는 PC 수준이아니라 수천장의 CPU와 수백장의 GPU 코어가 탑재된 컴퓨팅 파워를 기반으로 복잡한 계산을 하는 것으로서 지금까지는 마치 슈퍼컴퓨터를 가진 연구소나 거대 IT 기업의 전유물로 여겨져왔다.뿐만 아니라 딥러닝이라는 기술은 설명하기도 복잡한 과학자들이 다루는 고급 알고리즘으로서 일반인 뿐만 아니라 소프트웨어 개발자 조차도 이해하기는 매우 어려운 지식이다. 딥러닝에 적용하는 데이터 역시 대용량 빅데이터들로, 이를 적용해서 딥러닝 서비스를 만드는 것은 아무나할 수 없는것 처럼 보인다.하지만, 딥러닝을 위한 대용량 컴퓨팅 연산능력과 빅데이터 그리고 전문 알고리즘 지식 같은 진입장벽은 클라우드가 주는 자유로 인해 점점 허물어지고 있다. 지금까지 세상의 많은 성공한 기술들의 경우를 보면, 낮은 가격과 보편적인 기술이 되어 누구나 사용하여 아이디어를 실현할 수 있도록 공유되어 왔었다.■클라우드 컴퓨팅이 가져다주는 기회의 자유아마존웹서비스 가상 서버에서 이용할 수 있는 인스턴트 중에는 가상 CPU 32장과 GPU 4장그리고 240GB의 SSD를 탑재한 장비를 한시간에 3천원(버지니아리전기준 2.6달러)에 사용할 수 있는 것도 있다. 50대정도의 온디맨드 가상서버를 구축하면 1천500여개의 가상 CPU와 200개의 GPU가 달린 슈퍼컴퓨터를 누구나 시간당 15만원이면 사용할 수 있다.또한, AWS에서는 스팟 인스턴스라는 개념이 있어 유휴 장비를 경매를 통해 짧은 시간에 빌릴 수 있는 가격 옵션을 제공하는데, 온디맨드 대비 90% 정도 가격이 저렴하기 때문에 경우에 따라 1만 5천원 정도로도 사용 가능하다.병렬연결된 50대의 가상서버를 켜고 끄고, 필요한 데이터 분석을 진행하는 데는 모두 API를 사용한다. 지금 바로 한국의 사무실 혹은 집에 앉아서 PC 터미널 안에서 간단한 명령어 또는 스크립트만으로 지구 반대편의 나만의 슈퍼컴퓨터를 생성했다 없앨 수 있는 자유가 있다는 것이다.뿐만 아니라, 많은 딥러닝 알고리즘을 수행하는 소프트웨어 역시 오픈소스로 나와 있다. 엔비디아가 제공하는 GPU 프로그래밍을 위한 라이브러리 CUDA (Compute Unified Device Architecture)를기반으로 Lua 언어로 만들어진 오픈소스 머신러닝 라이브러리인 토치(Torch)를 비롯하여 몬트리올 대학에서개발한 파이선 기반 Theano 라이브러리 그리고 여기서 파생되는 많은 오픈소스 라이브러리가 공급된다. AWS에는 이러한 라이브러리들이 이미 설치돼 앞서 말한 GPU 기반 가상 서버 에바로 활용할 수 있는 부팅 디스크 같은 것을 머신 이미지들을 제공하고 있다.기계학습 알고리즘에 익숙하지 않은 소프트웨어 개발자들도 아마존이 제공하는 머신러닝 서비스를 이용하면 손쉽게 데이터를 통한 학습, 모델 생성 및 추론을 해 볼 수 있다. 뿐만 아니라 AWS에는 대용량 스토리지, 하둡 클러스터 운영, NoSQL및 데이터웨어하우스 등 다양한 빅데이터 처리를 위한 빌딩 블록이 있어 데이터 수집, 저장과 분석을 바로해 볼 수 있는 장점이 있다.■개인이나 스타트업 누구나 참여할 수 있다!제약업체를 위한 분자 모델링 패턴을 연구하는오픈아이사이언티픽(OpenEye Scientific)이나 GPU 기반의 고성능 동영상 렌더링에 필요한 작업을 하는 OTOY, 의료 이미지 데이터를 딥러닝 기법으로 분석하는 버터플라이네트워크(Butterfly Network) 등 스타트업도 AWS의 고성능 클라우드 컴퓨팅을 선택함으로서 최신 AI 기술을 활용 가능한 자유를 얻게 되었다.전세계적인 온라인 동영상 업체인 넷플릭스 역시 AWS의 GPU 인스턴스를 기반으로 다양한 딥러닝 기술을 적용할 수 있는 노하우를 공개하기도 했으며, 유명 개발자 커뮤니티인 레딧(Reddit)에서도 많은 개인들이 AWS에서 딥러닝 적용을 위한 팁을 공유하고 있다.AWS 퍼블릭데이터 세트에는 대용량 공공 데이터를 무상으로 제공해주는 서비스도 있다. 과거에는 인간 게놈 매핑같은 대규모 데이터 세트를 찾아 다운로드 하고, 가공 및 분석하려면 오랜 시간이걸렸지만 AWS에서 바로 찾아서 빅데이터 분석이 가능해졌다. 이러한 데이터에는 NASA가 보유한 고해상도 위성사진인 LANSAT, 전세계 일기 정보인 NEXRAD, 암 게놈 데이터인 TCGA를 비롯 천문학, 생물, 기후 및 경제와 언어 데이터 등 수많은 정보를 얻고 이를 활용할 수도 있다.NASA의 제트 추진 연구소는 화성에 보낸 무인 로봇 탐사선 인큐리오시티의 빠른 의사 결정과 동작을 위해 AWS와 인텔의 수백개 고성능 컴퓨팅 인스턴스를 활용하여 12테라플롭스의 데이터를 40달러 수준의 비용으로 분석할 수 있다는 것도 보여 주었다. 로봇 공학적 계산이나 극지역 기후 분석, 원할 때마다 언제든지 클라우드의 컴퓨팅 파워를 얻을 수 있어 AWS 고성능컴퓨팅(High Performance Computing)의 혜택으로 비용과 시간을 크게 줄여, 문제 해결을 위한 연구에 더 집중할 수 있게 되었다.AI 기술의 발전이 많은 사회적 경제적 우려를 낳고 있지만, 클라우드 컴퓨팅이 가져온 혁신과 변화로 인해 누구나 그 기술의 주인이 될 수 있는 자유를 얻을 수 있다. 그렇게 된다면 인공지능으로 인한 빅브라더의 출현과 기계의 지배라는 막연한 불안 보다는 기계와 인간의 협력적 공존이 가능할 것이다. 클라우드를 통해 더 많은 사람들이 인공지능을 활용해 우리의 삶을 윤택하게 할 수 있는많은 발명과 혁신을 꾀하기를 기대해 본다.

2016.03.23 00:03윤석찬

마이크로서비스를 위한 AWS 빌딩 블록 이해하기

2006년부터 아마존닷컴은 쇼핑몰 서비스를 마이크로서비스 단위로 서비스를 분리하여 이를 API 인터페이스를 가지도록 하는 아키텍처를 도입하고 실제 서비스에 적용하였다. 아마존닷컴 CTO인 버너 보겔스(Dr. Warner Vogels)박사의 2006년 인터뷰를 인용해 보자.“아마존닷컴은 10년전 (1995년) 웹 서버와 데이터베이스 백엔드를 가지는 모놀리식(Monolithic) 애플리케이션으로 시작하였습니다. 5년전(2001년) 아마존은 주요한 아키텍쳐 변화가 있었는데 2 티어(tier)기반에서 서로 다른 애플리케이션 기능을 제공하는 분산 서비스 플랫폼으로 변화하였습니다… 여러분이 지금 Amazon.com의 첫화면에 들어온다면, 그 페이지를 생성하기 위해 100여개가 넘는 서비스를 호출하여 만들고 있습니다.” A Conversation with Werner Vogels , 2006아마존에서는 이러한 인터페이스를 가지는 각 서비스를 재료(Primitives)라는 용어로 부른다. 어떤 애플리케이션을 완성하기 위한 원료 혹은 재료로서 이를 빌딩 블록으로 조립하여, 원하는 서비스를 만들 수 있는 구성 요소를 말한다. 마치 레고블럭을 조립하여 우리가 원하는 모양의 레고를 만들 수 있는 것과 같은 원리이다■마이크로 서비스를 위한 빌딩 블록 철학아래 그림은 현재 아마존닷컴을 이루고 있는 수 천 개의 서비스들이 서로 어떤 연관 관계가 있는지 의존성에 대한 부분을 연결한 아키텍처이다. 수많은 점들이 서로 연결되어 있는 이러한 아키텍처 모양은 최근 마이크로 서비스 구조에서 자주 인용되는 모양이라고 할 수 있다.2006년에 시작된 아마존웹서비스(AWS) 역시 이러한 아키텍처를 기반으로 서비스를 만들고 있다. AWS에서도 컴퓨팅, 데이터베이스, 스토리지를 비롯하여 모바일, 데이터 분석 등 다양한 영역에 세분화된 50여가지가 넘는 서비스를 제공하고 있으며, 그 서비스 역시 더 세분화된 서비스로 구성되어 있는데, 모든 기능은 API로서 호출이 가능하다.즉, 사용자들이 사용하는 AWS 관리 콘솔, AWS 명령어 인터페이스(Command Line Interface), 그리고 언어별 SDK를 통해 API호출을 할 수 있다. 이제 AWS 사용자들은 필요로 하는 비즈니스 혹은 기술적 요구 사항을 AWS 서비스를 조합함으로 해결할 수 있고, 아마존닷컴과 마찬가지로 AWS 역시 원하는 애플리케이션을 만들기 위한 서비스 기반 빌딩 블록 철학이 자리잡고 있다.그렇다면, 이러한 아마존닷컴의 많은 개별 서비스를 어떤 개발 조직과 문화로 만들고 있을까? 여기서 그 유명한 아마존의 '피자두판의 법칙'(Two Pizza Team)이 나온다. 즉, 가장 이상적인 팀의 크기는 피자두판으로 한끼를 때울 수 있는 인원으로 다수의 인원이 참여해야 하는 프로젝트라도 소수의 팀으로 나누어 구성하여, 각각의 작은 팀이 세부 기능에 대해 책임감과 투명성, 열정을 갖고서낮은 커뮤니케이션 비용으로 전담할 수 있게 한다. 즉, 분산된 독립적인 책임감과 주인의식을 갖는 팀에 의해 서비스가 만들어진다는 의미이다.■독립된 데브옵스팀을 통한 서비스 개발 문화하나의 작은 서비스에 작은 인원이 개발을 하고, 이를 개발부터 배포 및 운영 및 장애 처리까지 가능 하려면 필요한 것은 무엇일까? 바로 개발과 운영(DevOps)에 드는 많은 비용을 자동화 하고 시스템적으로 해결하는 도구를 제공하는 것이다. 아마존에서는 이를 위해 AWS를 통한 클라우드 인프라뿐만 아니라 많은 개발 및 배포 도구를 갖추고 있다.예를 들어, 아마존에서는 10여년 전 다운타임 없이 개발 배포를 자동으로 진행하고, 헬스 체크 및 간편한 대시보드를 보유한 아폴로(Apollo)라는 내부 배포 시스템을 개발했다. 이 시스템은 배포 버전 관리 및 롤백에 대한 기능도 가지고 있다.“수천명의 아마존 개발자들은 매일 Apollo를 사용하여, Java, Python, Ruby 앱을 웹 서비스로 네이티브 코드 서비스로 배포하고 있습니다. 지난 12개월 동안 Apollo는 5천만번이 넘는 개발, 테스트 및 정식 서버로 배포가 진행되었습니다. 이는 초당 한번 평균 한번 이상의 배포횟수입니다. “Werner Vogels, The Story of Apollo - Amazon's Deployment Engine, 2014코드 배포뿐만 아니라 테스트부터 정식 서비스까지 각단계에 어떤 배포 단계를 가지는가도 SW 테스트에 매우 중요하다. 아마존은 7년전 내부시스템에서 코드커밋에서부터 정식서비스까지 걸리는 시간을 측정했는데, 개발도구를 쓰는시간보다 프로세스상에 승인, 피드백, 알림 등을 하는 사람이 하는 일에서 시간이 많이 걸린다는 점을 알게 됐다. 이에 소스, 빌드, 테스트, 배포단계별로 사람의 영향을 최소화하는 파이프라인(Pipeline)이라는 도구를 개발했다. 이를 통해 알파, 베타, 정식 서비스 등 확장된 단계가 있더라도 자동화된 출시 과정을 거칠 수 있게 되었다.이른바 출시 자동화라는측면에서 현재 회자되고 있는 전통적인 의미의 지속적 배포(Continuous Deploy) 및 지속적 통합(Continuous Integration)을구현하는 내부 제품이다. 이를 통해 수천개의 아마존 내부팀은 마이크로서비스 아키텍처를 기반으로 자동화된 개발도구를 사용하여 자동화된 배포를 통해 서비스를 빠르게 출시하고 지속적인 혁신을 이룰 수 있었다.현재 AWS의 많은 서비스 중에서는 이러한 아마존닷컴의 경험을 기초로 외부 고객들의 피드백과 요구 사항을 받아 서비스로 공개한 것이 많다. 대표적인 것이 바로 아마존닷컴의 장바구니 시스템에 사용하던 내부 키-밸류(Key-Value) 데이터베이스였던 다이나모(Dynamo)를 AWS의 대표적인 NoSQL 매니지드 서비스인 아마존 다이나모 DB(Amazon DynamoDB)로 제공하고 있다. 앞서 소개한 아마존닷컴 내부의 코드디플로이와 파이프라인 서비스는 각각 AWS코드디플로이(AWS CodeDeploy)와 코드 파이프라인(CodePipeline)이라는 이름으로 2014년 10월 AWS 리인벤트( AWSre:Invnet)에서 정식 공개됐다.이렇듯 AWS 클라우드를 사용하는 고객이라면, 아마존닷컴의 서비스 경험에서 우러나온 다양한 서비스를 활용하여 고객의 요구 사항에 들어맞는 빌딩 블럭을 직접 만들어 서비스할 수 있다. AWS 아키텍처센터에서는 간단한 웹 사이트부터 빅데이터분석, 재난 및 장애를 위한 분산, 기업형 애플리케이션까지 다양한 AWS빌딩블록을 참고해 볼 수 있다.

2016.03.10 10:57윤석찬

클라우드 기술에 대한 세 가지 패러다임 변화

최근 10년 동안 클라우드 기술 혁신이 일어남에 따라 민첩한 비즈니스에 큰 영향을 미치는 애플리케이션 개발 및 서비스 배포에 대한 새로운 패러다임이 생겨나고 있다. 과거 데이터센터를 직접 운영하던 온프레미스(On-premise) 환경에서는 물리적 서버를 준비하고, 운영체제 설치 및 앱 서비스 배포를 하는데 몇 주간의 시간이 걸렸다.그러나, 클라우드 시대에 접어 들어서는 단 몇 분안에 우리가 원하는 서버 자원을 준비하고 앱을 배포할 수 있게 되었다. 또한, 이들 자원은 사용자의 트래픽에 따라 언제든지 탄력적으로 확장 및 가용성을 가질 수 있게 되었다. 2006년 아마존웹서비스(AWS)의 아마존 EC2(Amazon Elastic Compute Cloud: Amazon EC2)라는 서비스는 가상 서버를 실제 서비스에 사용할 수 있도록 다양한 CPU와 메모리를 가진 40여가지 인스턴스 타입(Instance Type)을 지원하여, 원할 때 마다 언제든지 준비된IT 자원을 얻을 수 있는 민첩성을 얻게 되었다.■컨테이너를 통한 수초 단위로 앱배포 단축클라우드 내 가상 서버 역시 서버이다. 다양한 앱을 실행하는데 있어 운영 체제와 플랫폼의 제한 사항은 그대로다. 따라서, 내부 자원을 효율적으로 사용하고, 최근에는 좀 더 빠르게 앱을배포하고자 하는 컨테이너(Container)라는 조류가 나타났다.컨테이너 서비스란 기존 서버를 통해 2개 이상의 애플리케이션을 배포하는 부담을 줄이기 위해, 앱을 실행하는데 필요한서비스 프레임워크,라이브러리, 소스 코드를별도의 격리된 이미지파일로 만든 후 이를 독자적으로 실행할 수 있도록 만든 것이다. 대표적으로 도커(Docker)가 이러한 컨테이너 서비스 기술을 주도하고 있다.AWS에서도 2014년 AWS 리인벤트(re:Invent)를 통해 아마존 EC2 컨테이너 서비스(Amazon EC2 Container Service: ECS)를 공개했다. 이를 사용하면 Amazon EC2 가상 서버 클러스터에서 도커 지원 애플리케이션을 손쉽게실행할 수 있다.개발자들은 로컬PC에서 컨테이너로 패키징된 앱을 아마존 ECS가 관리하는 클러스터를 통해 단일 컨테이너에서 시작하여 수백개의 가상 서버에서 실행되는 수천개의 컨테이너까지 일반적으로 애플리케이션을 실행하는 것처럼 쉽게 확장할 수 있다. 즉, 컨테이너 서비스를 통해 기존 가상 서버 자원에 별도의 격리된 작은 마이크로 서비스를 원할 때 마다 언제든지 수 초 내에 배포할 수 있는 상태가 되었다.■서버 없는 클라우드 함수의 등장또 하나의 주목할 만한 서비스는 바로 AWS 람다(Lambda)이다. AWS 람다 역시2014년 AWS 리인벤트에서 발표된 서비스로 클라우드에서 확장성에 대한 고민 없이도 경량의 애플리케이션을 실행하는 새로운 클라우드 서비스 환경이다.개발자가 간단히 파이썬, 자바스크립트 혹은 자바 코드 스니핏을 작성하여, 특정한 클라우드서비스 이벤트에 반응하는 함수로서 실행할 수 있다. 예를 들어 아마존 심플 스토리지(Amazon Simple Storage Service: Amazon S3) 스토리지에 사진을 업로드한 후 이미지 썸네일을 만드는 기능을 생각했을 때, Amazon S3에 업로드 되었다는 이벤트에만 반응하는 람다함수를 작성하기만 하면 된다. 람다 함수는 코드가 실행되는 짧은 시간(수 밀리 세컨드)에만 과금이되며,코드가 실행되지 않을 때는요금이 부과되지 않는다.AWS 람다를 활용하면, 사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도 서버 없이 실행할 수 있다. 소스코드를 업로드하기만 하면, 높은 가용성으로 코드를 실행하고,가용성 및 확장성 등 필요한 모든 것을 처리하기 때문이다. 특히, AWS의 자원 이벤트 변화에만 의존하지 않고 2015년 6월 출시된 아마존 API 게이트웨이(Amazon API Gateway)와도 연계가 가능하다. 이를 통해 외부에서 들어오는다양한 API 호출 대한 실행도 가능하여, API Gateway와 함께 AWS 자원을 제어하는 모든 종류의 기능을 수행할 수 있다.특히,모바일, 웹, 기업용 또는 IoT 애플리케이션에서 REST 기반 호출 서비스를 위한 API를 개발자가 손쉽게 생성, 게시, 유지관리, 모니터링할 수 있게 해준다. 기존에 API를 운영하고 있는 경우, 외부 혹은 사내팀에게 API를 제공할 때 필요한 많은 부담을 덜어주는 역할을 한다. 아마존 API 게이트웨이는 아마존 EC2에 있는 애플리케이션, 람다함수및 외부에 있는 API 등을 엔드포인트로 사용할 수 있을 뿐 아니라 API 키관리, 트래픽 관리, 보안 및 인증 그리고 iOS/안드로이드 및 자바스크립트 SDK(Software Development Kits)을 자동으로 생성해 준다.즉, AWS 람다와 아마존 API 게이트웨이는 기존 가상서버, 컨테이너 서비스와 함께 서버 없이도 확장성을 고민하지 않고도 바로 원하는 애플리케이션 기능을 수 밀리세컨드 단위로 수행할 수 있다. 최근에는 이를 바로 개발 현장에 접목할 수 있는 Serverless FRAMEwork이라는 오픈 소스개발 플랫폼이 나와서 각광을 받고 있기도 하다.10년에 걸친 클라우드 기술의 패러다임 변화는 개발자들에게 큰 수고와 비용 없이도 좀 더 빠르고 민첩하게 다양한 애플리케이션을 만들고, 서비스 운용을 위한 확장성 및 가용성에 대한 다양한 선택지를 제공해 주고 있다.

2016.02.23 09:42윤석찬

[칼럼]요즘 개발자들이 노는 곳은?

굳이 유행 따라 살 필요는 없지만, 사람이 많이 모이는 곳에서 놀다 보면 아무래도 얻어 듣는 이야기도 많고 정보를 많이 얻게 된다. 소프트웨어 개발자들이 주로 노는 물 좋은 곳이 어디일까? 국내에서는 주로 데브피아, KLDP, 클리앙, 파코즈 등에 개발자들이 모여 있는데, 해외 개발자들이 요즘 어디에 몰려 있고, 무엇에 관심 있는지 좀 알아 둘 필요가 있겠다. 만약에 여기 나열하는 곳과 키워드 그리고 콘퍼런스를 잘 모르고 있었다면 한번쯤은 반성을 해보고 가끔 기웃거리는 시늉 정도는 해보면 어떨까 싶다. ■ 집단 지성으로 문제 풀기 스택오버플로우는 유명 SW 개발자인 조엘 스폴스키가 만든 SW 개발에 대한 Q&A 사이트이다. 마치 네이버 지식인처럼 답변도 빠르고 추천에 의해 정확한 답이 위로 올라오고 비추천 기능은 안 좋은 답은 아예 사라지기도 한다. 워낙 방대하고 다양한 질문이 많기 때문에 태그를 통해서 분류가 된다. 그러다 보니 요즘 개발자들의 관심사도 많이 반영된다. 경험이 묻어난 답은 구글링을 하는 것보다 훨씬 양질이다. 이 사이트의 성공으로 인해 개발자뿐만 아니라 파워 유저를 위한 다양한 분야별 커뮤니티로 확장하고 있는 중이기도 하다. ■ 오픈 소스 개발도 소셜 네트워크GitHub는 리눅스 커널에서 사용하는 분산 소스콘트롤 소프트웨어인 git를 이용한 소셜 오픈소스 프로젝트 호스팅 사이트이다. 그러나 소스포지, 론치패드, 구글 코드와 같은 포지(Forge)류 서비스와 확연한 차이가 있다. 대개 분산 소스 콘트롤은 대형 오픈소스 프로젝트에 이용하는데 반해 Github는 개인의 작은 오픈 소스 개발 활동에 도움을 준다. 커뮤니티를 만들어 운영하는 비용도 없다. 바로 복잡한 기능 대신 오로지 소스 코드만 존재한다. 특히, 분산 소스콘트롤의 특성답게 누구나 프로젝트를 분리(forking)할 수 있다. 기존 커뮤니티에서는 포킹은 불명예지만 여기서는 자유롭게 오히려 더 많은 포킹을 장려한다. 다른 사람의 코드를 가져와서 원하는 기능을 수정한 후, 원래 개발자에게 가져가라고 요청(Push)만 하면 된다. 그러다 보니, 버그트래커도 없고 커뮤니케이션 비용도 없다. 좋으면 받고 아니면 그만이다. ■ 새로운 '자바 세계'를 잡아라 과거의 자바와 전혀 다른 자바의 세계가 열리고 있다. 우선 HTML5와 웹 애플리케이션이 강세가 되면서 자바스크립트가 대세가 되는 중이다. 프론트엔드에서는 JQuery, 그리고 백엔드에서 Node.js 정도는 알아 두어야 한다. 자바 언어 기반의 더 중요한 플랫폼도 있다. 아파치 프로젝트에서 진행 중인 분산 컴퓨팅 플랫폼인 Hadoop, Cassandra(NOSQL), Pig, Hive와 같은 프로젝트는 대용량 데이터 처리를 요하는 클라우드 컴퓨팅 시대의 중요한 코드들이다. 안드로이드 역시 중요한 위치를 차지한다. 장차 아이폰, 아이패드 보다 더 많은 크기와 생태계를 만들어 낼 것이다. ■ 머니 머니 해도 오프라인 만나기 최근 들어 국내에도 꽤 많은 개발자 이벤트가 생겼다. 하지만, 여전히 맨날 똑같은 소수의 강사들의 튜토리얼이 판을 친다. 새로운 세계를 접하려면 (내 돈을 들여서라도) 국내가 아닌 해외 콘퍼런스를 한번 나가보라고 권해보고 싶다. 최근 가장 각광 받는 개발자 행사는 새로운 자바원(JavaOne)이라고 할 수 있는 Google I/O이다. (자화자찬 범벅인 애플의 행사는 패스!) 스타트업을 위한 개발자 튜토리얼류를 원한다면 Carsonified의 Future of Web Apps 행사도 괜찮다. 그밖에, 자바 진영의 Devoxx, 커뮤니티가 주도하는 QCon이나 유럽의 Øredev도 추천할 만하다. 오픈 소스쪽에서는 북미의 전통있는 OSCON, 유럽의 FOSDEM 정도가 좋다. 자기가 천재 개발자가 아닌 이상 SW 개발은 다른 사람과 어울려 해야 한다. 특히, 개발자들이 관심을 가지는 '생태계'에서만 밥 먹고 살 수 밖에 없고, 누가 그런 생태계를 열린 마음으로 만드느냐가 중요하다. 모든 업이 그렇듯이 소프트웨어 개발자들도 끊임없이 주변과 커뮤니케이션 하면서 여러 정보를 얻고 배워가길 바란다.

2010.10.22 08:45윤석찬

[칼럼]HTML5 동영상에 임하는 바람직한 자세

애플과 어도비의 플래시를 둘러싼 공방이 전입가경이다. 서로 공개 서한을 주고 받더니 급기야 어도비가 광고를 통한 홍보를 시작한 것이다. "어도비는 애플을 사랑한다"라는 신문 광고는 어도비가 HTML5와 개방형 기술에 대한 그들의 의지를 보여 준다. 사실상 애플의 의도는 자사 모바일 개발 플랫폼에 대한 문단속 의지임에도 불구하고 이것이 HTML5 vs 플래시라는 과도한 거품이 생겨 나고 있다. 최근 논란 중 대부분은 아이폰과 아이패드에서 킬러앱이라고 할 수 있는 동영상 기능을 HTML5의 요소로 구현 하느냐 아니면 플래시 비디오도 제공하게 하느냐로 귀결하고 있기 때문이다. 유튜브를 비롯 많은 기업들이 아이폰과 아이패드 호환성을 위해 HTML5 기능을 제공하고 있고, 최근 Hulu는 를 관망하고 플래시 동영상을 유지하겠다는 입장을 보이기도 했다. ■콘테이너를 벗어나 웹의 일부가 되다 우선 애플은 아이폰에서 플래시 동영상 뿐만 아니라 실버라이트, 리얼플레이어, 윈도우 플레이어 등 데스크톱에서 사용할 수 있는 모든 동영상 플러그인을 허용하고 있지 않다. 아니 플러그인하는 기술 그 자체를 허용하고 있지 않다고 봐야할 것이다. 사실 플러그인하는 자원은 웹의 일부라고 보기 어렵다. 웹의 일부냐 아니냐를 가를 수 있는 구분자는 바로 웹에 있는 자원을 우리가 찾고(URL addressable), 읽고(Readable), 저장(Indexable)할 수 있느냐는 것이다. 웹이 처음 만들어졌을 때, 음성 및 동영상 같은 멀티미디어들도 웹의 일부가 될 수 있는 기술적 고려는 있었다. 하지만, 90년대말과 2000년대 초반 인터넷 방송을 해 봤던 경험에 따르면 당시 네트워크 속도, 저작권, 공유 기술의 부족으로 인해 플러그인의 콘테이너에 갇혀 제공될 수 밖에 없었다. 하지만 웹 2.0 조류를 타고 오디오의 경우 블로그로 시작된 팟캐스트, 동영상은 유튜브가 나오고 나서야 사용자가 직접 만들어 공유 가능하게(sharable) 서비스가 나오기 시작했다. 특히 과거에 비하면 서비스 비용도 획기적으로 낮아졌고, 광고 시장의 성장도 눈부셔서 멀티미디어가 웹의 일부가 될 수 있는 토대가 된 것은 웹2.0의 또다른 혜택 중 하나다. ■진정한 개방 동영상(Open Video) 시대로 동영상이 웹의 일부가 된다는 말은 무엇일까? 바로 웹 문서와 같이 콘테이너를 벗어나 URL을 통해 사용자나 검색 크롤러가 읽고(보여주고) 저장할 수 있다는 이야기이다. 얼마 전 CSS 창시자인 하콤비움리 국내 강연 중 "HTML5에서 동영상 저작권은 어떻게 해결해야 하나?"라는 질문을 던진 사람이 있다고 한다. HTML5 동영상이 URL로 자유롭게 제공하여 크롤러나 사람이나 보고 저장할 수 있다는 것을 전제로 한다. 만일 저작권이 중요하다고 판단하는 서비스 제공자는 기존 처럼 콘테이너에 담거나 DRM 솔루션으로 꽁꽁 묶어 제공하면 된다. (Hulu가 HTML5 동영상에 소극적인 이유도 바로 이 때문이다.) 와 태그가 HTML5의 기술 사양에 포함된 것은 일찌기 이미지 파일이 그랬듯이 동영상을 통해 더 많은 사람들이 더 많은 정보 공유의 이익을 얻을 수 있기 때문이다. 유튜브에서 음성 인식을 통한 자동 자막 생성 기능을 경험해 보셨다면 이 기능이 얼마나 유용한지 알 수 있을 것이다. 누구나 웹 동영상을 접근할 수 있담면 이를 이용한 다양한 혁신 서비스가 나올 수 있다는 증거 중 하나다. ■정보 접근성과 단계적 기능 축소 HTML5 동영상에 대한 또 하나의 관점은 코덱에 관한 것이다. 사파리, 크롬 (그리고 IE9)의 최신 버전은 특허료를 지급해야 하는 H.264(AVC)를 기본 지원하고, 파이어폭스, 오페라, 크롬은 특허 무료인 오픈소스 코덱 '오그 테오라'를 지원하고 있다. 세간에서는 웹 코덱 전쟁이라고 칭하면서 어느 코덱이 대세가 될 것인지 이슈꺼리가 되고 있다. Mozilla나 오페라가 지향하는 바는 웹에 어떤 콘텐츠를 저작하거나 제공할 때, 누군가에게 돈을 내야 하는 것은 진정한 웹은 아니기 때문에 특허 무료 코덱을 주장하고 있다. 사실 웹 서비스 업체나 웹 개발자들이 누가 이길지 관망하면서 기다리는 것은 크게 도움이 되지 않는다. 단언하거나 HTML5 표준을 100% 구현하는 웹 브라우저도 없을 뿐더라 100% 같은 사양으로 구현한다는 것은 불가능하다. (과거 W3C의 웹 표준 사양을 100% 구현한 웹 브라우저도 없다.) 웹 개발의 중요한 고려 사항 중 하나는 단계적 기능 축소(Graceful Degradation)라는 개념이다. 자바스크립트를 꺼도 실행이 되고, CSS를 꺼도 보여주어 궁극적으로 HTML만 남아도 중요한 기능은 동작하게 하는 것이다. 우리가 웹 브라우저 호환성(Cross Browser compatibility)를 제공하는 것도 같은 이유이다. 이는 웹 개발자들의 필연적인 업무이다. 동영상 코덱의 경우, ogg나 mp4냐를 관망하는 건 의미가 없는 일이다. 접근성 향상에는 필연적으로 비용이 수반된다. HTML5 동영상 코덱 선택도 단계적 기능 축소 관점에서 접근할 필요가 있다는 의미이다. 구글이 이번 주 Google I/O에사 VP8 코덱을 오픈 소스로 제공하고, 여기에 애플을 제외한 어도비, 모질라, 오페라가 직접 참여하고, 마이크로소프트가 지원을 천명했기에 더욱 그렇다.HTM5 동영상은 HTML5의 극히 일부분에 지나지 않는다. HTML5의 수 많은 기술을 정확하게 이해하고 선택하는 것은 '웹 개발자'들의 몫이다. 주변에 이야기를 휘둘리기 보다 내가 웹 개발자로서 어떤 판단을 해야 하는지가 더 중요하다는 의미다. 그것이 우리가 웹 개발자로서 살아가야 하는 의무이자 책임이기도 하다.

2010.05.21 15:50윤석찬

[칼럼]구글버즈의 거대한 실험이 성공할까

구글 버즈 발표 후 하루가 안되어서 거의 대부분 지메일 사용자에게 '버즈'가 새로 생겼다. 2004년부터 지메일 사용자인 나에게는 (영상)채팅 기능 추가 이후 가장 큰 변화가 아닌가 싶다. 아직 며칠 되지 않았지만 빠른 확산 속도로 버즈 이용자가 늘고 있다. 이미 채팅 기능에 등록된 사람들이 이미 친구로 등록 되어 있는데다 기존 메일을 주고 받던 지인들 위주로 소셜 네트웍이 형성되고 있기 때문이다. 지메일 사용자들 중에는 메일 헤비 유저들이 많은데다 적어도 하루 한번 이상은 열어보기 때문에 버즈의 확산은 구글의 예측 대로 당분간 계속될 것 같다. ■명실 상부한 소셜 서비스 진입 '버즈'는 친구들의 인터넷 상의 활동을 모두 모아서 볼 수 있는 소셜 통합 구독기(Socialstream Aggregator)이다. 한 사람이 올린 블로그, 트위터, 사진, 동영상 등을 모두 가져다 보여 준다. 즉, 과거 트위터와 경쟁하다가 페이스북에 인수된 프렌즈피드(FriendFeed)의 구글식 복사판이라 할 수 있다. 이것을 지메일에 교묘하게 녹여 놓은 것이다. 지금까지 구글의 소셜 서비스 진입 경로를 보면, 주로 블로거닷컴, 유튜브, 피카사 같은 콘텐츠를 올리고 공유하는데 부터 가젯, 오픈 소셜 같은 개방형 소셜 애플리케이션 개발 그리고 구글 프렌즈커넥트, 소셜그래프 같은 인맥 구축 지원 도구까지 다양하다. 하지만, 구글에는 잘 짜여진 인맥망과 그사이의 놀이의 장(playground)이 절대적으로 부족하다. 사실상 정보 검색과 유통을 미션으로 삼고 있는 그들로서는 페이스북이나 트위터 같은 분야에 직접 뛰어 든다는 것은 마지막 선택이기 때문이다. 이제 구글은 선을 넘었다. 지메일을 기반으로 사람들 사이의 관계 그리고 그들이 만들어 내는 콘텐츠 및 커뮤니케이션, 그에 대한 상호 작용까지 감지해낼 만한 것을 만들었기 때문이다. ■소셜 검색 해법 찾을까? 구글의 세르게이 브린은 사용자들의 행동을 주시하는 것이 소셜 검색의 중요한 팩터이고 스팸을 감내하면서도 사용자에게 적절한 추천을 해 줄 수 있는 시스템을 만들 수 있느냐가 큰 도전이라고 구글 버즈 발표 소감을 밝혔다. 실제로 문서 링크 기반 웹 검색에 페이지랭크가 가져온 영향력을 볼 때, 소셜 데이터가 실시간으로 전달되는 현시대의 검색 패러다임에 걸맞는 알고리듬이 필요한 시점이 되었다. 과연 구글이 이를 극복할 수 있을까? 많은 이들이 의문을 품고 있었다. 페이스북, 트위터 등이 이미 그 자리를 확고히 잡고 있고, 4억명의 사용자를 가진 페이스북은 구글의 경쟁사인 마이크로소프토와 밀접한 관계를 가지고 있기 때문이다. 이에 구글은 트위터에 올라오는 5천개 사람들이 중얼거리는 짧은 트윗과 느슨한 인맥망에 돈을 아낌없이 투자했으며, 이제 2억에 가까운 지메일를 기반으로 정보 기반 소셜 네트워크인 '버즈'를 도입함으로서 소셜 검색에 대한 투자는 현재 진행형이다. 게다가 경쟁을 촉진하는 수단으로 소셜 데이터 개방을 선택했다. 수 많은 사용자들의 상호 작용과 활동들을 Activity Streams, Atom/RSS, MediaRSS, PubSubHubbub, Social Graph API로 대거 오픈한다. 특히, 향후 도입될 외부 쓰기 API에는 OAuth, Salmon, WebFinger 등의 공개 표준도 고려하고 있다. 자기에게 유리한 게임을 하고 싶은 것이다. ■일단 '긍정적' 결국은 '두려움' 특정인과 소통하는 메일 서비스에 RSS 리더 같은 정보성 도구를 집어 넣는 것이 대부분 실패에 그쳤지만, 버즈는 커뮤니케이션 기능을 갖춤으로서 그런 이미지를 불식시킨다. 지메일 사용자들도 구글의 실험에 일단 긍정적인것 같다. 새로 생긴 장난감 수준으로 버즈를 써 보고 있다. 버즈는 일단 누구를 지정해야 한다는 강박관념이 없이 자유롭게 쓸 수 있고 이에 대한 반응을 즉각 볼 수 있다는 장점이 있다. 구글 버즈의 모바일 버전을 보면 더 놀랍다. 대부분 스마트폰에 최적화된 버즈 메뉴에는 놀랍게도 위치 정보 추가 기능이 있다. 글 올릴 때, 내 위치를 선택해서 올릴 수 있고 지금 있는 위치 근방에서 올린 글을 볼 수 있다. 한참 인기를 끄는 위치 기반 커뮤니케이션 서비스인 포스퀘어(Foursquare)와 옐프(Yelp)의 그것을 차용한 느낌이다. 알지 못하는 동네 사람들의 이야기를 들어 보고픈 호기심을 자극한다. 이러는 사이 그동안 손도 안보던 프로필을 업데이트 하고 나의 소셜 자원 정보를 하나둘씩 구글에게 헌납해 주고 있다. 그들은 엄청난 정보 처리 능력을 가진 유일한 슈퍼 컴퓨터이다. 당연히 '빅 브라더'에 대한 막연한 두려움이 가슴 한켠에 치밀어 오를 수 밖에 없다. 세상의 모든 것은 한 군데에 모이려 하지 않고 흩어지려는 성향이 있다는 것. 인류는 다양성을 기반으로 늘 선택 가능한 대안을 필요로 했다는 점. 그것이 구글 버즈의 최대 장점이자 약점이 아닐까.

2010.02.12 11:02윤석찬

[칼럼]올해는 사용자를 골탕 먹이지 맙시다

웹서비스 업계에 있다보면 본의 아니게 자의반 타의반 '사용자를 골탕 먹이는 일'이 수시로 일어난다. 침묵하는 사용자들이 많다보니 주는 대로 꾸역꾸역 먹어야(써야) 하는 경우가 대부분이다. 이같은 상황이 벌어지는 것은 웹 기획자로 불리는 사람들이 서비스와 사용자 행태에 대한 정보 부족 때문이다. 이런 부족함은 가끔 엉뚱하게도 대박 서비스의 탄생으로 이어질때도 있다. 웹기획자가 사용자들의 행동을 제대로 파악하기가 쉽지 않다는 것을 보여주는 장면이다.올해는 웹서비스 사용자들이 좀 더 편한 한해가 되길 바라면서 몇 가지 점을 이야기해보고자 한다. ■제발 익숙한 것을 쉽게 뺏지 마세요 지난 주말에 네이버 사전 공식 블로그에는 한바탕 야단이 났다. 영어 사전 서비스 개편에 대한 수백개의 댓글이 달리는 등 반감이 거의 민란 수준이었다. 헤비 사용자들이 단어장 수준으로 낮아졌으며 예문이나 영영사전을 보려면 스크롤하거나 몇 번이나 클릭해야 하는 점을 주로 지적했다. 다행히 네이버 측에서는 며칠 만에 대응안을 내 놓았지만 상처는 적지 않았다. 2005년에 다음 한메일 주소록 개편을 할 때, 딴에는 에이잭스(Ajax)를 도입 관리상 편의를 높여 주려 했지만, 다량의 주소를 관리하는 헤비유저들에게는 오히려 속도를 느려지는 불편함이 발생, 엄청난 항의를 받은 경험이 있다. 사용자들에게는 익숙한 것을 바꿀 때는 조금씩 서서히 해야 한다. 그들은 확실히 좋은 것도 익숙하지 않으면 부정해 버린다. 특히, 느린 건 용서를 안해준다. 이것 저것 기능을 덕지 덕지 붙이면서, 응답 속도를 높히려는 건 거의 불가능하다. 한번 주었던 장점은 쉽게 빼앗으면 안된다. 뭔가 줄 때는 절대 뺏지 않겠다는 마음을 가지고 주어야 한다. 이것이 한 웹 기획자로 부터 받은 조언이다. ■돈이면 수단과 방법을 가려 주세요 과거 배너 광고가 돈이 되던 시절 웹 사이트 기획자들은 억지로 페이지뷰(PV)를 늘이기 위해 쓸데 없이 클릭 단계를 늘이고 사용자들을 귀찮게 하던 시절이 있었다. 아니나 다를까 검색 광고가 돈이 되는 요즘은 포털 사이트들의 검색 어뷰징이 가관이다. 요즘 네이트 시맨틱 검색이 엄청 뜨고 검색 점유율이 10%를 차지하고 있다는데 그 원인이 사용자들이 주제어 휠을 돌릴때 마다 나오는 검색어를 쿼리로 카운트하고 있기 때문이란 얘기가 있다.실제 작년 10월 부터 검색 쿼리 통계를 보면, 네이버와 다음의 검색 질의는 그대로인데 네이트만 늘고 있는 것으로 봐서도 알 수 있다.솔직히 네이트 탓할 일은 아니다. 네이버나 다음 모두 첫화면에 검색창 위에 주요 키워드를 올려 놓고 검색 질의를 유도 한다. 국내에서 검색 점유율이 얼마나 급했든지 구글 코리아도 얼마 전 국내 포털과 같은 방식을 도입했다. 물론 찬반은 있다. 사용자에게 이슈를 더 잘 검색하도록 도와 준다는 것. 하지만, 검색 본연의 정보 제공은 어디가고 가십성 이슈들만 남았는지 씁쓸하기 그지없다. 검색창을 빌미로 사용자들의 아까운 시간을 뺏고 있는지 다시 한번 돌이켜 볼 대목이다. ■개인 정보를 소중히 다뤄 주세요 작년 한 해 개인정보 유출 기업을 상대로 손해 배상 청구소송에 참여한 국민이 20만명에 육박했다고 한다. 옥션이 해킹에 의해 개인 정보가 유출 됐는가 하면 SK브로드밴드와 GS칼텍스 역시 정보 관리를 소홀히 했다. 주민 등록 번호 같은 민감한 개인 정보를 요구하는 곳은 국내 뿐이다. 이렇게 받은 것도 허술하게 관리하고 있어서 사용자들은 늘 불안하다. 이처럼 고객 정보를 부주의하게 다룰 뿐만 아니라 동의 없이 이를 마구 전달하는 경우도 많다 보니 사용자들은 스팸 메일이나 전화에 시달리는 건 다반사. 메일에 수신 거부 버튼이 있어도 로그인을 하고 몇 단계를 거쳐야 하고 바로 해지를 할 수 없는 것도 참기 어렵다. 웹 서비스는 사용자들이 주는 사랑을 먹고 자란다. 사용자를 소중히 생각하지 않으면 성공하기 어렵다. 아니 실패하는 대부분의 이유가 된다. 모든 웹 서비스 기획자들이 사용자를 위한 사용자의 의한 사용자의 웹 서비스를 만들어 주시길 진심으로 바라는 바이다.

2010.01.11 10:49윤석찬

[칼럼]구글이 혁신을 잃어간다

구글과 애플 그리고 마이크로소프트는 사실상 기술 혁신으로 살아 남은 회사이다. 이들 회사는 광고, 하드웨어, 운영체제라는 캐쉬카우가 든든히 밑바탕이 되고 있고 비슷한 행보를 보여온 기술 기업군에 속한다. 애플과 마이크로소프트는 한 때 어려움에 직면한 때가 여러번 있었고 이 때 마다 혁신과 변화를 통해 생존해 왔다. 구글은 그 중 가장 새로우면서도 독특한 전쟁을 진행 중이다. 자기만의 폐쇄된 플랫폼이 아니라 웹이라는 거대한 네트워크을 놓고 벌이는 싸움이기 때문이다. 이 원대한 꿈이 실현되기 위해 구글은 제대로 준비되어 가고 있을까? 웹이 하나의 회사에 의해 영향력이 좌우 되는 상황이 정말 올까? 최근 구글의 행보를 보면 여기에 의문을 던지는 징조들이 보이고 있다. 구글은 지난 5월말 Google I/O라는 개발자 콘퍼런스를 개최했다. 작년에 이어 두번째 행사를 진두지휘한 인물은 Vic Gundotra 부사장으로 MS 핵심 엔지니어에서 구글로 건너와 구글의 플랫폼 전략 조직을 총괄하고 있다. Google I/O는 올해 4천명의 웹 개발자들이 참여함으로서 MS의 MIX, 애플의 WWDC 그리고 이베이의 개발자 콘퍼런스와 함께 거대 개발자 행사로 떠올랐다. 각 사의 제품 및 기술 전략을 발표하는 자리인 만큼 키노트가 생중계 될 만큼 관심이 뜨겁다. ■뚜렷한 목표가 없는 조급증 올해 첫 키노트의 주인공은 구글의 새로운 프로젝트가 아니라 바로 차세대 웹 표준인 HTML5이었다. 리치 웹 애플리케이션을 만들 수 있는 각종 기술 스펙으로서 키노트를 통해 Canvas 벡터 그래픽, Video 기능, 위치 기반 서비스 등 데모가 펼쳐졌다. 작년 행사에서 구글 기어스(Gears), 앱스엔진(Apps Engine), 안드로이드, 오픈 소셜 등 다양한 자체 제품 기반 서비스로 무장했던 키노트와 완전히 다른 행보였다. 특히 HTML5를 전면에 내세움으로서 그동안 엄청나게 밀고 있었던 기어스를 포기하는 듯한 인상도 주었다. 기어스가 기존 HTML5을 상당수 구현하고 있지만 플러그인이라는 한계에 봉착해 있다. HTML5라는 다된 밥에 숟가락 하나 얻는 듯한 모습을 보이는 데서 몇 가지를 알 수 있다. 먼저 모질라, 오페라, 애플 등이 주도해온 기술 혁신에 무임 승차(?)하면서 챙길 것은 챙기겠다는 심산이다. 특히 기어즈와 크롬이라는 자체 플러그인과 제품으로 승부를 걸려했던 당초 계획이 틀어지고 있다. 구글이 한다고 해서 사람들이 다 써준다는 것은 아니라는 걸 다시 증명했다. (크롬의 점유율은 2%를 넘기고 있는 정도다.) 또한, 키노트 발표에서 보여준 HTML5 데모의 대부분도 크롬이 아니라 파이어폭스와 사파리를 활용한 것이었다. 대규모 투자가 진행되어온 크롬에 비해 1인 프로젝트에 불과한 사파리나 소규모 기업의 오페라 웹 브라우저 보다도 개발 속도는 늦다. 물론 웹 표준을 통해 플랫폼을 지향하고자하는 구글의 의지는 높히 살만하나 그런 결론에 도달하는 과정에서 뭔가 이루어 내려는 조급증과 프로젝트 시행 착오는 한번 생각해 봐야 할 점이다. ■옛날 성공 리더에 기대다 두번째 키노트에서 발표된 제품은 바로 구글 웨이브였다. 이 제품은 이메일과 인스턴트 메시징, 블로그, 위키, 멀티미디어 관리, 문서 공유 등의 핵심 온라인 기능을 하나로 통합한 것이 특징이다. 다양한 기능을 갖추었지만 많은 사람들이 아직 이것을 어디에 써야 할지 모를 만큼 단순하지 않기 때문에 최근 구글이 발표한 것들 중 가장 야심작이자 위기라고 극단적으로 평가가 엇갈린다. 2년이 넘게 개발되었는데도 아직도 프로토 타입 처럼 보이는데다, 이러한 혹평 때문인지 대대적인 데모 행사가 끝나고 한달이 지났는데도 아직 개발자에게 베타로 제공하고 있지 않다. 구글 웨이브는 독립적인 웹 서비스라기 보다는 통합 웹 애플리케이션을 만들어 낸 것이기 때문에 구글의 오픈 전략과 미묘하게 뒤틀린다. 이 서비스를 이용하면 야후나 마이크로소프트의 유사 서비스는 물론 지메일이나 구글 독스, 구글 토크, 피카사 같은 구글 서비스도 통합해 주는데 목표가 뚜렷하지 않는 두리뭉실한 애플리케이션이라는 의문을 제기하고 있다. 특히 이 서비스를 주도한 인물은 라즈 라스무센(Lars Lasmussen) 형제로 2003년 자신의 지도 서비스 스타트업이 구글에 인수됨에 따라 2004년 구글맵 개발을 진두 지휘했고, 검색 이후 구글의 가장 유명한 서비스로 자리매김 했다. 결국 구글의 주요 제품이랍시고 나온 것이 기존의 성공한 리더의 머리속에서 맴도는 타겟이 없는 서비스라는 데서 실망감은 더 크다. 회사가 조직화 되면 관료화 되면 기존에 성공을 이끈 사람에게 기대는 경향이 커지게 된다. 새로운 사람에게 주요 프로젝트를 맡기지 않는 위험 관리를 하기 때문이다. 만약 이런게 나온 프로젝트가 앞서 말한 조급증과 연결 되면 실패의 악순환을 거듭하는 단초가 된다. ■사람들이 떠나고 있다 구글이 가지고 있는 혁신의 원동력은 뭐니뭐니해도 사람이다. 세계 최고의 직장이라는 불리는 구글에 사람들이 몰리는 이유도 그 때문이다. 똑똑한 사람들을 뽑기 위해 몇 달씩이나 끈질기고 지긋지긋하게 면접을 보고라도 구글에 입사하려고 하고 구글 역시 검증된 인재를 뽑아왔다. 하지만, 최근에 구글로 부터 유명 스타트업으로 다시 이직을 하거나 마이크로소프트나 같은 기존 IT 기업으로 되돌아 가는 사례가 부지기수다. 올해만 해도 더그 바우맨 수석 디자이너를 포함해 스티브 호로비츠 기술 담당관, 산토시 자야람 검색 관리자 등 최근 구글을 떠난 다른 사람들은 페이스북과 트위터 같은 신생업체로 이동했다. 급격한 성장을 겪는 스타트업은 가급적 고유의 문화를 유지하려고 노력하는 편이다. 구글의 동료 평가나 위원회 조직, 프로젝트 진행 방식 등은 사람들을 수평 조직화 시킨다. 특히나 이런 경쟁 체제에서는 아이디어를 성공 시키는 소수에게 보상이 집중되는 경향이 크다. 주요 개발자를 제외한 구글의 평균 연봉 수준은 업계에서 그리 높지 않다고 알려져 있다. 이는 기존 큰 IT 기업에서 전통적인 경력 관리를 받아 왔던 경험을 한 사람들이나 뭔가 성공을 꿈꾸고 구글에 왔다가 프로젝트가 좌절된 사람 모두에게 엑소더스의 이유가 되고 있다. 얼마전에는 구글이 퇴사 가능성이 높은 직원을 미리 알아보는 수학적 HR 알고리즘을 개발하고 있다는 소식까지 들렸다. 인재 유출을 막기 위해 직원 2만여 명의 ▲인사고과 ▲승진 ▲임금 내역 등을 토대로 회사를 떠날 가능성이 큰 직원을 판별하는 수학적 공식을 개발해 자신이 과소평가됐다고 느끼는 직원을 판별해 낸다고 한다. 위에 나열한 안 좋은 징조들은 어찌보면 구글의 성장통이라고 말할 수 있다. 많은 기업들이 매우 큰 성공을 하고도 뚜렷한 이유없이 실패하는 경우가 다반사이고, 지속적인 기업의 성공을 유지하기 위해서는 너무나 다양한 역량들이 필요하다. 지금까지 구글의 성공 사례가 지속적인 것이 웹 전반에 도움이 되었던 점을 감안하면 그 혁신이 오래 지속되길 바란다.

2009.06.29 09:54윤석찬

기업내 오픈소스 개발 방식 도입記

최근에 오픈 소스 소프트웨어(Open Source Software)가 인기를 끌고 상용 S/W의 대안으로 자리 매김 하면서 많은 IT 기업들이 오픈 소스 소프트웨어를 개발 현장에서 사용하기 시작했다. 과거에는 제품 개발 시 비용 절감을 위해 단순히 차용하는데 머물고 있었으나, 최근에는 자사의 제품을 직접 오픈 소스로 공개하고 개발자 커뮤니티를 제품 개발에 끌어들이는 것은 이제 일반화 되고 있는 실정이다. 노벨, 썬마이크로스시스템즈, IBM, 오라클, 레드햇 같은 해외 유수 기업은 물론 국내에서도 삼성 SDS의 애니프레임, NHN의 큐브리드 등이 대열에 동참하고 있다. 하지만, 흔히 '프로젝트'라고 부르는 기업의 제품 개발 방식과 개발자 커뮤니티에서 오픈 소스 소프트웨어가 만들어지는 방식이 다르기 때문에 문화적 혹은 기술적 차이가 생기게 된다. 만약 자사의 제품을 오픈 소스 방식으로 개발하고 싶다면 많은 부분을 고려해야 한다. 오픈 소스 개발 방식은 다수 사용자의 버그 리포팅과 개발자 사이의 엄격한 상호 코드 리뷰를 기반으로 진행되는 특징을 가지고 있다. 오픈 소스 커뮤니티는 태생적으로 원격지에서 전혀 모르는 개발자들 사이에 만들어지기 때문에 개발 과정에서 온라인 프로세스의 엄격성은 매우 중요하고 잘 지켜진다. 하지만, 회사의 경우 개발팀 내에서 주로 직접 대면을 통한 의 의사 소통에 의해 개발이 이루어지기 때문에 문화적 차이가 존재한다. 특히, 시스템 통합(SI) 같은 기업형 프로젝트에서 CMMI 준수나 인수 인계 혹은 회계적 요구 사항에 의해 도입되는 전통적인 프로젝트 관리 시스템은 개발자들로 하여금 더 많은 비용을 야기 시키는 경향이 있다. 우리 회사에서도 과거 일정 관리 PMS가 있었는데 분기나 반기가 끝나면 형식적인 입력을 했었다. 따라서, 오픈 소스 개발 방식과 전통적 프로젝트 관리 방식 사이에서 적합한 솔루션을 찾는다면 효율성 측면에서 좋은 결과를 얻을 수 있을 것 같다. 아래는 몇 년 전부터 다음(Daum)에서 오픈 소스 개발 방식을 기업에서 차용하기 위해 시도했었던 몇 가지 노력에 대한 경험을 공유해보고자 한다.(1) 소스 코드를 한곳에 2004년 처음 입사 했을 때 우리 회사 개발 프로세스에는 몇 가지 문제점이 있었다. 우선 각 서비스 소스 코드가 각 팀들이 별도의 레포지터리(Repository)에 보관하고 있었는데 그러다 보니 서비스 중단 혹은 조직 개편으로 중간에 뜨는 것들이 생기고 있었다. 게다가 팀마다 CVS, 서브버전(Subversion), 소스세이프(SourceSafe) 등 다양한 소스 콘트롤을 사용했다. 가장 먼저 시도한 것이 바로 '소스 콘트롤 및 저장소 일원화'였다. 기존에 많은 팀에서 사용하던 CVS에서 서브버전으로 옮기는 작업을 했다. 서브버전은 CVS이 비해 체인지셋(Change Set) 단위 커밋(Commit)이 가능하고 파일 및 디렉토리 관리가 편하기 때문에 코드 변경 횟수나 파일이나 디렉토리명 변경이 자주 이루어지는 웹 개발 현장에서 훨씬 좋은 것으로 판단되었다. 특히, 서브버전은 웹으로 관리하도록 개발하기 용이한 구조로 되어 있어서 아직도 당시 만든 사용자 인증, 레포지터리 생성 및 관리 도구는 별 불편 없이 사용하고 있다. 당시 서브버전이 이클립스 플러그인 안정성 등 많은 이슈가 있어서 어려움이 많았지만 다행히 수백 개나 되는 전사 소스 코드가 한 자리로 모일 수 있었다.(2) 사소한 것부터 문서화 오픈 소스 프로젝트에서는 누구나 알만한 것들이나 알쏭달쏭한 것들을 모아서 문서로 잘 만들어 둔다. 누구나 다 알고 있을 것이라 여기는 사소한 것들부터 논쟁이 될만한 사안까지 다양한 문제를 하나의 문서로 제공해 주는 일은 꽤 유익한 일이다.우리 회사에서는 오래 전부터 자바(Java)를 주 언어로 사용해오면서 언어를 어느 정도 일원화해 왔기 때문에 개발자가 갖추어야 할 기술 지식에 대해 각 팀 별로 크게 다르지 않았다. 하지만, 각 팀 내 개발자에 따라 꽤 다른 코딩 습관 때문에 코드 리뷰나 이동이 일어나면 다양한 개발 이슈들이 자주 생기고 있었다. 우선 자바 코딩 컨벤션 번역문과 회사 내 코딩 컨벤션을 합쳐 문서화 하고 여기에 주석 가이드, SQL 작성 가이드, 사내 SW 라이센스 규정, 파일 및 디렉토리 명명 표준화, 코드 리뷰 프로세스 등 개발 중에 질문할 수 있는 것들을 묶어 문서로 제공하였다. 오픈 소스 커뮤니티에서도 이렇듯 자주 질문하는 내용에 대한 문서 정리가 매우 잘 되어 있다. 따라서, 회사 내 자질구레한 개발 프로세스에 대한 지식들을 모아서 문서로 제공하는 것은 가장 기본적인 일에 속한다. 이런 것들을 한번 문서화 해 두면 신입 이나 경력 개발자들이 들어와서 빠르게 업무를 파악 가능하기 때문이다.(3) 생산성 높은 프로젝트 관리 도구 제공 오픈 소스 개발 방식에서 사용하고 있는 대표적인 도구는 포지(Forge)류라고 불리는 프로젝트 관리 도구이다. 이들 소프트웨어는 프로젝트 생성 및 관리, 개발자 관리, 문서화, 게시판, 메일링리스트, 소스 콘트롤, 버그 트래커 등 다양한 기능을 제공해 준다. 온라인에서 널리 이용되는 것 중에 소스포지(SourceForge.net), 지포지(GForge.org) 등을 들 수 있다. 초기에 회사 공통 라이브러리 및 공용 소프트웨어를 위해 GNU Forge를 도입하고 사내 개발자 참여를 유도 했었는데, 실패로 끝났을 정도로 활용도는 극히 미비했다. 대표적인 이유가 포지 소프트웨어의 사용 편의성이 낮고 불필요한 기능이 많다는 점이었다. 따라서 최근 나온 Google Code나 LaunchPad.net 같은 신규 오픈 소스 프로젝트 호스팅 서비스를 보면 문서화, 버그트래킹, 소스콘트롤 등 심플하고 필요한 기능만 딱 제공 되고 있다. 많은 점에서 기존 포지 소프트웨어를 기업에서 바로 가져다 쓰기는 곤란하다고 본다. 2006년부터 각 개발팀에서 서브버전과 궁합이 잘 맞는 Trac이라는 프로젝트 관리 도구 이용에 대한 요구 사항이 들어오기 시작했는데 지금은 신규 레포지터리 중 대략 40% 정도가 트랙(Trac)을 이용하고 있다. 따라서, 각 회사에 맞는 적당한 프로젝트 관리 도구를 필요에 따라 제공하면 생산성을 높일 수 있을 것 같다.(4) 쉬운 문서화: 위키 통합 공간 개발자들에게 문서화를 촉구해 보면 대부분 템플릿을 요구한다. 도대체 어떻게 문서화 해야 할지 모르는 경우가 많기 때문이다. 전통 기업 프로젝트에서는 이를 위해 정형화된 워드, 엑셀, 파워포인트 양식이 있다. 아마 이런 것들은 어느 개발자나 한번쯤은 본적이 있을 것이다. 이 템플릿들의 문제점은 그 양식만 보고도 학을 뗄 정도로 쓰기 싫어진다는 데 있다. 대부분 필요한 요구 사항을 계속 덧붙이다 보니 배보다 배꼽이 더 큰 양식이 되어 버리기 일쑤다. 이런 탓에 우리 회사에서도 개발 업무 보고, 소스 코드 및 S/W 사용법 문서화 등에 쉬운 문법과 템플릿 그리고 이력(Revision) 관리가 가능한 위키(Wiki)가 주로 쓰이고 있었다. 하지만, 각 팀 취향에 따라 여러 가지 위키를 사용하는 데다 개발자와 기획자의 커뮤니케이션에서 위키가 쉽지는 않았다. 그래서 전사에서 사용할 수 있는 공용 위키 서버를 두어 개인 메모, 업무 보고나 자료 정리 등에 쉽게 위키를 쓰도록 하였다. 원하는 팀은 언제든 위키를 바로 세팅할 수 있다. 각 팀별로 위키 S/W가 일원화에 따라 유지 보수 비용 및 학습 비용이 감소 되고 기획자들도 자연스럽게 위키에 접근할 수 있는 기회가 열렸다. (요즘엔 기획자들도 위키를 쓰는데 익숙할 정도...)아직 미해결 과제 그 후 2년 전부터 외부 개발자 지원으로 업무를 옮겼지만 위의 사내 개발 지원 서버들은 계속 우리 팀이 관리하고 있다가 얼마 전 기술 자원 담당팀으로 이전을 했다. 그 동안 사내 개발 프로세스에서 오픈 소스 도구와 방식을 잘 이식시켜 왔다고 생각하지만 아직 남아 있는 몇 가지 숙제들이 있다. 첫 번째는 버그 트래킹에 대한 이슈다. 기존 오픈 소스에서는 버그는 원격의 다수 개발자들과 사용자 사이에 TODO 목록이고 작업에 대한 토론과 공유 그리고 리뷰가 함께 이루어지는 제일 중요한 요소다. 하지만, 회사 내 버그(?)는 대개 고객센터로 들어온 문제와 기획자의 의사 결정과 요구 사항이 함께 만들어져 개발자에게 제공되는 방식이다. 즉, 개발자와 기획자 1:1 혹은 팀장과 3자 정도로 공유되고 있다. 따라서 버그 트래커가 거의 불필요하거나 도입했더라도 버그 처리 과정 자체가 번거러운 일로 인식되게 된다. 게다가 소스 이력 관리를 위해 소스 콘트롤과 버그트래커의 유기적인 관계와 데이터 연결이 매우 중요한데도 이런 부분은 문화적으로 쉽게 정착되지 못하고 있다. 두 번째는 여전히 잦은 소스 콘트롤 사용 방법의 오류 문제다. 앞서 말한 대로 웹 개발 코드는 요구 사항이 자주 변경되고 사용자 인터페이스(UI) 부분의 변경도 수시로 일어난다. 그 도중에서 개발자들이 잦은 커밋을 하기 때문에 소스 콘트롤 로그가 아무런 정보를 제공하지 못하는 커밋 로그에 불과한 경우가 많다. 웹과 같은 서비스형 소프트웨어 개발 프로젝트가 늘면서 빠른 개발 방식을 선호함에 따라 잦은 소스 커밋을 브랜치(Branch)에 자유롭게 하고 최종 변경 사항만 트렁크(Trunk)에 할 수 있도록 쉽게 합쳐(Merging) 주는 자동화 도구가 절실한 것도 이런 이유다. 지금까지 나열한 개발 프로세스와 도구는 전통적인 소프트웨어 개발에서도 존재하거나 차용되어 왔던 것들이다. 하지만 오픈 소스 커뮤니티에서는 이를 위한 개발 도구 및 문화를 적극적으로 개방해서 공유함으로서 이러한 혜택을 얻지 못하는 기업에게도 도움이 되고 있다. 소프트웨어 공학자들의 최근 연구 결과에 따르면 오픈 소스 커뮤니티의 오류에 의해 버그가 생길 확률이 기업의 것 보다 더 낮다고 한다. 특히, 오픈 소스 커뮤니티에서 많은 개발자들이 이들 방식을 학습하여 실제 기업에서 적용할 수 있는 기회가 커지고 있다. 이러한 기회를 잘 활용하는 IT 기업에게 미래가 있을 것이다.

2008.11.16 16:46윤석찬

  Prev 1 2 3 4 Next  

지금 뜨는 기사

이시각 헤드라인

윤곽 잡힌 K-로봇 청사진…자원 효율적 안배 집중해야

갤럭시Z폴드7, 실제 사진 유출...크기·두께 보니

구글, AI 전면 개편…I/O 2025서 '제미나이' 중심 창작·개발 도구 공개

"기술이 뚫려도 제도가 막았어야"...유심 해킹 민낯

ZDNet Power Center

Connect with us

ZDNET Korea is operated by Money Today Group under license from Ziff Davis. Global family site >>    CNET.com | ZDNet.com
  • 회사소개
  • 광고문의
  • DB마케팅문의
  • 제휴문의
  • 개인정보취급방침
  • 이용약관
  • 청소년 보호정책
  • 회사명 : (주)메가뉴스
  • 제호 : 지디넷코리아
  • 등록번호 : 서울아00665
  • 등록연월일 : 2008년 9월 23일
  • 사업자 등록번호 : 220-8-44355
  • 주호 : 서울시 마포구 양화로111 지은빌딩 3층
  • 대표전화 : (02)330-0100
  • 발행인 : 김경묵
  • 편집인 : 김태진
  • 개인정보관리 책임자·청소년보호책입자 : 김익현