NAVER Cloud Platform Webinar
Run up!
Jupyter를 이용한 데이터 분석 환경 구축
클라우드 솔루션 아키텍트 허창현
분석 환경을 구축하기 위한 요소
Data Infrastructure
Framework / Library
Tools
게임내 사용자 패턴
기업공시 데이터
교통 흐름
통신 데이터
의료기록
재무정보
금융분야 마이데이터
Python
R
TensorFlow
Scala
Hadoop
Julia
SAS
Jupyter Lab
JupyterHub
R Studio
Hive
Zeppline
Pycharm
GPU
Hi-memory, CPU
Hadoop Cluster
Tensorflow Cluster
HPC
Kubernetes Cluster
Storage
Jupyter Project
IPython Project 에서 시작
다수의 커널을 지원하면서 Jupyter로 명칭 변경
오픈소스 프로젝트(BSD)
데이터 과학을 쉽게 접근할 수 있는 통로 제공
변형, 수치 시뮬레이션, 통계 모델링, 머신러닝에서 사용
대화형 분석 환경 제공
Jupyter Project
Jupyter Notebook
JupyterLab
JupyterHub
Jupyter Notebook / JupyterLab
수십 개 언어의 실행 환경을 지원
웹 페이지 내에서 코드 실행
시각화 기능 지원
데이터 분석을 위한 코드 및 데이터 공유
Front-end, Server, Kernel 로 구성
코드와 실시간 상호작용
Jupyter Notebook / JupyterLab
User
Jupyter
Notebook
Server
Kernel
Python2.7
Python3.x
R
Julia
Other kernels
…
Browser
Notebook file
Notebook file
JupyterHub
다중 사용자를 위한 분석 환경 제공
다양한 인증 방식 제공(OAuth, PAM..)
컨테이너 친화적 환경 제공
Kubernetes를 통한 Scalable 환경 제공
다양한 인프라에서 실행가능
A multi-user version of the notebook designed for companies, classrooms and research labs
JupyterHub & Multi-user
Python 2.7 / 3.x
Python 2.7 / 3.x
Jupyterhub Jupyterlab
Jupyterhub Jupyterlab
NAS
Group1
User1
User2
User3
….
Python 2.7 / 3.x
Jupyterhub Jupyterlab
Group2
User1
User2
User3
….
GPU
GPU
GPU
NAVER CLOUD PLATFORM
JupyterHub for Kubernetes
Kubernetes Service (Standard/CPU Intensive)
POD POD POD POD
NODE1 NODE2
NODE 1
Proxy for
launching
Notebook
LoadBalancer
NAS
Block Storage
Prometheus
Grafana
Python
R
NAVER CLOUD PLATFORM
Package Install
Numpy, SciPy, Pandas, Sympy...
Tensorflow, PyTorch, Keras..
Matplotlib, Seabon, bokeh, Ploty…
Data Science Library
TensorFlow Server
TensorFlow 외 PyTorch, Keras, Pandas, Numpy, Scikit-Learn, Gensim 등 다양한 패키지 제공
conda를 이용해 필요한 라이브러리 추가 설치 가능
Jupyter Notebook과 여러 분석에 필요한 라이브러리를 별도 설치 없이 손쉽게 사용
TensorFlow Server
JupyterNotebook
User
CPU Intensive
GPU(v100, p40)
High Memory
Standard
수분 안에 다양한 라이브러리가 설치된 환경 구축 가능
Cloud Hadoop을 이용한 분석 환경 구축
Jupyter
Notebook
Zepplin
Notebook
Ambari
Spark
Master Node
Master Node
Worker
Node
(yarn)
Worker
Node
(yarn)
Worker
Node
(yarn)
Object Storage
…
Cloud Hadoop - Spark Cluster
NAVER CLOUD PLATFORM
DEMO
Demo1
TensorFlow Server를 이용한 분석 환경 구축
TensorFlow Server 생성
Jupyter Notebook
인증키 설정
Jupyter Notebook 접속
R 설치 및 실행 Python 실행
Demo2
JupyterHub와 Kubernetes Service를 이용한 분석 환경 구축
Kubernetes Service
Cluster 생성
Helm을 이용한
JupyterHub 설치
JupyterHub 접속
계정 별 Pod 생성 확인 Kubernetes 대시보드 접속
분석을 위한 네이버클라우드플랫폼 상품
Kubernetes Service Archive storage Object Storage TensorFlow Cluster TensorFlow Server
Cloud Hadoop Cloud Search Elasticsearch
Service
Real User AnalyticsCPU Intensive GPU Server
The End of Document
Thank You

