1.빅데이터와 머신런닝에 대한 심플한 소개
- 직접 하둡, 스파크 클러스터 구성시 보통 안정화 서비스까지 6개월 걸림
- 구글 클라우드는
: 수많은 리소스(cpu, memory)를 사용하기 때문에 수십억의 like성 질의를 수초에 처리 가능
: json 사용 가능
: 혼자서 수시간 코딩하여 분석(개발) 완료
ex) 모바일 게임에서 간단한 코드 추가로 게임내 발생하는 npc들의 이벤트(행동) 데이터를 모두 실시간으로 수집
ex) '요기요' 에서는 매니저, 마케터가 구글 클라우드에 직접 질의하여, 개발자에게 데이터 추출등의 작업 요청이 필요없음
- 머신러닝은
: 수십년전의 NeuralNet 의 문제점을 해결하여 딥러닝이라는 이름으로 만는으로 수학적으로 어렵지만 코딩적으로 봤을때 그리 어렵지 않다.
: 이미 머신러닝 대가들이 좋은 알고리즘을 공개하고 tensorflow 와 같은 오픈소스에 수많은 머신러닝 알고리즘 라이브러가 있으니 가져댜 쓰면 된디. 어떤 머신러닝 알고리즘을 사용하고 빠르게 개발환경(구글 클라우드)를 사용하여 원하는 인공지능 시스템을 구축하는게 경쟁력이다.
2. 구글 airflow 사용 사례 설명
- 빅데이터 워크(task) 플로우(수집 분석하는 파이프 라인)으로 airbnb 에서 개발하고 현재 아파치 오픈 소스 인큐베이팅
- 구글 클라우드에서 airflow 를 서비스하며 빅데이터 처리 후 빅쿼리 테이블로 저장
- 빅데이터 처리 흐름
로그 ->
airflow(cloudsql(mysql) -> embulk(데이터 수집 솔루션) -> cloud sotrage > big query)로 구성하여 스케줄링(자동화)
-> 구글 리포팅 서비스
- 구글 airflow 내부 구성
: bigquery(data warehouse, sql 문법)
: embulk(데이터 수집 솔루션, 배치/병렬 처리, 다양한 플러그인 제공이 장점, 참고 http://bcho.tistory.com/1126)
: compute engine(자바기잔의 vm 서비스)
: cloud datalab(데이터 인사이트 솔수션, 오픈 소스 쥬피터 노트북)
: etc 구글 서비스
3. 구글 클라우드를 이용한 네트워크 가속
- 구글 클라우드 플랫폼은 정말 많은 서비스를 제공하는데, 성능에 네트워크가 큰 영향
- 전세계 걸친 구글 네트워크를 사용하여 빠른 연결
: 네트워크간 1Petabits/s 으로 통신
: 10만 vm머신간에 10gbit/s 으로 통신
- vm 접속흐름
: 내 위치에서 가장 가까운 펍(pub) 접속 -> 가까운 region(나라별) -> 내가 생성한 vm 있는 region
: 펍 참고 http://bcho.tistory.com/1120
- 구글 클라우드 네트워크는 전세게에 있는 특정에 지역에 펍이 생성되면 전세계의 어느 vm과도 vpn 사용없이 직접(tcp) 접속 가능
ex) 싱가폴, 도쿄 펍에 각각에 네트워크를 구성했다면 이들간에 direct 접근 가능
- 네트워크 성능 결정 요소
: vm 인스턴스 크기 (코어당 2gbps 인스턴스당 최대 16gbps)
: 네트워크 티어 (프리미엄:중간단 거치는 펍이 직방으로 연결되는 네트워크, 스탠다드:가격이 저렴하지만 여러 단계의 펍을 거침)
: 로드밸런싱 (global tcp proxy load balancer 사용하면 빠름)
- cname 사용안하고 global ip 사용
- 네트워크 증설실 워밍 없이 바로 사용
중간 휴식 시간 30분을 제외하고 약 3시간 남지 6개의 세션이 진행되었는데, 3개만 득고 나옴.
시간이 짧아서인지 몰라도 대부분 구글의 이런 제품(서비스)를 사용해서 빠르고 편해서 좋다는 것.
기술적인 세부내용은 개인적으로 알아서 구글링해야 하는데 서비스되고 있는것들이 많음
(쉽게 빅데이터, 머신러닝을 처리할 수 있다고 하는데 서비스 각 요소를 이해 하는데도 시간이 걸릴것으로 보임)
조금 관심이 간건 airflow 와 embulk 를 보면서 elk 와 비슷한 느낌이 들었는데 elk 에 비해서 좋을지,
embulk - elasticsearch - airflow 등 구성은 어떨지등이 궁금.
네트워크, 인스턴스등이 경쟁사 aws 와의 비교 질문에 체험해보면 더 좋을것 이라고함.
사실 빅데이터, 머신런닝 시스템 구축에 많은 시간을 삽질(삽질하면 많이 배우기고 하는데ㅠ)하지 말고 구글 클라우드 서비스(일종의 패키지)를 쓰라하는데
비용이 발생되고 사내에 구축된 비슷한 시스템을 대체시킬 정도로 효과가 있는지를 솔직히 모르겠음.
comments:
댓글 쓰기