狠狠撸

狠狠撸Share a Scribd company logo
? 2015 Internet Initiative Japan Inc.	
Docker の利用事例紹介
~ 商用サービスの基盤として利用 ~
maebashi @ IIJ
? 2015 Internet Initiative Japan Inc.	
 2
本日の話
「IIJ GIOストレージ&アナリシスサー
ビス」という商用サービスでDocker
を使ってみた
? 2015 Internet Initiative Japan Inc.	
サービス概要
? 2015 Internet Initiative Japan Inc.	
 4
IIJ GIOストレージ&アナリシスサービス
?? http://www.iij.ad.jp/biz/storage/
?? REST API(AWS S3互換)を持つクラ
ウドストレージサービス
?? Hadoop/Hiveを用いたデータ解析機能
(オプション)
+
? 2015 Internet Initiative Japan Inc.	
 5
サービス全体図
storage
API
ストレージ
ノード	
analysis
API
ユーザー
data	
query	
IIJ GIO ストレージ&アナリシスサービス
計算
ノード	
container	
data	
data	
data
? 2015 Internet Initiative Japan Inc.	
 6
計算ノード
?? Hiveを使用
–?複数ノードで分散処理
?? マルチテナント
–?複数物理ホストを複数ユーザで共有
? 2015 Internet Initiative Japan Inc.	
 7
計算ノード(図)
analysis
API
query	
Hive
NN
RM
DN
NM
metastore	
task
storage
API
DN
NM
task
ユーザ毎に用意
NN: Name Node
RM: Resouce Manager
DN: Data Node
NM: Node Manager
ノード
ノード
ノード
? 2015 Internet Initiative Japan Inc.	
 8
計算ノード部分 要件
?? ユーザ毎に実行環境が隔離されてい
ること
?? 公平なリソースの共有
?? ノードはユーザにより増減可能なこ
と
? 2015 Internet Initiative Japan Inc.	
 9
サービス検討時の候補
?? Hypervisor型仮想マシンによる隔離
–?隔離という面では一番確実
–?起動が遅い、オーバーヘッドがある
?? コンテナによる隔離
?? アプリケーションレベルでの隔離
–?Hiveだけ(UDF禁止)等、やれることを限
定すれば可能
? 2015 Internet Initiative Japan Inc.	
 10
仮想マシン vs コンテナ
Server	
Host OS	
Hypervisor	
Guest OS
Bins/Libs
App A
Guest OS
Bins/Libs
App B
Server	
Host OS	
Docker Engine	
Bins/Libs
App A
Bins/Libs
App B
Hypervisor型仮想マシン Dockerコンテナ
Dockerコンテナは、隔離
された単なるプロセス	
ゲスト毎に任意のOS使用可
高い隔離性
オーバヘッドが少ない
起動が速い
こちらを採用
? 2015 Internet Initiative Japan Inc.	
 11
実際のサービスの制限
?? 現時点では、ユーザが任意の
MapReduceプログラムを動かすこと
はできない
–?使えるのはHiveQLのみ
?? Dockerによる隔離は将来への布石
? 2015 Internet Initiative Japan Inc.	
Dockerを商用サービスの基盤に
使うにあたって
? 2015 Internet Initiative Japan Inc.	
 13
Dockerが向いていること
?? 単体のホスト上での開発?ビルド?
テスト環境
?? 環境のパッケージングと配布
? 2015 Internet Initiative Japan Inc.	
 14
Dockerの課題
?? 複数ホスト上の多数のコンテナの管
理(オーケストレーション)
?? 複数ホストをまたいだネットワーク
?? ログの管理
?? 監視、モニタリング
? 2015 Internet Initiative Japan Inc.	
コンテナの管理
? 2015 Internet Initiative Japan Inc.	
 16
doma(docker manager)とは?
?? 独自開発
?? 多数のDockerコンテナを管理する
–?複数ホストをリソースプールとする
–?analysis APIからの要求によりプールか
ら必要数のコンテナを自動確保し起動
?? 類似品
–?Mesos, Kubernetes, ?eet, Swarm, ...
? 2015 Internet Initiative Japan Inc.	
 17
doma 構成図
Docker daemon	
Container	
slave	
構成情報DB
(MySQL MHA)	
master	
request / response	
Docker
Remote API	
master
API	
docker
ホスト群
使用可能ホスト
リソース空き情報
IPアドレス空き情報
etc
LB(nginx)	
HTTP	
slave
API	
HTTP	
HTTP
over
Unix domain
socket	
analysis
API
? 2015 Internet Initiative Japan Inc.	
 18
