클라우드 107

빅쿼리를 이용하여 두시간만에 트위터 실시간 데이타를 분석하는 대쉬보드 만들기

Fluentd + Bigquery + Jupyter를 이용한 초간단 BI 구축하기 조대협얼마전에 빅데이타의 전문가로 유명한 김형준님이 "Presto + Zeppelin을 이용한 초간단 BI 구축 사례"라는 발표 자료를 보았다. http://www.slideshare.net/babokim/presto-zeppelin-bi 오픈 소스 기술들을 조합하여, 초간단하게 빅데이타 분석 플랫폼을 만든 사례 인데, 상당히 실용적이기도 하고, 좋은 조합인것 같아서, 마침 구글 빅쿼리에 대한 자료를 정리하던중 비슷한 시나리오로 BI 대쉬 보드를 만들어보았다.Fluentd를 이용해서 실시간으로 데이타를 수집하고, 이를 빅쿼리에 저장한 다음에 iPython nodebook (aka Jupyter)로 대쉬보드를 만드는 예제이다..

빅데이타 수집을 위한 데이타 수집 솔루션 Embulk 소개

빅데이타 수집을 위한 데이타 수집 솔루션 Embulk 소개 조대협 (http://bcho.tistroy.com) 빅데이타 분석에 있어서, 아키텍쳐적으로 중요한 모듈중의 하나는 여러 서버로 부터 생성되는 데이타를 어떻게 모을 것인가이다. 얼마전에, 일본의 사례를 보다가 눈에 띄는 솔루션이 있어서 주말을 통해서 이런 저런 테스트를 해봤다. Embulk 소개Embulk라는 솔루션인데, fluentd를 만들었던 사람이 만들었다고 한다.여러 종류의 데이타 소스에서 데이타를 읽어서 로딩을 할 수 있다. 주요 특징을 보면플러그인 형태로 여러개의 소스와 타겟을 지원한다. jRuby로 개발이 되어서 ruby gem을 이용하여 손쉽게 플러그인을 설치할 수 있다. 병렬 로딩이 가능하다. 예를 들어 여러개의 파일을 동시에 로..

빠르게 훝어 보는 node.js - 구글 앱앤진에 node.js 애플리케이션을 배포해보자.

Google 앱앤진에 node.js 애플리케이션을 배포하기 조대협 (http://bcho.tistory.com)PaaS 서비스란?PaaS란 Platform as a service의 약자로, 간단하게 설명하면, Linux VM등에 직접 node.js나 기반 환경을 설치하고 디스크와 네트워크 구성, 오토스케일링등의 구성이 필요 없이, 개발자가 작성한 코드만 올려주면, 이 모든 것을 클라우드에서 대행해주는 서비스의 형태이다. 인프라 운영을 위한 별도의 작업이 필요하지 않기 때문에, 숫자가 적은 기업이나 개발에만 집중하고 싶은 기업에는 적절한 모델이라고 볼 수 있다.근래에 스타트업 비지니스가 발달하고 또한 사용하는 기술 스택들이 복잡해짐에 따라 각각의 기술 스택에 대한 설치나 운영에 대한 인력을 두기보다는 Pa..

데이타 스트리밍 분석 플랫폼 DataFlow - #2 개념 소개 (2/2)

데이타 스트리밍 분석 플랫폼 Dataflow 개념 잡기 #2/2(트리거, 이벤트 타임, 워터마크 개념) 조대협 (http://bcho.tistory.com) 앞글 http://bcho.tistory.com/1122 에 의해서 Dataflow에 대한 개념에 대해서 계속 알아보자 트리거윈도우와 더블어서 Dataflow 프로그래밍 개념중에서 유용한 개념중의 하나가 트리거이다. 트리거는 처리중인 데이타를 언제 다음 단계로 넘길지를 결정하는 개념이다. 특히 윈도우의 개념과 같이 생각하면 좋은데, 윈도우는 일반적으로 윈도우가 종료되는 시간에 그 데이타를 다음 Transform으로 넘기게 된다. 그런데 이런 의문이 생길 수 있다. “윈도우의 크기가 클때 (예를 들어 한시간), 한시간을 기다려야 데이타를 볼 수 있는 ..

데이타 스트리밍 분석 플랫폼 DataFlow - #2 개념 소개 (1/2)

데이타 스트리밍 분석 플랫폼 Dataflow 개념 잡기 #1/2 조대협 (http://bcho.tistory.com) 실시간 데이타 처리에서는 들어오는 데이타를 바로 읽어서 처리 하는 스트리밍 프레임웍이 대세인데, 대표적인 프레임웍으로는 Aapche Spark등을 들 수 있다. 구글의 DataFlow는 구글 내부의 스트리밍 프레임웍을 Apache Beam이라는 형태의 오픈소스로 공개하고 이를 실행하기 위한 런타임을 구글 클라우드의 DataFlow라는 이름으로 제공하고 있는 서비스이다. 스트리밍 프레임웍 중에서 Apache Spark 보다 한 단계 앞선 개념을 가지고 있는 다음 세대의 스트리밍 프레임웍으로 생각할 수 있다. Apache Flink 역시 유사한 개념을 가지면서 Apache Spark의 다음 ..

데이타 스트리밍 분석 플랫폼 dataflow - #1. 소개

구글 데이타 스트리밍 데이타 분석 플랫폼 dataflow - #1 소개 조대협 (http://bcho.tistory.com) 실시간 데이타 처리에서는 들어오는 데이타를 바로 읽어서 처리 하는 스트리밍 프레임웍이 대세인데, 대표적인 프레임웍으로는 Aapche Spark등을 들 수 있다. 구글의 DataFlow는 구글 내부의 스트리밍 프레임웍을 Apache Beam이라는 형태의 오픈소스로 공개하고 이를 실행하기 위한 런타임을 구글 클라우드의 DataFlow라는 이름으로 제공하고 있는 서비스이다. 스트리밍 프레임웍 중에서 Apache Spark 보다 한 단계 앞선 개념을 가지고 있는 다음 세대의 스트리밍 프레임웍으로 생각할 수 있다. Apache Flink 역시 유사한 개념을 가지면서 Apache Spark의..

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2-node.js 샘플

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2 node.js를 통하여 메세지를 보내고 받기 조대협 (http://bcho.tistory.com) node.js에서 메세지 보내고 받기 이번 글에서는 node.js를 이용하여 실제로 pub/sub에 메세지를 보내고 받도록 해보자 키 파일 준비 하기Pub/Sub에 접속하기 위해서는 보안 인증을 위해서 키 파일이 필요하다.키 파일은 구글 클라우드 콘솔에서, API manager 메뉴로 들어가서 Credential 부분에서 Create Credential을 선택하면 아래와 같은 화면이 나온다.다음으로, 메뉴에서 Service account key를 선택하여 키를 생성한다. 키가 생성이 되면 json 파일로 다운로드가 된다.여기서는 편의상 키 파..

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #1

구글 클라우드의 대용량 메세지 큐 Pub/Sub 소개조대협 (http://bcho.tistory.com) 구글 클라우드의 Pub/Sub 은 클라우드 기반의 대용량 메세지 큐이다. 흔히들 사용하는 RabbitMQ, JMS나 Kafka의 클라우드 버전으로 보면 된다. Rabbit MQ와 같은 설치형 큐가 작은 메세지에 대해서 세심한 컨트롤을 제공한다고 하면, Kafka나 Pub/Sub은 대용량 스케일의 메세지를 처리하기 위해서 설계 되었고, 자잘한 기능보다는 용량에 목적을 둔다.그중에서 Pub/Sub은 클라우드 기반의 서비스로 비동기 메세징이 필요한 기능을 매니지드 서비스 형태로 제공함으로써, 별도의 설치나 운영이 필요 없이 손쉽게, 사용이 가능하다.보통 특정 클라우드 벤더의 매지니드 솔루션은 Lock in..

구글 빅데이타 플랫폼 빅쿼리(BIGQUERY)에 소개

구글 빅데이타 플랫폼 빅쿼리 소개 조대협 (http://bcho.tistory.com) 구글의 클라우드 관련 기술중 무엇이 좋은게 있을까 살펴 보면서 기술을 하나하나씩 보다 보니, 구글 클라우드의 특징은 여러가지가 있겠지만, 데이타 회사 답게 빅데이타 및 머신 러닝 플랫폼이 상당히 강하다. 그중에서 빅데이타 플랫폼의 중심에 BIG QUERY라는 빅데이타 플랫폼이 있어서, 몇 회에 걸쳐서 빅쿼리에 대해서 소개해보고자 한다.구글 빅데이타 분석의 역사구글은 빅데이타를 다루면서, 그 근간이 되는 기술들의 논문들을 공개했다. 하둡 파일 시스템의 시초가 되는 GFS나, 하둡의 시초인 MapReduce 논문, 그리고 Hive를 통해 오픈소스화가 된 Big Table등의 논문들이 있다. 구글의 빅쿼리는 Dremel 이..

구글 클라우드 로드밸런서를 이용한 부하 분산

구글 클라우드 로드밸런서를 이용한 인스턴스간 부하 분산조대협 (http://bcho.tistory.com) 클라우드 VM 생성하는 방법을 숙지 하였으면, 다음으로 여러개의 VM 사이에 부하를 분산할 수 있는 로드밸런서 기능에 대해서 알아보자. 구글의 로드 밸런서는 일반적인 L4 스위치와 같이 일반적인 TCP/UDP 프로토콜에 대한 라우팅이 가능하다. 여기에 더해서 HTTP 프로토콜에 대해서는 HTTPS Termination 뿐만 아니라, HTTP URI에 따라서 가까운 서버나 특정 서버로 라우팅이 가능한 L7과 유사한 기능을 가지고 있다. (자세한 내용은 http://bcho.tistory.com/1111)를 참고다른 글에서도 여러번 언급했지만, 구글의 클라우드 로드밸런서를 사용하게 되면, 서버로 들어오..