[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트

  • 1.
    NAVER Cloud PlatformWebinar Run up! Jupyter를 이용한 데이터 분석 환경 구축 클라우드 솔루션 아키텍트 허창현
  • 2.
    분석 환경을 구축하기위한 요소 Data Infrastructure Framework / Library Tools 게임내 사용자 패턴 기업공시 데이터 교통 흐름 통신 데이터 의료기록 재무정보 금융분야 마이데이터 Python R TensorFlow Scala Hadoop Julia SAS Jupyter Lab JupyterHub R Studio Hive Zeppline Pycharm GPU Hi-memory, CPU Hadoop Cluster Tensorflow Cluster HPC Kubernetes Cluster Storage
  • 3.
    Jupyter Project IPython Project에서 시작 다수의 커널을 지원하면서 Jupyter로 명칭 변경 오픈소스 프로젝트(BSD) 데이터 과학을 쉽게 접근할 수 있는 통로 제공 변형, 수치 시뮬레이션, 통계 모델링, 머신러닝에서 사용 대화형 분석 환경 제공
  • 4.
  • 5.
    Jupyter Notebook /JupyterLab 수십 개 언어의 실행 환경을 지원 웹 페이지 내에서 코드 실행 시각화 기능 지원 데이터 분석을 위한 코드 및 데이터 공유 Front-end, Server, Kernel 로 구성 코드와 실시간 상호작용
  • 6.
    Jupyter Notebook /JupyterLab User Jupyter Notebook Server Kernel Python2.7 Python3.x R Julia Other kernels … Browser Notebook file Notebook file
  • 7.
    JupyterHub 다중 사용자를 위한분석 환경 제공 다양한 인증 방식 제공(OAuth, PAM..) 컨테이너 친화적 환경 제공 Kubernetes를 통한 Scalable 환경 제공 다양한 인프라에서 실행가능 A multi-user version of the notebook designed for companies, classrooms and research labs
  • 8.
    JupyterHub & Multi-user Python2.7 / 3.x Python 2.7 / 3.x Jupyterhub Jupyterlab Jupyterhub Jupyterlab NAS Group1 User1 User2 User3 …. Python 2.7 / 3.x Jupyterhub Jupyterlab Group2 User1 User2 User3 …. GPU GPU GPU NAVER CLOUD PLATFORM
  • 9.
    JupyterHub for Kubernetes KubernetesService (Standard/CPU Intensive) POD POD POD POD NODE1 NODE2 NODE 1 Proxy for launching Notebook LoadBalancer NAS Block Storage Prometheus Grafana Python R NAVER CLOUD PLATFORM
  • 10.
    Package Install Numpy, SciPy,Pandas, Sympy... Tensorflow, PyTorch, Keras.. Matplotlib, Seabon, bokeh, Ploty… Data Science Library
  • 11.
    TensorFlow Server TensorFlow 외PyTorch, Keras, Pandas, Numpy, Scikit-Learn, Gensim 등 다양한 패키지 제공 conda를 이용해 필요한 라이브러리 추가 설치 가능 Jupyter Notebook과 여러 분석에 필요한 라이브러리를 별도 설치 없이 손쉽게 사용
  • 12.
    TensorFlow Server JupyterNotebook User CPU Intensive GPU(v100,p40) High Memory Standard 수분 안에 다양한 라이브러리가 설치된 환경 구축 가능
  • 13.
    Cloud Hadoop을 이용한분석 환경 구축 Jupyter Notebook Zepplin Notebook Ambari Spark Master Node Master Node Worker Node (yarn) Worker Node (yarn) Worker Node (yarn) Object Storage … Cloud Hadoop - Spark Cluster
  • 14.
  • 15.
    Demo1 TensorFlow Server를 이용한분석 환경 구축 TensorFlow Server 생성 Jupyter Notebook 인증키 설정 Jupyter Notebook 접속 R 설치 및 실행 Python 실행
  • 16.
    Demo2 JupyterHub와 Kubernetes Service를이용한 분석 환경 구축 Kubernetes Service Cluster 생성 Helm을 이용한 JupyterHub 설치 JupyterHub 접속 계정 별 Pod 생성 확인 Kubernetes 대시보드 접속
  • 17.
    분석을 위한 네이버클라우드플랫폼상품 Kubernetes Service Archive storage Object Storage TensorFlow Cluster TensorFlow Server Cloud Hadoop Cloud Search Elasticsearch Service Real User AnalyticsCPU Intensive GPU Server
  • 18.
    The End ofDocument Thank You