Weitere ähnliche Inhalte Ähnlich wie 2014年を振り返る 今年の技術トレンドとDockerについて (20) Mehr von Masahito Zembutsu (20) Kürzlich hochgeladen (11) 2014年を振り返る 今年の技術トレンドとDockerについて2. 自己紹介
@zembutsu 前佛 雅人
➡Creationline, Inc.
➡Technology Evangelist
• 2000年4月 ~ ホスティング事業者でのサポート・運用業務全般
• 2013年12月~ 現職で サポート・新技術検証・サービス開発
Why am I here?
ぜんぶつ まさひと
2000年からホスティングサービスで運用保
守サポートに携わるエンジニア。クラウド・
コンピューティング系の技術に興味があり、
Eucalyptsuユーザー会の発起や初期のJAWS-
UGなどコミュニティ活動に参加。現在はク
リエーションライン株式会社に勤務し、サ
ポート業務や新技術検証・サービス開発の傍
ら、実家で農作 業のため東京と富山を往復す
る日々。趣味で監視や自動化に関するOSSの
検証や翻訳を行っている。とりわけ監視・運
用の省力化・最適化に興味。辛口の日本 酒が
大好き。いつかは酒米を作りたい。
Software Design
2012年11月号
“Muninが手放せない理由”
Software Design
2014年9月・10月号
“オーケストレーションツールSerf・Consul入門”
クリエーションライン株式会社
テクノロジー エバンジェリスト
4. 今年の技術トレンドと
Dockerについて 4 / 602014年を振り返る
おさらい
今年の流行は Docker でしょう
➡ Docker というよりアプリケーションのコンテナ化
➡ 仮想化とコンテナ化の違い
➡ 新しい課題も沢山
個人的には
➡ 自動化支援ツール
• Serf, Consul, Terraform
➡ Internet of Things (IoT)
• Edision
いきなりですが、結論からスタート!
多分、今年の流行はDockerだと思うの
ですが、何かしら理由が欲しいね、と
いうのが前半です。後半は、個人的な
オーケストレーションやIoTの話題を取
り上げています。
6. 今年の技術トレンドと
Dockerについて 6 / 602014年を振り返る
流行語のトレンド
流行語といえば ”新語・流行語大賞”
➡ 2014年のトップテン
• ダメよ~ダメダメ
• 集団的自衛権
• ありのままで
• カープ女子
• 壁ドン
• 危険ドラッグ
• ごきげんよう
• マタハラ
• 妖怪ウオッチ
• レジェンド
☞ http://singo.jiyu.co.jp/
“「現代用語の基礎知識」選
ユーキャン新語・流行語大賞とは
この賞は、1年の間に発生したさ
まざまな「ことば」のなかで、軽妙
に世相を衝いた表現とニュアンスを
もって,広く大衆の目・口・耳をにぎ
わせた新語・流行語を選ぶととも
に、その「ことば」に深くかかわっ
た人物・団体を毎年顕彰するも
の。”(同サイトより引用)
輝く女性 STAP細胞はあります
バックビルディング まさ土
トリクルダウン デング熱
ダメよ~ダメダメ 2025年問題
危険ドラッグ アイス・バケツ・チャレンジ
家事ハラ マタハラ
ありのままで レリゴー
こぴっと ごきげんよう
リトル本田 J婚
ゴーストライター タモロス
マイルドヤンキー リベンジポルノ
JKビジネス 絶景
レジェンド ゆづ
妖怪ウォッチ 塩対応
マウンティング(女子) こじらせ女子
女装子 号泣会見
セクハラやじ 集団的自衛権
限定容認 積極的平和主義
勝てない相手はもういない カープ女子
ワンオペ ハーフハーフ
消滅可能性都市 壁ドン
ミドリムシ 壊憲記念日
イスラム国 雨傘革命
昼顔 塩レモン
ビットコイン エボラ出血熱
今年も色々ありました。
7. 今年の技術トレンドと
Dockerについて 7 / 602014年を振り返る
流行語のトレンド
過去の業界関係な流行語
➡ 1984年(第一回)
➡ 1986年
• ファミコン
➡ 1995年
• インターネット
➡ 1999年
• 西暦2000年問題
• iモード
➡ 2000年
• IT革命
☞ http://singo.jiyu.co.jp/
“「現代用語の基礎知識」選
ユーキャン新語・流行語大賞とは
この賞は、1年の間に発生したさ
まざまな「ことば」のなかで、軽妙
に世相を衝いた表現とニュアンスを
もって,広く大衆の目・口・耳をにぎ
わせた新語・流行語を選ぶとともに、
その「ことば」に深くかかわった人
物・団体を毎年顕彰するもの。”
(同サイトより引用)
8. 今年の技術トレンドと
Dockerについて 8 / 602014年を振り返る
流行語のトレンド
➡ 2005年
• ブログ
➡ 2006年
• ミクシィ
• ググる
• YouTube
➡ 2010年
• 3D
• 2位じゃダメなんですか
➡ 2011年
• スマホ
• ソーシャルメディア
• タブレット
➡ 2013年
• ビッグデータ
• マイナンバー
➡ 2014年
• ビットコイン
会場でもご指摘いただきましたが、まだ
「クラウド」が流行語になったことは無
いんですね。ということで、業界用語的
な流行は、新語・流行語大賞からは辿り
づらいことが分かりました。
11. 今年の技術トレンドと
Dockerについて 11 / 602014年を振り返る
はてなブックマークで傾向を探る?
“はてなブックマーク”
➡ ソーシャルブックマーク・サービス
• URLの共有、コメント機能、スター付与
• 登録会員数:415万人、月間利用者数:2,400万人
➡ 利用者層
☞ http://b.hatena.ne.jp/
☞ 図表引用:はてなメディアガイド
2015年1-3月版
p.5 “ユーザー属性”より
http://htn.to/HC64Ez
利用者の業種・職種の傾向を見ると、は
てブを辿るのが良さそうに思いました。
12. 今年の技術トレンドと
Dockerについて 12 / 602014年を振り返る
どのように傾向を把握?
目的
➡ 今年流行した業界用語の把握
施策
➡ はてなブックマークのホッテントリを集計
• 集計対象は「テクノロジー」のカテゴリー
➡ 対象範囲
• 2014年1月1日~11月28日のホッテントリ
➡ 集計方法
• ホッテントリの「タグ」×「ユーザ数」を集計
– タイトルの形態素解析を行ったがノイズが大きい
– ページのタイトルと内容が一致しない事が多い
– タグであれば、おおよそ妥当であろう
☞ http://b.hatena.ne.jp/hotentry
ホッテントリ=はてなブックマーク
の人気エントリー、またはそこに表
示されたエントリーのこと。ホット
エントリーの略称。Hot entry。
☞ ただし、この集計方法は厳密には正
確ではない。8月以降は50件/日の
データを取得しているが、以前は20
件/日の場合もあるため。まぁ、大
まかな傾向を把握するためというこ
とで、ご勘弁いただければ。。。
厳密に考えると、このやりかたは乱暴す
ぎると思いますし、データも正確ではな
いのですが、、おおまかな傾向を知りた
かったので、これで良しとさせていただ
ければと。。
13. 今年の技術トレンドと
Dockerについて 13 / 602014年を振り返る
タイトルで集計 ← 失敗
wgetで取得
➡ ホッテントリのURLを取得する
• http://b.hatena.ne.jp/hotentry/it/YYMMDD?layout=list
– YY … 年
– MM … 月
– DD … 日
集計方法
➡ タイトルに含まれる文字を「わかちがき」し、かつ
「形態素解析」で品詞毎に分けた後、名詞を抽出する
スクリプトを作成
☞ 実際にはウエイトを入ながら、時間
をかけて取得するスクリプトを作成
しました。
一番初めに考えたのは、はてブされたタ
イトルを品詞毎に分解して、人気のワー
ドを出そうとしました。しかし・・・こ
の方法は失敗しています。
14. 今年の技術トレンドと
Dockerについて 14 / 602014年を振り返る
タイトルで集計 ← 失敗
分かち書き
➡ 文章において語の句切りに空白を挟んで記述すること
• 欧文は単語と単語に空白
– This■is■a■pen■!
• 日本語は漢字かな交じり文なので、単語・文節で区切る
– これ■は■ペン■です■ !
形態素解析
➡ 計算機を用いた自然言語処理の基礎技術の1つ
➡ 文法の知識や辞書をもとに、品詞を判断する
➡ オープンソースの mecab を仕様
☞ Morphological Analysis
ちなみに、この時使った「わかちがき」
と「形態素解析」について。
15. 今年の技術トレンドと
Dockerについて 15 / 602014年を振り返る
mecab
mecab = 日本語の形態素解析エンジン
➡ mecab セットアップ
# wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
# tar xvfz ./mecab-0.996.tar.gz
# cd mecab-0.996/
# ./configure --with-charset=utf8 --enable-utf8-only# make
# make check
# make install
➡ IPA 辞書セットアップ
# wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
# tar xvfz mecab-ipadic-2.7.0-20070801.tar.gz
# cd mecab-ipadic-2.7.0-20070801
☞ http://mecab.googlecode.com/
svn/trunk/mecab/doc/index.ht
ml
MeCab: Yet Another Part-of-
Speech and Morphological
ANalyzer
mecab (めかぶ) は簡単に使えるので、
ちょっとした語句の集計であれば、すぐ
に使えるのでお勧めです。本体と辞書の
セットアップを行います。
16. 今年の技術トレンドと
Dockerについて 16 / 602014年を振り返る
mecab
➡ Perl 用モジュールのセットアップ
$ wget https://mecab.googlecode.com/files/mecab-perl-0.996.tar.gz
$ tar xvfz mecab-perl-0.996.tar.gz
$ cd mecab-perl-0.996
$ perl Makefile.PL
$ make
$ sudo make install
☞ http://mecab.googlecode.com/
svn/trunk/mecab/doc/index.ht
ml
MeCab: Yet Another Part-of-
Speech and Morphological
ANalyzer
$ perl test.pl
0.996
太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
この 連体詞,*,*,*,*,*,この,コノ,コノ
本 名詞,一般,*,*,*,*,本,ホン,ホン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
(略)
に 助詞,副詞化,*,*,*,*,に,ニ,ニ
渡し 動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
filename: /usr/local/lib/mecab/dic/ipadic/sys.dic
charset: utf-8
size: 392126
type: 0
lsize: 1316
rsize: 1316
version: 102
Perl 用のスクリプトを組みます。
17. 今年の技術トレンドと
Dockerについて 17 / 602014年を振り返る
mecab を Perl で扱うには
#!/usr/bin/perl
use MeCab;
my $sentenct = "となりの客はよく柿食う客だ";
my $model = new MeCab::Model();
my $c = $model->createTagger();
print $c->parse($sentence);
$ perl ./test.pl
となり 名詞,一般,*,*,*,*,となり,トナリ,トナリ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
客 名詞,一般,*,*,*,*,客,キャク,キャク
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
よく 副詞,一般,*,*,*,*,よく,ヨク,ヨク
柿 名詞,一般,*,*,*,*,柿,カキ,カキ
食う 動詞,自立,*,*,五段・ワ行促音便,基本形,食う,クウ,クウ
客 名詞,一般,*,*,*,*,客,キャク,キャク
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
EOS
コードのサンプルです。あとはHTML
のパーサーと組みあわせて、単純に集計
するだけです。if (open(DAT,"./$file")) {
foreach $dat (<DAT>) {
#if ($dat =~ /hb-entry-link-container/) {
if ($dat =~ /(target="direct">)(.*)(<¥/a>)/) {
print "$2";
}
if ($dat =~ /(<span>)(¥d+)(<¥/span>)(¥s)(users)/) {
print "¥t$2";
}
if ($dat =~ /(class="tag">)(.*)(<¥/a>)/) {
print "¥t$2";
}
if ($dat =~ /(<li class="follow">)/) {
print "¥n";
}
}
close(DAT);
}
↓
foreach my $sentence (<DAT>) {
my $users;
($sentence, $users) = split(/¥t/, $sentence);
for (my $m = $c->parseToNode($sentence); $m; $m = $m->{next}) {
my $line = $m->{feature};
my ($parse, $line) = split(/¥,/, $line, 2);
#print "[$parse] ";
if ($parse eq '名詞') {
printf("%s¥t%s¥n", $m->{surface}, $m->{feature});
$WORD{$m->{surface}}++;
print "$users¥n";
$WORD{$m->{surface}}+=$users;
# }
}
}
18. 今年の技術トレンドと
Dockerについて 18 / 602014年を振り返る
タイトルで取得
Chromebook購入後に、究極のPCへ変貌させるWebサービスたちが完璧過ぎ! | シェアしたくなる最新のWebサービス・ITニュース情報を...
【翻訳】それでも独自のCSVを書くつもりですか? | POSTD
.NET Core is Open Source - MSDN Blogs
Pythonでつくる検索エンジン(Webクローラ, Mecab, MongoDB, Flask) - Programming Log
[速報]マイクロソフト、「.NET server framework」のLinuxとMacOS X用オフィシャルディストリ
ビューションを発表。.NETアプリケ...
感嘆符・疑問符の後に全角空白(スペース)が必要になる理由と、Webメディアの表記ルールについて | 株式会社LIG
デザインのためのデザイン
Swiftで遊んでますか? - クックパッド開発者ブログ
名前や用途が似ているLinuxコマンドの整理 - ももいろテクノロジー
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
【裏ワザ】Amazonで9割引き商品を3秒で見つける方法|Ferret [フェレット]
Visual Studio Community 2013 A Full-Featured IDE - FREE Start coding the app of your dreams for Windows, Android, and iOS.
デザイナーとエンジニアの良い関係 // Speaker Deck
Wi-Fiの調子が悪い時に設定した項目4つ+α | ごりゅご.com
「個」から「集」のデザイン
通勤・通学にオススメ!!『iPhone』でガシガシ耳読書する方法。もちろん無料です。 - なわとび1
本で何でもできるのだ
FINAL FANTASY Record Keeper の作り方
言葉の壁はアプリで越える。海外行くならマストで入れておきたい翻訳アプリ | ライフハッカー[日本版]
見やすいプレゼン資料の作り方 - リニューアル増量版
ニュースキュレーションアプリ界隈もそろそろ淘汰が始まるのでしょうか(山本 一郎) - 個人 - Yahoo!ニュース
Material Design対応の使えるCSS・JSフレームワーク集?|?レンタルサーバーのCPIスタッフブログ
クッキーは死んだ:そして Facebook/Google/Apple の広告が激変している | Agile Cat --- in t
そして、このようにタイトルを取得して
集計をするのですが・・・
19. 今年の技術トレンドと
Dockerについて 19 / 602014年を振り返る
形態素解析して集計した結果
-=7076
バイラルメディア=2333
BUZZNEWS=2142
悪質=2142
ブログ=1924
対処=1878
Yahoo=1878
フルボッコ=1878
!=1878
スマホガイド=1878
...=1702
アプリ=1636
|=1609
レビュー=1511
制作=1396
一覧=1391
15=1301
☞ ある月のデータを元に形態素解析
し、出現数+ユーザー数を加えたも
の
役に立ちません。。。ちょっとデータ量
が多いので辿るのが・・・
20. 今年の技術トレンドと
Dockerについて 20 / 602014年を振り返る
集計対象をタグに切り替えた結果
プログラミング=341731
webサービス=265783
programming=213861
デザイン=207194
まとめ=165018
仕事=163495
webデザイン=155831
web=153856
アプリ=136559
セキュリティ=134303
ネタ=126988
開発=123701
security=108389
あとで読む=99649
web制作=95415
iPhone=76273
考え方=72756
ビジネス=70396
javascript=67834
エンジニア=64690
☞ HTML構文からホッテントリ対象の
タグを抽出してカウント
タイトルを元に集計するのではなく、エ
ントリにつけれた「タグ」に変更。
23. 今年の技術トレンドと
Dockerについて 23 / 602014年を振り返る
開発関連では?
0
1,000
2,000
3,000
4,000
5,000
6,000
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
hatebu
docker
gitやgithubは一般的に使われています
ので、今年はやはりDockerでしょう!
25. 今年の技術トレンドと
Dockerについて 25 / 602014年を振り返る
Dockerとは?
Docker
➡ アプリケーションの構築・運搬・実行システム
➡ オープンソース・ソフトウェア
• Apache License 2.0
Docker, Inc
➡ 元々は PaaS の dotCloud を提供 → 売却 (2014年)
➡ 2013年10月
• 社名を dotCloud, Inc から変更
• Dockerに注力
➡ 2014年6月
• Docker 1.0 をリリース
☞ http://www.docker.com/
26. 今年の技術トレンドと
Dockerについて 26 / 602014年を振り返る
何をしてくれるのか?
Docker の構成要素
➡ Docker エンジン…コンテナ化するためのツール
➡ Docker Hub…アプリケーション共用とワークフローの自動化
Docker の役割
➡ 構築 (Build)
• 開発者が Docker コンテナを使って開発
➡ 運搬 (Ship)
• アプリケーションを Docker 化 (Dockrerize) して、
作成したコンテナをどこにでも展開
➡ 実行 (Run)
• データセンターやクラウド環境を問わず、
どこででもコンテナ上のアプリケーションを実行可
☞ 日本では開発担当者向けのツールと
して認知されています(書籍で登場
件数・ウェブサイト上での下検索)
が、Dockerは運用担当者向けの
ツールでもあります。
» “Docker is the open platform
for developers and sysadmins
to build, ship, and run
distributed applications”
» https://www.docker.com/what
isdocker/
27. 今年の技術トレンドと
Dockerについて 27 / 602014年を振り返る
docker run
docker pull
docker …
docker hub
( public
repository)
アプリケーション
Docker の利用イメージ
28. 今年の技術トレンドと
Dockerについて 28 / 602014年を振り返る
Dockerの良いところ
アプリケーション開発者向け
➡ 様々な言語環境や、開発環境を利用できる
➡ Docker化された環境は、どこでも利用できる
• 開発環境、テスト環境、本番環境
➡ Docker Hub を通して環境の共有
➡ バージョン管理の容易さ
システム管理者向け
➡ Dockerコンテナ上で動くアプリケーションと、
基盤となるシステム管理を分離できる
➡ 迅速なスケールアップやスケールダウンができる
30. 今年の技術トレンドと
Dockerについて 30 / 602014年を振り返る
Dockerの構造
クライアント・サーバ型の設計
➡ Docker デーモン
• ホストマシン上で動作し、クライアントと通信
• コンテナの構築・実行や、コンテナの配付を行う役割
➡ Docker クライアント
• “docker” バイナリを実行することで、デーモンと通信
Docker 内部
➡ Docker イメージ … Read Only のテンプレート
➡ Docker レジストリ … イメージを置く場所
➡ Docker コンテナ … アプリケーションが必要な全て
• これが Docker の実行コンポーネント
31. 今年の技術トレンドと
Dockerについて 31 / 602014年を振り返る
仮想サーバ vs Docker
➡ 仮想サーバ
• アプリケーションを実行する時、
実行バイナリやライブラリに加え
OS 領域データ ( 数GB以上) が必要
➡ Docker
• コンテナにはアプリケーションに
依存するバイナリとライブラリのみ
• 数百MB程度~のコンテナ
• 他のコンテナ間で kernel を共有
利用者視点では、起動時間の違いが大き
いです。仮想サーバはOSの起動時間が
必要です。コンテナであれば、起動その
ものは最小構成で一瞬~数秒程度です。
32. 今年の技術トレンドと
Dockerについて 32 / 602014年を振り返る
動作環境
対応OS
➡ Linux
• Ubuntu Trusty14.04, Precise14.04, Raring 13.04
• Debian 7.5 Wheezy, 8.0 Jessie
• Red Hat Enterprise Linux 6, 7
• CentOS 6, 7
• Gentoo, Arch Linux, Fedora, openSUSE, ..etc
➡ Mac OS X
• Mac OS X 10.6 >
• Boot2Docker
• インストーラー Docker for OS X installer
➡ Windows
• Windows 7.1 , 8
• Boot2Docker
• インストーラー Docker for Windows Installer
☞ 参考
https://docs.docker.com/installa
tion/
LinuxだけでなくMacOSやWindows
上でも boot2docker を通して、
dockerのコマンドが普通に使えます。
33. 今年の技術トレンドと
Dockerについて 33 / 602014年を振り返る
Linux のセットアップ
Red Hat Enterprise Linux
➡ RHEL7 … 標準パッケージを使用
$ sudo subscription-manager repos --enable=rhel-7-
server-extras-rpms
$ sudo yum install docker
➡ RHEL6 … EPEL リポジトリを使用
$ sudo yum –y install docker-io
$ chkconfig docker on
$ service docker start
CentOS
➡ CentOS7 … 標準パッケージ
➡ CentOS6 … EPELリポジトリを使用
☞ Get Started with Docker Containers
in RHEL7
» https://access.redhat.com/articles
/881893
☞ https://docs.docker.com/installation
/centos/
非常に簡単です。オープンソースとして
配付されているので、使おうと思えば、
すぐに利用出来ます。
34. 今年の技術トレンドと
Dockerについて 34 / 602014年を振り返る
Linux のセットアップ
Ubuntu
➡ Trusty 14.04
$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io
/usr/local/bin/docker
$ sudo sed -i '$acomplete -F _docker docker'
/etc/bash_completion.d/docker.io
$ source /etc/bash_completion.d/docker.ioRHEL6 …
EPEL リポジトリを使用
$ sudo yum –y install docker-io
$ chkconfig docker-io on
$ service docker-io start
☞ Get Started with Docker
Containers in RHEL7
» https://access.redhat.com/arti
cles/881893
35. 今年の技術トレンドと
Dockerについて 35 / 602014年を振り返る
コンテナの基本操作
Docker の実行
➡ Docker はコンテナの中でアプリケーションを実行
• $ docker run
➡ 実行するには
• $ sudo docker run ubuntu:14.04 /bin/echo ‘Hello, world’
Hello, world
» 「docker」 バイナリに対して、実行を意味する「run」を指定
» 「ubuntu:14.04」 というリソース=イメージとなるコンテナ名称を指定
自分自身のホスト上でイメージを検索し、見つからなければ Docker Hub からダウンロードする
» コンテナに対して 「/bin/echo ‘Hello, world’」の実行を伝える
» コンテナは処理が終わると、自動的に停止する
36. 今年の技術トレンドと
Dockerについて 36 / 602014年を振り返る
コンテナの基本操作
➡ 対話型コンテナの実行
• $ sudo docker run –t –i ubuntu:14.04 /bin/bash
root@af8bae53bdd3:/#
» 「-t」 … 疑似tty・ターミナルをコンテナに割り当てる
» 「-i」 … コンテナの標準入力(STDIN)を双方向に取得する
» 現在のディレクトリは、ルート・ディレクトリ
» ディレクトリ内には、一般的な Linux のディレクトリ階層
» 「exit」でコンテナ終了
☞ コンテナを終了するとイメージに対
する変更は全て破棄されます
37. 今年の技術トレンドと
Dockerについて 37 / 602014年を振り返る
コンテナの基本操作
➡ デーモン化されたコンテナの操作
• $ docker ps
» 「docker ps」コマンドを実行すると、コンテナの状態を確認できる
» 「CONTAINER ID」コンテナ起動時に表示されたコンテナID
» 「IMAGE」イメージ名称で、ubuntu:14.04
» 「COMMAND」先ほど指定した「/bin/sh –c ~」が実行中
» 「CREATED」作成時間
» 「STATUS」稼働状況
» 「PORT」ポートの設定を行っている場合は表示
» 「NAMES」イメージ名称で、指定しない場合は自動的に付与
• $ docker logs
» コンテナの中の状態を確認する
38. 今年の技術トレンドと
Dockerについて 38 / 602014年を振り返る
その他
データ保存
➡ ‘docker commit’ しないとデータは保存されない
• パッチあてや検証が楽になる
• 検証が終われば、コンテナを破棄するだけ
• 間違いがあっても、commit した時点に戻すことができる
➡ 動的データは ‘-v’ で外部(ホスト側)に保存する
40. 今年の技術トレンドと
Dockerについて 40 / 602014年を振り返る
課題
構成
➡ 複数台のコンテナ環境を、どのように管理するのか?
運用
➡ 監視設定
➡ ログ
➡ セキュリティ
開発環境では便利なツールですが、実際
に運用するとなると、いくつかの課題が
でてきます。
41. 今年の技術トレンドと
Dockerについて 41 / 602014年を振り返る
ログ管理
Dockerはログ管理機能を提供しない
➡ 代替手段
• コンテナ内のアプリケーション自身が、直接コンテナ外に送る
• コンテナがホスト側のボリュームをアタッチし、ホストに保存する
• ログ収集アプリケーションを使う
– fluentd
– logstash
– Apache Flume
42. 今年の技術トレンドと
Dockerについて 42 / 602014年を振り返る
監視と運用
コンテナ監視
➡ 1ホスト・1コンテナ運用
• リソース上限が明確なので、仮想サーバーの監視と同様
• Docker の利点であるインフラ層とアプリ層の分離ができない
➡ 1ホスト・複数コンテナ運用
• コンテナのリソースを直接参照するツールが提供されていない
• 現状は、1ホスト・1コンテナ運用が主流だったり、
開発環境での利用が主のため、あまり課題になっていない可能性
➡ 運用シーンを考えると、監視の自動化・省力化は欠かせない
• 今後の課題
43. 今年の技術トレンドと
Dockerについて 43 / 602014年を振り返る
kubernates
コンテナ管理ツール
➡ Google が開発
• https://github.com/GoogleCloudPlatform/kubernetes
➡ 構成要素
• Pod
• Label
• Services
44. 今年の技術トレンドと
Dockerについて 44 / 602014年を振り返る
Chef-container
目的
➡ コンテナの構成管理を自動化
• https://docs.getchef.com/containers.html
Chef-container
➡ Linux コンテナを管理するための chef クライアント
• chef-init で設定初期化
• chef-client を使えば、SSH を使わずに環境構築
• knife container が docker build や docker init を扱う
• 通常のサーバーリソースと同様にコンテナを管理
50. 今年の技術トレンドと
Dockerについて 50 / 602014年を振り返る
仮説
どこかで見たような印象
➡ 仮想化
• Xen , KVM → クラウド
• オープンソースのコミュニティが牽引
• ハードウェアとOSが1対1の対応
• API
➡ コンテナ化
• LXC, Docker, Rocket … → ??
• オープンソースのコミュニティが牽引
• ハードウェアとアプリケーションを分離
• API
51. 今年の技術トレンドと
Dockerについて 51 / 602014年を振り返る
Docker流行のまとめ
重要な事
➡ Docker は コンテナを動かすプラットフォーム
• 1. 「API」があると様々なサービスと連携しやすい
• 2. 「コード化」してインフラを管理できること
➡ これらを通して「自分のやりたいことが、すぐできる」
• ???「あんなこといいな、できたらいいな」
Dockerについて詳細
➡ Software Design 2014年12月号
➡ Docker User Guide 日本語版(仮)
• http://qiita.com/zembutsu/items/444396b76e0db2c04c2b
Dockerが注目されているのは、これま
でやりたかった事が、より便利になった
からではないでしょうか。同じ事は仮想
化でも出来るかもしれませんが、速さや
簡単さでコンテナ化が勝っていると思い
ます。しかし、その分、人間が管理する
には複雑になってきています。このあた
りをどう解決していくかが、鍵になりそ
うです。
53. 今年の技術トレンドと
Dockerについて 53 / 602014年を振り返る
自動化運用支援ツール
オーケストレーション・ツール
➡ Serf
• メンバ管理とイベント同時実行
• 非中央集権型のクラスタをゴシップ・プロトコルで構成
➡ Consul
• サービスレベルでの監視とイベント実行
• Key Value Storage 、GUI ( HTTP ) 、DNS を持つ
➡ Terraform
• クラウド・インフラ基盤のコード化
• AWS,
☞ https://serfdom.io/
☞ http://consul.io/
☞ https://terraform.io/
自分の中では2つあります。1つは、
2014年は、Hashicorp社が発表した
数々のソフトです。この1年で多くの機
能実装が進みました。
54. 今年の技術トレンドと
Dockerについて 54 / 602014年を振り返る
仕事が楽になる、楽しくなるツール
なぜオーケストレーション・ツール?
➡ 複数台のサーバ管理が前提になる時代
• 開発は、構成管理ツール ( Chef, Puppet, Ansible 等 )
• 運用でも、効率的に行う必要性
➡ 人間がボトルネックになっている
• 時間が掛かる
• 間違える
➡ 監視一次対応(判断不要な手順書)レベルを自動化
• 実際には作り込みが必要だし、パーツも足りない
仮想化やクラウドでは、まだ人間が直接
介在する余地がありました。もうそろそ
ろ、機械に任せるところは任せないと、
人間が付いていけない領域に近づいてい
ます。死人がでるんじゃ・・・
57. 今年の技術トレンドと
Dockerについて 57 / 602014年を振り返る
Internet of Things (IoT)
IoTとは?
➡ “The Internet of Things (IOT) is the
interconnection of uniquely identifiable
embedded computing devices within the
existing Internet infrastructure. Typically,
IoT is expected to offer advanced
connectivity of devices, systems,
and services that goes beyond
machine-to-machine communication
(M2M) and covers a variety of protocols,
domains, and applications”
http://en.wikipedia.org/wiki/Internet_of_Things
58. 今年の技術トレンドと
Dockerについて 58 / 602014年を振り返る
Intel Edison Module
Edition
➡ インテル社
➡ CPU: Atom 500MHz ( dual core, dual thread )
➡ MCU: 100MHz/32bit
➡ Memory: 1GB LPDDR3
➡ EMMC: 4GB
➡ I/F: Wi-Fi, Bluetooth 4.0, USB2.0, SDcard
☞ http://www.intel.co.jp/content/w
ww/jp/ja/do-it-
yourself/edison.html
☞ MCU = Micro Control Unit
☞ EMMC = embedded Multi Media
Card
10年前のPCレベルのものが、切手くら
いの大きさのボードで動いていて、それ
が1万円もしないとか・・・ちょっと面
白くないですか?
60. 今年の技術トレンドと
Dockerについて 60 / 602014年を振り返る
おさらい
今年の流行は Docker でしょう
➡ Docker というよりアプリケーションのコンテナ化
➡ 仮想化とコンテナ化の違い
➡ 新しい課題も沢山
個人的には
➡ 自動化支援ツール
• Serf, Consul, Terraform
➡ Internet of Things (IoT)
• Edision
ネットのサービスや端末のプログラム
を開発するように、現実世界に存在す
るデバイスやロボットを動かしたい!
そんな開発スタイルの登場を予感され
る周辺技術や環境が揃ってきた、また
未来に一歩進んだかな?そう思える一
年でした。来年も楽しみです!