master
?? 多数のコンテナをクラスタ単位で管
理
–?クラスタ = コンテナの集合
?? クラスタ操作
–?予約、アップデート、起動、停止、再
起動、解放(削除)
?? Ruby + Rack + EventMachine
? 2015 Internet Initiative Japan Inc.	
 19
クラスタ
?? 互いに通信できるコンテナの集合
–?1つのクラスタは1つのユーザに属する
–?別のクラスタとは通信できない
Docker Daemon Docker Daemon Docker Daemon
空き
Container
Container
Container
Container
Container
Container
Container
Container
クラスタ1	
クラスタ2	
クラスタ3	
Host
? 2015 Internet Initiative Japan Inc.	
 20
コンテナの種類
?? グレード
–?性能を決める(CPUコア数、メモリ量)
?? タイプ
–?dockerイメージ名に対応
–?アプリケーション毎に複数用意されて
いる
? 2015 Internet Initiative Japan Inc.	
 21
masterが管理するもの
?? ホスト
–?dockerが動く物理ホスト
–?CPU、メモリ割当て状況
?? IPアドレス
–?コンテナは1個ずつ(プライベート)IPア
ドレスを持つ
? 2015 Internet Initiative Japan Inc.	
 22
slave
?? Docker daemonのwrapper (reverse
proxy)
–?masterからは、ほぼDocker daemonに
見える
–?いくつかAPIを拡張
?? Goで記述
Docker daemon	
slave	
Docker
Remote API	
HTTP	
 HTTP
over
Unix domain
socket	
master
? 2015 Internet Initiative Japan Inc.	
 23
Docker Remote API
?? HTTP、REST、JSONベース
?? dockerコマンドはすべてこのAPIを経
由している
Host	
Docker daemon	
docker pull
docker run
docker ...	
container	
container	
container	
Docker client	
HTTP over
Unix domain socket
または
TCP	
Docker
Remote API
? 2015 Internet Initiative Japan Inc.	
 24
slave追加機能
?? コンテナ起動関連
–?サイズ制限されたディスク領域提供
–?ネットワーク設定
–?iptablesチェイン設定
?? コンテナのメトリクス取得
?? コンテナ内にファイルを送り込む
?? コンテナ非同期削除
? 2015 Internet Initiative Japan Inc.	
コンテナのリソース制限
? 2015 Internet Initiative Japan Inc.	
 26
リソース制限概略
?? 主にcgroupを使う
?? CPU
–?cpuset
?? メモリ
–?memory
?? ディスク使用量
–?cgroupではできない
? 2015 Internet Initiative Japan Inc.	
 27
CPU制限
?? (Docker Remote API経由で)cgroupの
cpuset.cpusを使う
–?コンテナのプロセスが実行されるCPU
コアの番号を指定
–?例: "CpusetCpus":"0-2,7"
?? 各コンテナおよびシステムプロセス
それぞれが使うCPUコアを分離
? 2015 Internet Initiative Japan Inc.	
 28
ディスク使用量制限
?? 特定サイズのloopbackデバイス用
ファイルを作って、それをmount
–?あらかじめmkfs済sparseイメージ入り
tarファイルを用意
–?コンテナ起動時にそれを展開して
mount(0.1~0.2秒くらい)
–?コンテナ解放時はファイルを1個削除す
るだけ
? 2015 Internet Initiative Japan Inc.	
ネットワーク
? 2015 Internet Initiative Japan Inc.	
 30
通常のDockerのネットワーク
docker0	
NIC	
IPマスカレード	
仮想ネットワーク
インターフェース
(veth)
container
network
namespace	
eth0	
vethA	
コンテナA	
eth0	
vethB	
コンテナB	
host
network
namespace	
ホスト	
仮想ブリッジ
? 2015 Internet Initiative Japan Inc.	
 31
通常のDockerのネットワーク
docker0	
NIC	
IPマスカレード	
eth0	
vethA	
コンテナA	
eth0	
vethB	
コンテナB	
ホスト1	
docker0	
NIC	
IPマスカレード	
eth0	
vethC	
コンテナC	
eth0	
vethD	
コンテナD	
ホスト2	
ホストをまたいだコンテナ間通信は困難
(ポートが固定されていればEXPOSEでできるが
Hadoopと相性が悪い)
? 2015 Internet Initiative Japan Inc.	
 32
