글

라벨이 [IT/Google Cloud Platform]인 게시물 표시

Google Cloud Platform 에서 PUB/SUB 사용하기

이미지
Google Cloud Platform 에서 PUB/SUB 사용하기 Google Cloud Platform(GCP)에서 실시간으로 안정적인 메시징 및 데이터 스트리밍을 제공하는 글로벌 서비스가 Pub/Sub 이다. 1. GCP Pub/Sub 서비스 소개  1.1 확장 가능한 메시징 미딜웨어 Cloud Pub/Sub는 실시간 메시징 서비스로 개별 응용 프로그램간에 메시지를 주고 받을 수 있다. 그리고 GCP 또는 인터넷의 다른 곳에 있는 시스템 또는 컴포넌트들을  분리하기 위하여 Cloud Pub/Sub을 활용할 수 있다. Cloud Pub/Sub는 1초에 100만건을 낮은 대기 시간에 '적어도 한 번은' 제공되도록 설계되어 있다고 한다. 1.2 모든 데이터에 연결 Cloud Pub/Sub을 사용하여 여러 소스로부터 데이터에 publish와 subscribe 한 후, Google Cloud Dataflow에 의한 데이터의 파악도 실시간으로 실행할 수 있다. Cloud Pub/Sub을 사용하면 분산 응용 프로그램 구성 요구산의 복잡한 종석성을 줄일 수 있다. Cloud Pub/Sub는 구글의 광고에서 GMail까지 구글 앱에 사용되는 동일한 메시징 기술이라고 한다. 1.3 GCP의 Pub/Sub 특징 뛰어난 확장성 기본적으로 1초에 1만건의 메시지를 보낼 수 있고, 요청에 따라 100만 건 이상을 보낼 수 있음 Push / Poll 전달 Subscribers이 인터넷 또는 방화벽 내에 위치 여부에 상관없이 유연한 전달 옵션들을 가짐 암호화 모든 메시지 데이터는 전송될 때나 저장될 때도 암호화 되어 안전하게 보호 복제된 스토리지 모든 메시지를 여러 영역의 여러 서버에 저장하여 'at least once' 메시지 전달이 제공되도록 설계 메시지 큐 1:1 통신 패턴을 지원하기 위해 단일 Topic과 Subscription을 사용하는 확장 가능한 메시지 큐 생성 종단 간 응답 ...

Google Cloud Platform을 이용한 iPhone 7의 이슈(반응) 분석

이미지
Google Cloud Platform을 이용한 iPhone 7의 이슈(반응) 분석 Google Cloud Platform(GCP)을 이용하면 빅데이터 관련 지식이 없으면서도, 복잡한 Private Cloud 설치을 설치하지 않아도 보다 저렴한 비용으로 다양한 빅데이터를 수집하고 분석할 수 있다. 여러가지 데이터 분석이 있겠지만, 최근 iPhone 7이 한국에 출시되어서 이에 대해 Twitter에서는 어떤 이슈들(빅데이터 분석)이 나오고 있는지 분석해 보겠다. SNS 상에서 iPhone 7 이슈 분석을 위해 GCP을 사용하고, 먼저 Twitter에서 데이터를 수집하면서 다른 SNS 서비스에서도 수집할 수 있도록 준비할 예정이다. 데이터 수집은 fluentd을 사용할 예정이다. 수집된 데이터는 필터링 및 재포맷되어 GCP의 Pub/Sub에 저장되며, DataFlow 서비스를 통해 자연어 분석 후 BigQuery 서비스을 이용해 데이터를 분석하여 다양한 챠트로 구체화 된다.  '빅데이터 로그 수집기, Fluentd 소개( https://mansoo-sw.blogspot.kr/2016/10/fluentd.html )' 글에서 fluentd는 input 단계에서 다양한 데이터 소스를 받아 들일 수 있기 때문에 'Twitter' 외에도 다른 SNS의 정보들도 수집할 수 있다. 그리고 output 단계에서 수집된 데이터를 GCP Pub/Sub로 보내기 위해서 'fluentd pub/sub plugin'을 설치해야 한다. 설치방법은 '빅데이터 로그 수집기, Fluentd 소개' 글을 참고한다.  1. Twitter Feed 수집 서버 fluentd에서 수집된 데이터를 GCP에서 분석하기 위해서는 아래 그림과 같이 Output 쪽에 Google Pub/Sub plugin을 설치가 필요하다. fluentd 설치가 되었다면 간단하게 'td-agent-gem...

빅데이터 로그 수집기, Fluentd 소개

이미지
Introducing BigData Log Aggregator, Fluentd 빅데이터를 처리하기 위해서는 각종 로그들의 수집이 필요한데, 이 때 사용하는 것이 로그 수집기(Log Aggregator)이다.  로그 수집 툴은 Scribe, Flume, Fluentd 및 logstash 등이 있는데, 이들 수집기 비교는 다음 글을 참고한다. Log Aggregator 비교:  Log Aggregator 비교 - Scribe, Flume, Fluentd, logstash 1. Fluentd 소개 fluentd는 효율적으로 데이터를 사용하고 이해하기 위한 데이터의 수집과 소비를 통합할 수 있는 오픈 소스 데이터 수집기이다. 홈페지이지:  http://www.fluentd.org/ 설치가이드:  http://docs.fluentd.org/categories/installation 다음 그림은 fluentd의 아키텍쳐 그림이다. 입력과 출력을 다양화 할 수 있으며, 입/출력 부분을 사용자가 직접 코드로 작성하여 연결할 수 있는 확장성을 제공한다. 다음 그림은 다양한 형태의 입력을 받을 수 있고, 출력을 형식화 할 수 있는 fluentd의 구조를 보여준다. Input 단계는 로그를 수집하는 모듈로 사용자화 할 수 있는 플러그인 형태이다. 따라서 다양한 로그 소스를 지원할 수 있다. File, HTTP, TCP 등 기본 플러그인을 비롯하여 확장 플러그인들을 다운로드 받거나 직접 설치할 수 있다. Buffer는 시스템 또는 네트워크 이상 또는 부하에 따른 재처리를 위해 파일 또는 메모리를 사용하여 데이터를 유지할 수 있고, Output 역시 Input 과 동일하게 사용자화할 수 있는 플러그인 형태로 다양한 포맷으로 데이터를 변경할 수 있다. Input 단계에서 획득한 모든 정보들이 Output 단계로 보내지는 것은 아니며, Engine에서 필터링하여 항목을 삭제하거나 추가할 수 ...