解決策
?? pipework, weave, ?annel 等を使う
?? または独自に頑張る こちらを採用
? 2015 Internet Initiative Japan Inc.	
 33
本サービスのネットワーク
?? dockerのネットワーク設定は使用せ
ず("NetworkDisabled": true)
?? 代わりにslaveがコンテナ起動時に
ネットワーク設定をする
? 2015 Internet Initiative Japan Inc.	
 34
NIC	
本サービスのネットワーク
docker0	
NIC	
IPマスカレード	
eth0	
vethA	
bridge0	
host-geth	
host-veth	
ホスト	
通常のdockerの
ネットワーク
container
network
namespace	
コンテナA	
eth0	
vethB	
コンテナB	
eth0	
vethA	
コンテナA	
eth0	
vethB	
コンテナB	
本サービスの
ネットワーク
host
network
namespace	
ホスト
? 2015 Internet Initiative Japan Inc.	
 35
論理的にはこんな感じ
eth0	
コンテナA	
eth0	
コンテナB	
host-geth	
ホスト1	
eth0	
コンテナC	
eth0	
コンテナD	
host-geth	
ホスト2	
(コンテナのIPアドレスはmasterが決定しslaveが設定する)
? 2015 Internet Initiative Japan Inc.	
 36
ネットワークの隔離
?? クラスタ間はiptablesで隔離
–?コンテナはCAP_NET_RAWを禁止
? 2015 Internet Initiative Japan Inc.	
その他
? 2015 Internet Initiative Japan Inc.	
 38
Dockerイメージ
?? Docker HUBのイメージは使用せず
–?同じrepository名:tag名でも内容が変
わっていることがある
?? 独自にOSイメージ作成
–?febootstrap で CentOS 6ベースで作成
?? そのOSイメージからJDK, Hive,
Hadoop入りなどをDocker?leで生成
? 2015 Internet Initiative Japan Inc.	
 39
ログの管理
?? コンテナ内の各種ログは、コンテナ
内の特定ディレクトリに一時保存
?? ホスト上(コンテナ外)の?uentdで外に
飛ばす
?? 本サービスのストレージ部分(管理用)
に保存
? 2015 Internet Initiative Japan Inc.	
 40
監視
?? ホストが障害を起こしたらdomaはコ
ンテナ割り当て対象から除外
–?障害コンテナを別ホストに自動移動し
たり再起動はしない
?? コンテナのアプリケーションレイヤ
の監視はanalysis APIが行っている
? 2015 Internet Initiative Japan Inc.	
 41
コンテナのモニタリング
?? slaveに、コンテナ単位のメトリクス
を返す機能追加
?? cgroupの統計情報と、コンテナ内の /
proc/net/dev等からメトリクスを得る
(今なら cAdvisor を使えば良いと思う)
? 2015 Internet Initiative Japan Inc.	
 42
slaveはメトリクスをJSON形式で返す
"memory": {
"failcnt": 0,
"stats": {
"unevictable": 0,
"total_unevictable": 0,
"total_swap": 0,
"total_rss": 380928,
"total_pgpgout": 681084,
"total_pgpgin": 697086,
"total_mapped_file": 1433600,
"total_inactive_file": 38936576,
"mapped_file": 1433600,
"inactive_file": 38936576,
"inactive_anon": 0,
"hierarchical_memsw_limit":
9223372036854776000,
"hierarchical_memory_limit":
9223372036854776000,
"cache": 102838272,
"active_file": 63901696,
"active_anon": 380928,
"pgpgin": 697086,
"pgpgout": 681084,
"rss": 380928,
"swap": 0,
"total_active_anon": 380928,
"total_active_file": 63901696,
"total_cache": 102838272,
"total_inactive_anon": 0
},
"max_usage": 139268096,
"usage": 104189952
},
"interfaces": {
"outpackets.0": 3021223,
"inbytes.0": 8228044607,
"indrop.0": 0,
"inerrs.0": 0,
"inpackets.0": 6429687,
"name.0": "eth0",
"outbytes.0": 199687042,
"outdrop.0": 0,
"outerrs.0": 0
},
"cpuacct": {
"throlling_data": {},
"cpu_usage": {
"usage_in_usermode": 2.668e+10,
"usage_in_kernelmode": 8.181e+10,
"percpu_usage": [
22599918565,
987624379,
65146098,
36705600,
18221767943,
5890326,
22768005795,
4033968,
218211598,
4302652,
5437296326,
23781278563,
18992360915,
18712487134,
55742891,
18522722054
]
}
}
? 2015 Internet Initiative Japan Inc.	
 43
↓CPU Accounting
	
Memory→	
↓Network traffic	
定期的にメトリクスを収集して
Grafanaでグラフ化
? 2015 Internet Initiative Japan Inc.	
 44
まとめ
?? Hadoop/Hiveをマルチテナントで動か
すためにDockerを採用
?? Dockerは多数のコンテナを扱うには
課題がある
–?解決のためいくつかのツール類を開発
–?今ならもっと楽な方法があるはず

More Related Content

What's hot (20)

IBM Log Analysis with LogDNAを評価した話
 IBM Log Analysis with LogDNAを評価した話 IBM Log Analysis with LogDNAを評価した話
IBM Log Analysis with LogDNAを評価した話
Daisuke Hiraoka
?
办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用
办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用
办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用
Koichi HARUNA
?
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
Emma Haruka Iwao
?
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Etsuji Nakai
?
Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較
cloudconductor
?
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
DAEBUM LEE
?
顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来
顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来
顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来
Kazuto Kusama
?
骋碍贰で半年运用してみた
骋碍贰で半年运用してみた骋碍贰で半年运用してみた
骋碍贰で半年运用してみた
Katsutoshi Nagaoka
?
DockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのかDockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのか
Emma Haruka Iwao
?
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
?
顿辞肠办别谤について
顿辞肠办别谤について顿辞肠办别谤について
顿辞肠办别谤について
74th
?
Using LXC on Production
Using LXC on ProductionUsing LXC on Production
Using LXC on Production
Isao Shimizu
?
普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见
普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见
普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见
zaru sakuraba
?
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
?
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
Kazuto Kusama
?
碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)
碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)
碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)
Works Applications
?
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
KokiMakita1
?
15分で分か(った気になれ)る顿辞肠办别谤
15分で分か(った気になれ)る顿辞肠办别谤15分で分か(った気になれ)る顿辞肠办别谤
15分で分か(った気になれ)る顿辞肠办别谤
Masahiro NAKAYAMA
?
今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
?
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
Etsuji Nakai
?
IBM Log Analysis with LogDNAを評価した話
 IBM Log Analysis with LogDNAを評価した話 IBM Log Analysis with LogDNAを評価した話
IBM Log Analysis with LogDNAを評価した話
Daisuke Hiraoka
?
办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用
办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用
办耻产别谤苍别迟别蝉(骋碍贰)环境における诲补迟补诲辞驳利用
Koichi HARUNA
?
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
Emma Haruka Iwao
?
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
Etsuji Nakai
?
Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較
cloudconductor
?
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
DAEBUM LEE
?
顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来
顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来
顿辞肠办别谤と碍耻产别谤苍别迟别蝉か?作る未来
Kazuto Kusama
?
骋碍贰で半年运用してみた
骋碍贰で半年运用してみた骋碍贰で半年运用してみた
骋碍贰で半年运用してみた
Katsutoshi Nagaoka
?
DockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのかDockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのか
Emma Haruka Iwao
?
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
?
顿辞肠办别谤について
顿辞肠办别谤について顿辞肠办别谤について
顿辞肠办别谤について
74th
?
Using LXC on Production
Using LXC on ProductionUsing LXC on Production
Using LXC on Production
Isao Shimizu
?
普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见
普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见
普通の搁补颈濒蝉アフ?リを诲辞肠办别谤て?本番运用する知见
zaru sakuraba
?
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
?
最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話最近のKubernetesとDocker Machine/Swarmの話
最近のKubernetesとDocker Machine/Swarmの話
Kazuto Kusama
?
碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)
碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)
碍耻产别谤苍别迟别蝉にまつわるエトセトラ(主に苦労话)
Works Applications
?
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
KokiMakita1
?
15分で分か(った気になれ)る顿辞肠办别谤
15分で分か(った気になれ)る顿辞肠办别谤15分で分か(った気になれ)る顿辞肠办别谤
15分で分か(った気になれ)る顿辞肠办别谤
Masahiro NAKAYAMA
?
今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のための顿辞肠办别谤超入门 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
?
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
Etsuji Nakai
?