Google Codelabs에서 GCP(Google Cloud Platform)을 공부해보자

Google Cloud Platform(GCP)은 구글에서 만든 Open Cloud 제품으로 기본적으로 IaaS, PaaS 등을 쉽게 구성, 관리 및 서비스 할 수 있다. 구글링을 통해 GCP 관련된 자료들을 찾아볼 수 있지만, Google Codelabs의 GCP 섹션 에서 기본적인 설명, 튜터리얼 및 프로그래밍 등의 다양한 예제들을 쉽게 직접 다뤄볼 수 있다. 예를 들어 GCP을 이용한 네트워크 설정과 HTTP 부하 분산(Load Balancers)을 시스템 구성과 더불어 시험해 볼 수 있다. 그 외에도 BigQuery를 이용한 Wikipedia 검색, Node.js와 Angular2 Web App 생성 등 다양한 경험들을 할 수 있다.

Google Cloud Platform 사용하기 - Google Cloud Datalab을 개인 노트북에 설치하는 방법

이미지
Google Cloud Datalab( https://datalab.cloud.google.com/ )이 베타 버전으로 공개 되었다.   Datalab은 수집된 빅데이터을 분석하여 챠트 등 데이터를 가시화 하는데 유용하다. Datalab을 사용한 빅데이터 처리는 Twitter 이슈 빅데이터 처리 포스팅에 다룰 예정이다. (Cloud Datalab makes it easy to securely access all your data and public datasets, and use the power of Google BigQuery with SQL and Python to explore, visualize, analyze, and transform data.) 기존 버전에서는 Google Cloud Platform의 프로젝트와 연동되어 자동으로 Compute Engine(VM) 인스턴스가 하나 생성되어 처리했는데, 새로운 버전에서는 개인 노트북이나 컴퓨터에도 설치하여 사용이 가능하다. 시험적으로 옛날 버전으로 하나 생성했는데, 원하지 않게 24시간 Compute Engine이 실행되고 있어서 무료 사용기간이 아니라면 비용이 청구될 수 있을 것 같다. 따라서 지속적인 사용이 아니라면 개인 노트북이나 컴퓨터에 설치해서 사용하는 것이 비용 측면에서 좋을 것 같다. 개인 노트북이나 컴퓨터에 Datalab을 설치하기 위해서는 위 화면에서  Please use the  new version of Datalab beta . This version is now obsolete.  을 선택하면 새로운 Datalab을 어떤 방법으로 설치할 것인지 선택하는 페이지가 나온다.  Run Cloud Datalab locally Run Cloud Datalab kernels on Google Cloud Platform Run Cloud Datalab notebooks on Google Cloud P...

Google Cloud Platform 사용하기 - Comput Engine(VM) 인스턴스 만들기

이미지
최근에는 Cloud Platform이 대세다. Amazon, Microsoft, Google 등 대형 IT 업체들은 자신들의 기술과 서비스를 바탕으로 Amazon AWS, Microsoft Azure, Google Cloud Platform 서비스들을 제공하고 있다. 앱 서비스, 음성 또는 영상 인식, AI 사용 또는 IoT 같은 센서 데이터의 수집 및 분석을 위해서는 Cloud Service 사용은 필수이다. Google은 Google Cloud Platform 이름으로 여러 기능과 서비스들을 통합하여 Compute, Storage and Database, Networking, Big Data, Machine Learning 등의 제품들을 제공하고 있다. 모든 제품들은 사용 시간 또는 트래픽 당 과금을 매기고 있는데, 예를 들면 vCPU 1개, 3.75GB 메모리, 10G 디스크의 가상 컴퓨터를 24시간 동안 사용하면서 1달간 사용하면 약 2만 8천원 정도의 비용이 들어간다. 시간당 비용을 따지면 약 43원 정도이다. 하지만 vCPU 개수, 메모리 및 하드 디스크의 크기에 따라 그 비용은 다를 수 있다. 현재 60일간의 무료 사용 기간을 제공하고 있으며,  프로모션으로 무료 크래딧 $300를 지급한다. Google Cloud Platform의 웹 페이지 주소는  https://cloud.google.com/  이다. 구글 계정이 있다면 바로 무료로 사용해 볼 수 있으며, 특별히 계정을 업그레이드 하지 않는다면 60일이 지나도 결제가 자동으로 이뤄지지 않는다. Google Cloud Platfom 홈페이지 1. Google Cloud Platform 가입 무료 사용을 한글로 안내하고 있어서 쉽게 가입할 수 있다. 무료 사용을 위한 절차가 끝났다면 다음과 같이 대시보드가 나타난다. Google Cloud Platform은 '프로젝트' 단위로 가상컴퓨터와 서비스들을 관리하기 때문에 우선 프...