Viewers also liked (6)

捕鲸!详解诲辞肠办别谤
捕鲸!详解诲辞肠办别谤捕鲸!详解诲辞肠办别谤
捕鲸!详解诲辞肠办别谤
雄哉 吉田
?
Jenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCIJenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCI
shigeyuki azuchi
?
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
Uchio Kondo
?
モニタリングシステムのこれまでとこれから (2015-01-30)
モニタリングシステムのこれまでとこれから (2015-01-30)モニタリングシステムのこれまでとこれから (2015-01-30)
モニタリングシステムのこれまでとこれから (2015-01-30)
YOSHIKAWA Ryota
?
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
?
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservices
Nobuhiro Sue
?
捕鲸!详解诲辞肠办别谤
捕鲸!详解诲辞肠办别谤捕鲸!详解诲辞肠办别谤
捕鲸!详解诲辞肠办别谤
雄哉 吉田
?
Jenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCIJenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCI
shigeyuki azuchi
?
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
Uchio Kondo
?
モニタリングシステムのこれまでとこれから (2015-01-30)
モニタリングシステムのこれまでとこれから (2015-01-30)モニタリングシステムのこれまでとこれから (2015-01-30)
モニタリングシステムのこれまでとこれから (2015-01-30)
YOSHIKAWA Ryota
?
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
?
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservices
Nobuhiro Sue
?

Similar to 顿辞肠办别谤の利用事例 (20)

Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
驰补丑辞辞!デベロッパーネットワーク
?
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
Daisuke Nagao
?
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Kengo Okitsu
?
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
Koto Shigeru
?
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
VirtualTech Japan Inc.
?
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
Toshikazu Ichikawa
?
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているかマルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
Masafumi Noguchi
?
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Shinichiro Arai
?
顿辞肠办别谤活用ソリューション绍介
顿辞肠办别谤活用ソリューション绍介顿辞肠办别谤活用ソリューション绍介
顿辞肠办别谤活用ソリューション绍介
Mitsutoshi Kiuchi
?
コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门
Kohei Tokunaga
?
新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた
新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた
新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた
Kazuto Kusama
?
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
驰补丑辞辞!デベロッパーネットワーク
?
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
?
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
Yoshio Terada
?
ACI Kubernetes Integration
ACI Kubernetes IntegrationACI Kubernetes Integration
ACI Kubernetes Integration
Takehiro Yokoishi
?
Amazon EC2 Container Service Deep dive
Amazon EC2 Container Service Deep diveAmazon EC2 Container Service Deep dive
Amazon EC2 Container Service Deep dive
Amazon Web Services Japan
?
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
CASAREAL, Inc.
?
翱辫别苍厂迟补肠办概要
翱辫别苍厂迟补肠办概要翱辫别苍厂迟补肠办概要
翱辫别苍厂迟补肠办概要
Akira Yoshiyama
?
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
maruyama097
?
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
maruyama097
?
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
Daisuke Nagao
?
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Kengo Okitsu
?
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
Koto Shigeru
?
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
VirtualTech Japan Inc.
?
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
Toshikazu Ichikawa
?
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているかマルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
Masafumi Noguchi
?
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Shinichiro Arai
?
顿辞肠办别谤活用ソリューション绍介
顿辞肠办别谤活用ソリューション绍介顿辞肠办别谤活用ソリューション绍介
顿辞肠办别谤活用ソリューション绍介
Mitsutoshi Kiuchi
?
コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门
Kohei Tokunaga
?
新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた
新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた
新しい翱辫别苍厂丑颈蹿迟のしくみを调へ?てみた
Kazuto Kusama
?
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
?
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
Yoshio Terada
?
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
CASAREAL, Inc.
?
翱辫别苍厂迟补肠办概要
翱辫别苍厂迟补肠办概要翱辫别苍厂迟补肠办概要
翱辫别苍厂迟补肠办概要
Akira Yoshiyama
?
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
maruyama097
?
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
maruyama097
?

Recently uploaded (11)

测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?

顿辞肠办别谤の利用事例

  • 1. ? 2015 Internet Initiative Japan Inc. Docker の利用事例紹介 ~ 商用サービスの基盤として利用 ~ maebashi @ IIJ
  • 2. ? 2015 Internet Initiative Japan Inc. 2 本日の話 「IIJ GIOストレージ&アナリシスサー ビス」という商用サービスでDocker を使ってみた
  • 3. ? 2015 Internet Initiative Japan Inc. サービス概要
  • 4. ? 2015 Internet Initiative Japan Inc. 4 IIJ GIOストレージ&アナリシスサービス ?? http://www.iij.ad.jp/biz/storage/ ?? REST API(AWS S3互換)を持つクラ ウドストレージサービス ?? Hadoop/Hiveを用いたデータ解析機能 (オプション) +
  • 5. ? 2015 Internet Initiative Japan Inc. 5 サービス全体図 storage API ストレージ ノード analysis API ユーザー data query IIJ GIO ストレージ&アナリシスサービス 計算 ノード container data data data
  • 6. ? 2015 Internet Initiative Japan Inc. 6 計算ノード ?? Hiveを使用 –?複数ノードで分散処理 ?? マルチテナント –?複数物理ホストを複数ユーザで共有
  • 7. ? 2015 Internet Initiative Japan Inc. 7 計算ノード(図) analysis API query Hive NN RM DN NM metastore task storage API DN NM task ユーザ毎に用意 NN: Name Node RM: Resouce Manager DN: Data Node NM: Node Manager ノード ノード ノード
  • 8. ? 2015 Internet Initiative Japan Inc. 8 計算ノード部分 要件 ?? ユーザ毎に実行環境が隔離されてい ること ?? 公平なリソースの共有 ?? ノードはユーザにより増減可能なこ と
  • 9. ? 2015 Internet Initiative Japan Inc. 9 サービス検討時の候補 ?? Hypervisor型仮想マシンによる隔離 –?隔離という面では一番確実 –?起動が遅い、オーバーヘッドがある ?? コンテナによる隔離 ?? アプリケーションレベルでの隔離 –?Hiveだけ(UDF禁止)等、やれることを限 定すれば可能
  • 10. ? 2015 Internet Initiative Japan Inc. 10 仮想マシン vs コンテナ Server Host OS Hypervisor Guest OS Bins/Libs App A Guest OS Bins/Libs App B Server Host OS Docker Engine Bins/Libs App A Bins/Libs App B Hypervisor型仮想マシン Dockerコンテナ Dockerコンテナは、隔離 された単なるプロセス ゲスト毎に任意のOS使用可 高い隔離性 オーバヘッドが少ない 起動が速い こちらを採用
  • 11. ? 2015 Internet Initiative Japan Inc. 11 実際のサービスの制限 ?? 現時点では、ユーザが任意の MapReduceプログラムを動かすこと はできない –?使えるのはHiveQLのみ ?? Dockerによる隔離は将来への布石
  • 12. ? 2015 Internet Initiative Japan Inc. Dockerを商用サービスの基盤に 使うにあたって
  • 13. ? 2015 Internet Initiative Japan Inc. 13 Dockerが向いていること ?? 単体のホスト上での開発?ビルド? テスト環境 ?? 環境のパッケージングと配布
  • 14. ? 2015 Internet Initiative Japan Inc. 14 Dockerの課題 ?? 複数ホスト上の多数のコンテナの管 理(オーケストレーション) ?? 複数ホストをまたいだネットワーク ?? ログの管理 ?? 監視、モニタリング
  • 15. ? 2015 Internet Initiative Japan Inc. コンテナの管理
  • 16. ? 2015 Internet Initiative Japan Inc. 16 doma(docker manager)とは? ?? 独自開発 ?? 多数のDockerコンテナを管理する –?複数ホストをリソースプールとする –?analysis APIからの要求によりプールか ら必要数のコンテナを自動確保し起動 ?? 類似品 –?Mesos, Kubernetes, ?eet, Swarm, ...
  • 17. ? 2015 Internet Initiative Japan Inc. 17 doma 構成図 Docker daemon Container slave 構成情報DB (MySQL MHA) master request / response Docker Remote API master API docker ホスト群 使用可能ホスト リソース空き情報 IPアドレス空き情報 etc LB(nginx) HTTP slave API HTTP HTTP over Unix domain socket analysis API
  • 18. ? 2015 Internet Initiative Japan Inc. 18 master ?? 多数のコンテナをクラスタ単位で管 理 –?クラスタ = コンテナの集合 ?? クラスタ操作 –?予約、アップデート、起動、停止、再 起動、解放(削除) ?? Ruby + Rack + EventMachine
  • 19. ? 2015 Internet Initiative Japan Inc. 19 クラスタ ?? 互いに通信できるコンテナの集合 –?1つのクラスタは1つのユーザに属する –?別のクラスタとは通信できない Docker Daemon Docker Daemon Docker Daemon 空き Container Container Container Container Container Container Container Container クラスタ1 クラスタ2 クラスタ3 Host
  • 20. ? 2015 Internet Initiative Japan Inc. 20 コンテナの種類 ?? グレード –?性能を決める(CPUコア数、メモリ量) ?? タイプ –?dockerイメージ名に対応 –?アプリケーション毎に複数用意されて いる
  • 21. ? 2015 Internet Initiative Japan Inc. 21 masterが管理するもの ?? ホスト –?dockerが動く物理ホスト –?CPU、メモリ割当て状況 ?? IPアドレス –?コンテナは1個ずつ(プライベート)IPア ドレスを持つ
  • 22. ? 2015 Internet Initiative Japan Inc. 22 slave ?? Docker daemonのwrapper (reverse proxy) –?masterからは、ほぼDocker daemonに 見える –?いくつかAPIを拡張 ?? Goで記述 Docker daemon slave Docker Remote API HTTP HTTP over Unix domain socket master
  • 23. ? 2015 Internet Initiative Japan Inc. 23 Docker Remote API ?? HTTP、REST、JSONベース ?? dockerコマンドはすべてこのAPIを経 由している Host Docker daemon docker pull docker run docker ... container container container Docker client HTTP over Unix domain socket または TCP Docker Remote API
  • 24. ? 2015 Internet Initiative Japan Inc. 24 slave追加機能 ?? コンテナ起動関連 –?サイズ制限されたディスク領域提供 –?ネットワーク設定 –?iptablesチェイン設定 ?? コンテナのメトリクス取得 ?? コンテナ内にファイルを送り込む ?? コンテナ非同期削除
  • 25. ? 2015 Internet Initiative Japan Inc. コンテナのリソース制限
  • 26. ? 2015 Internet Initiative Japan Inc. 26 リソース制限概略 ?? 主にcgroupを使う ?? CPU –?cpuset ?? メモリ –?memory ?? ディスク使用量 –?cgroupではできない
  • 27. ? 2015 Internet Initiative Japan Inc. 27 CPU制限 ?? (Docker Remote API経由で)cgroupの cpuset.cpusを使う –?コンテナのプロセスが実行されるCPU コアの番号を指定 –?例: "CpusetCpus":"0-2,7" ?? 各コンテナおよびシステムプロセス それぞれが使うCPUコアを分離
  • 28. ? 2015 Internet Initiative Japan Inc. 28 ディスク使用量制限 ?? 特定サイズのloopbackデバイス用 ファイルを作って、それをmount –?あらかじめmkfs済sparseイメージ入り tarファイルを用意 –?コンテナ起動時にそれを展開して mount(0.1~0.2秒くらい) –?コンテナ解放時はファイルを1個削除す るだけ
  • 29. ? 2015 Internet Initiative Japan Inc. ネットワーク
  • 30. ? 2015 Internet Initiative Japan Inc. 30 通常のDockerのネットワーク docker0 NIC IPマスカレード 仮想ネットワーク インターフェース (veth) container network namespace eth0 vethA コンテナA eth0 vethB コンテナB host network namespace ホスト 仮想ブリッジ
  • 31. ? 2015 Internet Initiative Japan Inc. 31 通常のDockerのネットワーク docker0 NIC IPマスカレード eth0 vethA コンテナA eth0 vethB コンテナB ホスト1 docker0 NIC IPマスカレード eth0 vethC コンテナC eth0 vethD コンテナD ホスト2 ホストをまたいだコンテナ間通信は困難 (ポートが固定されていればEXPOSEでできるが Hadoopと相性が悪い)
  • 32. ? 2015 Internet Initiative Japan Inc. 32 解決策 ?? pipework, weave, ?annel 等を使う ?? または独自に頑張る こちらを採用
  • 33. ? 2015 Internet Initiative Japan Inc. 33 本サービスのネットワーク ?? dockerのネットワーク設定は使用せ ず("NetworkDisabled": true) ?? 代わりにslaveがコンテナ起動時に ネットワーク設定をする
  • 34. ? 2015 Internet Initiative Japan Inc. 34 NIC 本サービスのネットワーク docker0 NIC IPマスカレード eth0 vethA bridge0 host-geth host-veth ホスト 通常のdockerの ネットワーク container network namespace コンテナA eth0 vethB コンテナB eth0 vethA コンテナA eth0 vethB コンテナB 本サービスの ネットワーク host network namespace ホスト
  • 35. ? 2015 Internet Initiative Japan Inc. 35 論理的にはこんな感じ eth0 コンテナA eth0 コンテナB host-geth ホスト1 eth0 コンテナC eth0 コンテナD host-geth ホスト2 (コンテナのIPアドレスはmasterが決定しslaveが設定する)
  • 36. ? 2015 Internet Initiative Japan Inc. 36 ネットワークの隔離 ?? クラスタ間はiptablesで隔離 –?コンテナはCAP_NET_RAWを禁止
  • 37. ? 2015 Internet Initiative Japan Inc. その他
  • 38. ? 2015 Internet Initiative Japan Inc. 38 Dockerイメージ ?? Docker HUBのイメージは使用せず –?同じrepository名:tag名でも内容が変 わっていることがある ?? 独自にOSイメージ作成 –?febootstrap で CentOS 6ベースで作成 ?? そのOSイメージからJDK, Hive, Hadoop入りなどをDocker?leで生成
  • 39. ? 2015 Internet Initiative Japan Inc. 39 ログの管理 ?? コンテナ内の各種ログは、コンテナ 内の特定ディレクトリに一時保存 ?? ホスト上(コンテナ外)の?uentdで外に 飛ばす ?? 本サービスのストレージ部分(管理用) に保存
  • 40. ? 2015 Internet Initiative Japan Inc. 40 監視 ?? ホストが障害を起こしたらdomaはコ ンテナ割り当て対象から除外 –?障害コンテナを別ホストに自動移動し たり再起動はしない ?? コンテナのアプリケーションレイヤ の監視はanalysis APIが行っている
  • 41. ? 2015 Internet Initiative Japan Inc. 41 コンテナのモニタリング ?? slaveに、コンテナ単位のメトリクス を返す機能追加 ?? cgroupの統計情報と、コンテナ内の / proc/net/dev等からメトリクスを得る (今なら cAdvisor を使えば良いと思う)
  • 42. ? 2015 Internet Initiative Japan Inc. 42 slaveはメトリクスをJSON形式で返す "memory": { "failcnt": 0, "stats": { "unevictable": 0, "total_unevictable": 0, "total_swap": 0, "total_rss": 380928, "total_pgpgout": 681084, "total_pgpgin": 697086, "total_mapped_file": 1433600, "total_inactive_file": 38936576, "mapped_file": 1433600, "inactive_file": 38936576, "inactive_anon": 0, "hierarchical_memsw_limit": 9223372036854776000, "hierarchical_memory_limit": 9223372036854776000, "cache": 102838272, "active_file": 63901696, "active_anon": 380928, "pgpgin": 697086, "pgpgout": 681084, "rss": 380928, "swap": 0, "total_active_anon": 380928, "total_active_file": 63901696, "total_cache": 102838272, "total_inactive_anon": 0 }, "max_usage": 139268096, "usage": 104189952 }, "interfaces": { "outpackets.0": 3021223, "inbytes.0": 8228044607, "indrop.0": 0, "inerrs.0": 0, "inpackets.0": 6429687, "name.0": "eth0", "outbytes.0": 199687042, "outdrop.0": 0, "outerrs.0": 0 }, "cpuacct": { "throlling_data": {}, "cpu_usage": { "usage_in_usermode": 2.668e+10, "usage_in_kernelmode": 8.181e+10, "percpu_usage": [ 22599918565, 987624379, 65146098, 36705600, 18221767943, 5890326, 22768005795, 4033968, 218211598, 4302652, 5437296326, 23781278563, 18992360915, 18712487134, 55742891, 18522722054 ] } }
  • 43. ? 2015 Internet Initiative Japan Inc. 43 ↓CPU Accounting Memory→ ↓Network traffic 定期的にメトリクスを収集して Grafanaでグラフ化
  • 44. ? 2015 Internet Initiative Japan Inc. 44 まとめ ?? Hadoop/Hiveをマルチテナントで動か すためにDockerを採用 ?? Dockerは多数のコンテナを扱うには 課題がある –?解決のためいくつかのツール類を開発 –?今ならもっと楽な方法があるはず