SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
Masahito Zembutsu @zembutsu
Technology Evangelist; Creationline , Inc.
Akasaka Tokyo, 4 Dec 2014
2014年を振り返る
今年の技術トレンドとDockerについて
自己紹介
@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入門”
クリエーションライン株式会社
テクノロジー エバンジェリスト
まとめ
今年の技術トレンドと
Dockerについて 4 / 602014年を振り返る
おさらい
 今年の流行は Docker でしょう
➡ Docker というよりアプリケーションのコンテナ化
➡ 仮想化とコンテナ化の違い
➡ 新しい課題も沢山
 個人的には
➡ 自動化支援ツール
• Serf, Consul, Terraform
➡ Internet of Things (IoT)
• Edision
いきなりですが、結論からスタート!
多分、今年の流行はDockerだと思うの
ですが、何かしら理由が欲しいね、と
いうのが前半です。後半は、個人的な
オーケストレーションやIoTの話題を取
り上げています。
2014年の流行…!!
今年の技術トレンドと
Dockerについて 6 / 602014年を振り返る
流行語のトレンド
 流行語といえば ”新語・流行語大賞”
➡ 2014年のトップテン
• ダメよ~ダメダメ
• 集団的自衛権
• ありのままで
• カープ女子
• 壁ドン
• 危険ドラッグ
• ごきげんよう
• マタハラ
• 妖怪ウオッチ
• レジェンド
☞ http://singo.jiyu.co.jp/
“「現代用語の基礎知識」選
ユーキャン新語・流行語大賞とは
この賞は、1年の間に発生したさ
まざまな「ことば」のなかで、軽妙
に世相を衝いた表現とニュアンスを
もって,広く大衆の目・口・耳をにぎ
わせた新語・流行語を選ぶととも
に、その「ことば」に深くかかわっ
た人物・団体を毎年顕彰するも
の。”(同サイトより引用)
輝く女性 STAP細胞はあります
バックビルディング まさ土
トリクルダウン デング熱
ダメよ~ダメダメ 2025年問題
危険ドラッグ アイス・バケツ・チャレンジ
家事ハラ マタハラ
ありのままで レリゴー
こぴっと ごきげんよう
リトル本田 J婚
ゴーストライター タモロス
マイルドヤンキー リベンジポルノ
JKビジネス 絶景
レジェンド ゆづ
妖怪ウォッチ 塩対応
マウンティング(女子) こじらせ女子
女装子 号泣会見
セクハラやじ 集団的自衛権
限定容認 積極的平和主義
勝てない相手はもういない カープ女子
ワンオペ ハーフハーフ
消滅可能性都市 壁ドン
ミドリムシ 壊憲記念日
イスラム国 雨傘革命
昼顔 塩レモン
ビットコイン エボラ出血熱
今年も色々ありました。
今年の技術トレンドと
Dockerについて 7 / 602014年を振り返る
流行語のトレンド
 過去の業界関係な流行語
➡ 1984年(第一回)
➡ 1986年
• ファミコン
➡ 1995年
• インターネット
➡ 1999年
• 西暦2000年問題
• iモード
➡ 2000年
• IT革命
☞ http://singo.jiyu.co.jp/
“「現代用語の基礎知識」選
ユーキャン新語・流行語大賞とは
この賞は、1年の間に発生したさ
まざまな「ことば」のなかで、軽妙
に世相を衝いた表現とニュアンスを
もって,広く大衆の目・口・耳をにぎ
わせた新語・流行語を選ぶとともに、
その「ことば」に深くかかわった人
物・団体を毎年顕彰するもの。”
(同サイトより引用)
今年の技術トレンドと
Dockerについて 8 / 602014年を振り返る
流行語のトレンド
➡ 2005年
• ブログ
➡ 2006年
• ミクシィ
• ググる
• YouTube
➡ 2010年
• 3D
• 2位じゃダメなんですか
➡ 2011年
• スマホ
• ソーシャルメディア
• タブレット
➡ 2013年
• ビッグデータ
• マイナンバー
➡ 2014年
• ビットコイン
会場でもご指摘いただきましたが、まだ
「クラウド」が流行語になったことは無
いんですね。ということで、業界用語的
な流行は、新語・流行語大賞からは辿り
づらいことが分かりました。
業界の流行を探るには…?
はてなブックマーク!
今年の技術トレンドと
Dockerについて 11 / 602014年を振り返る
はてなブックマークで傾向を探る?
 “はてなブックマーク”
➡ ソーシャルブックマーク・サービス
• URLの共有、コメント機能、スター付与
• 登録会員数:415万人、月間利用者数:2,400万人
➡ 利用者層
☞ http://b.hatena.ne.jp/
☞ 図表引用:はてなメディアガイド
2015年1-3月版
p.5 “ユーザー属性”より
http://htn.to/HC64Ez
利用者の業種・職種の傾向を見ると、は
てブを辿るのが良さそうに思いました。
今年の技術トレンドと
Dockerについて 12 / 602014年を振り返る
どのように傾向を把握?
 目的
➡ 今年流行した業界用語の把握
 施策
➡ はてなブックマークのホッテントリを集計
• 集計対象は「テクノロジー」のカテゴリー
➡ 対象範囲
• 2014年1月1日~11月28日のホッテントリ
➡ 集計方法
• ホッテントリの「タグ」×「ユーザ数」を集計
– タイトルの形態素解析を行ったがノイズが大きい
– ページのタイトルと内容が一致しない事が多い
– タグであれば、おおよそ妥当であろう
☞ http://b.hatena.ne.jp/hotentry
ホッテントリ=はてなブックマーク
の人気エントリー、またはそこに表
示されたエントリーのこと。ホット
エントリーの略称。Hot entry。
☞ ただし、この集計方法は厳密には正
確ではない。8月以降は50件/日の
データを取得しているが、以前は20
件/日の場合もあるため。まぁ、大
まかな傾向を把握するためというこ
とで、ご勘弁いただければ。。。
厳密に考えると、このやりかたは乱暴す
ぎると思いますし、データも正確ではな
いのですが、、おおまかな傾向を知りた
かったので、これで良しとさせていただ
ければと。。
今年の技術トレンドと
Dockerについて 13 / 602014年を振り返る
タイトルで集計 ← 失敗
 wgetで取得
➡ ホッテントリのURLを取得する
• http://b.hatena.ne.jp/hotentry/it/YYMMDD?layout=list
– YY … 年
– MM … 月
– DD … 日
 集計方法
➡ タイトルに含まれる文字を「わかちがき」し、かつ
「形態素解析」で品詞毎に分けた後、名詞を抽出する
スクリプトを作成
☞ 実際にはウエイトを入ながら、時間
をかけて取得するスクリプトを作成
しました。
一番初めに考えたのは、はてブされたタ
イトルを品詞毎に分解して、人気のワー
ドを出そうとしました。しかし・・・こ
の方法は失敗しています。
今年の技術トレンドと
Dockerについて 14 / 602014年を振り返る
タイトルで集計 ← 失敗
 分かち書き
➡ 文章において語の句切りに空白を挟んで記述すること
• 欧文は単語と単語に空白
– This■is■a■pen■!
• 日本語は漢字かな交じり文なので、単語・文節で区切る
– これ■は■ペン■です■ !
 形態素解析
➡ 計算機を用いた自然言語処理の基礎技術の1つ
➡ 文法の知識や辞書をもとに、品詞を判断する
➡ オープンソースの mecab を仕様
☞ Morphological Analysis
ちなみに、この時使った「わかちがき」
と「形態素解析」について。
今年の技術トレンドと
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 (めかぶ) は簡単に使えるので、
ちょっとした語句の集計であれば、すぐ
に使えるのでお勧めです。本体と辞書の
セットアップを行います。
今年の技術トレンドと
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 用のスクリプトを組みます。
今年の技術トレンドと
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;
# }
}
}
今年の技術トレンドと
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
そして、このようにタイトルを取得して
集計をするのですが・・・
今年の技術トレンドと
Dockerについて 19 / 602014年を振り返る
形態素解析して集計した結果
-=7076
バイラルメディア=2333
BUZZNEWS=2142
悪質=2142
ブログ=1924
対処=1878
Yahoo=1878
フルボッコ=1878
!=1878
スマホガイド=1878
...=1702
アプリ=1636
|=1609
レビュー=1511
制作=1396
一覧=1391
15=1301
☞ ある月のデータを元に形態素解析
し、出現数+ユーザー数を加えたも
の
役に立ちません。。。ちょっとデータ量
が多いので辿るのが・・・
今年の技術トレンドと
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構文からホッテントリ対象の
タグを抽出してカウント
タイトルを元に集計するのではなく、エ
ントリにつけれた「タグ」に変更。
結果
今年の技術トレンドと
Dockerについて 22 / 602014年を振り返る
2014年の傾向 トップには「プログラミングが」入り込
みました。ジャンル別に集計すると・・
今年の技術トレンドと
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でしょう!
Docker流行の理由とは?
今年の技術トレンドと
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/
今年の技術トレンドと
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/
今年の技術トレンドと
Dockerについて 27 / 602014年を振り返る
docker run
docker pull
docker …
docker hub
( public
repository)
アプリケーション
Docker の利用イメージ
今年の技術トレンドと
Dockerについて 28 / 602014年を振り返る
Dockerの良いところ
 アプリケーション開発者向け
➡ 様々な言語環境や、開発環境を利用できる
➡ Docker化された環境は、どこでも利用できる
• 開発環境、テスト環境、本番環境
➡ Docker Hub を通して環境の共有
➡ バージョン管理の容易さ
 システム管理者向け
➡ Dockerコンテナ上で動くアプリケーションと、
基盤となるシステム管理を分離できる
➡ 迅速なスケールアップやスケールダウンができる
今年の技術トレンドと
Dockerについて 29 / 602014年を振り返る
開発サイクル
アプリケーション開発
Docker化して運搬
様々な環境で実行
今年の技術トレンドと
Dockerについて 30 / 602014年を振り返る
Dockerの構造
 クライアント・サーバ型の設計
➡ Docker デーモン
• ホストマシン上で動作し、クライアントと通信
• コンテナの構築・実行や、コンテナの配付を行う役割
➡ Docker クライアント
• “docker” バイナリを実行することで、デーモンと通信
 Docker 内部
➡ Docker イメージ … Read Only のテンプレート
➡ Docker レジストリ … イメージを置く場所
➡ Docker コンテナ … アプリケーションが必要な全て
• これが Docker の実行コンポーネント
今年の技術トレンドと
Dockerについて 31 / 602014年を振り返る
仮想サーバ vs Docker
➡ 仮想サーバ
• アプリケーションを実行する時、
実行バイナリやライブラリに加え
OS 領域データ ( 数GB以上) が必要
➡ Docker
• コンテナにはアプリケーションに
依存するバイナリとライブラリのみ
• 数百MB程度~のコンテナ
• 他のコンテナ間で kernel を共有
利用者視点では、起動時間の違いが大き
いです。仮想サーバはOSの起動時間が
必要です。コンテナであれば、起動その
ものは最小構成で一瞬~数秒程度です。
今年の技術トレンドと
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のコマンドが普通に使えます。
今年の技術トレンドと
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/
非常に簡単です。オープンソースとして
配付されているので、使おうと思えば、
すぐに利用出来ます。
今年の技術トレンドと
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
今年の技術トレンドと
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’」の実行を伝える
» コンテナは処理が終わると、自動的に停止する
今年の技術トレンドと
Dockerについて 36 / 602014年を振り返る
コンテナの基本操作
➡ 対話型コンテナの実行
• $ sudo docker run –t –i ubuntu:14.04 /bin/bash
root@af8bae53bdd3:/#
» 「-t」 … 疑似tty・ターミナルをコンテナに割り当てる
» 「-i」 … コンテナの標準入力(STDIN)を双方向に取得する
» 現在のディレクトリは、ルート・ディレクトリ
» ディレクトリ内には、一般的な Linux のディレクトリ階層
» 「exit」でコンテナ終了
☞ コンテナを終了するとイメージに対
する変更は全て破棄されます
今年の技術トレンドと
Dockerについて 37 / 602014年を振り返る
コンテナの基本操作
➡ デーモン化されたコンテナの操作
• $ docker ps
» 「docker ps」コマンドを実行すると、コンテナの状態を確認できる
» 「CONTAINER ID」コンテナ起動時に表示されたコンテナID
» 「IMAGE」イメージ名称で、ubuntu:14.04
» 「COMMAND」先ほど指定した「/bin/sh –c ~」が実行中
» 「CREATED」作成時間
» 「STATUS」稼働状況
» 「PORT」ポートの設定を行っている場合は表示
» 「NAMES」イメージ名称で、指定しない場合は自動的に付与
• $ docker logs
» コンテナの中の状態を確認する
今年の技術トレンドと
Dockerについて 38 / 602014年を振り返る
その他
 データ保存
➡ ‘docker commit’ しないとデータは保存されない
• パッチあてや検証が楽になる
• 検証が終われば、コンテナを破棄するだけ
• 間違いがあっても、commit した時点に戻すことができる
➡ 動的データは ‘-v’ で外部(ホスト側)に保存する
Docker(コンテナ化)と課題
今年の技術トレンドと
Dockerについて 40 / 602014年を振り返る
課題
 構成
➡ 複数台のコンテナ環境を、どのように管理するのか?
 運用
➡ 監視設定
➡ ログ
➡ セキュリティ
開発環境では便利なツールですが、実際
に運用するとなると、いくつかの課題が
でてきます。
今年の技術トレンドと
Dockerについて 41 / 602014年を振り返る
ログ管理
 Dockerはログ管理機能を提供しない
➡ 代替手段
• コンテナ内のアプリケーション自身が、直接コンテナ外に送る
• コンテナがホスト側のボリュームをアタッチし、ホストに保存する
• ログ収集アプリケーションを使う
– fluentd
– logstash
– Apache Flume
今年の技術トレンドと
Dockerについて 42 / 602014年を振り返る
監視と運用
 コンテナ監視
➡ 1ホスト・1コンテナ運用
• リソース上限が明確なので、仮想サーバーの監視と同様
• Docker の利点であるインフラ層とアプリ層の分離ができない
➡ 1ホスト・複数コンテナ運用
• コンテナのリソースを直接参照するツールが提供されていない
• 現状は、1ホスト・1コンテナ運用が主流だったり、
開発環境での利用が主のため、あまり課題になっていない可能性
➡ 運用シーンを考えると、監視の自動化・省力化は欠かせない
• 今後の課題
今年の技術トレンドと
Dockerについて 43 / 602014年を振り返る
kubernates
 コンテナ管理ツール
➡ Google が開発
• https://github.com/GoogleCloudPlatform/kubernetes
➡ 構成要素
• Pod
• Label
• Services
今年の技術トレンドと
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 を扱う
• 通常のサーバーリソースと同様にコンテナを管理
今年の技術トレンドと
Dockerについて 45 / 602014年を振り返る
クラウド連携サービス
 Google Container Engine
 Amazon EC2 Container Service
今年の技術トレンドと
Dockerについて 46 / 602014年を振り返る
オープンソースでも同様の動き
 rancher.io
今年の技術トレンドと
Dockerについて 47 / 602014年を振り返る
今年の技術トレンドと
Dockerについて 48 / 602014年を振り返る
Rocket
なぜDockerなのか?
今年の技術トレンドと
Dockerについて 50 / 602014年を振り返る
仮説
 どこかで見たような印象
➡ 仮想化
• Xen , KVM → クラウド
• オープンソースのコミュニティが牽引
• ハードウェアとOSが1対1の対応
• API
➡ コンテナ化
• LXC, Docker, Rocket … → ??
• オープンソースのコミュニティが牽引
• ハードウェアとアプリケーションを分離
• API
今年の技術トレンドと
Dockerについて 51 / 602014年を振り返る
Docker流行のまとめ
 重要な事
➡ Docker は コンテナを動かすプラットフォーム
• 1. 「API」があると様々なサービスと連携しやすい
• 2. 「コード化」してインフラを管理できること
➡ これらを通して「自分のやりたいことが、すぐできる」
• ???「あんなこといいな、できたらいいな」
 Dockerについて詳細
➡ Software Design 2014年12月号
➡ Docker User Guide 日本語版(仮)
• http://qiita.com/zembutsu/items/444396b76e0db2c04c2b
Dockerが注目されているのは、これま
でやりたかった事が、より便利になった
からではないでしょうか。同じ事は仮想
化でも出来るかもしれませんが、速さや
簡単さでコンテナ化が勝っていると思い
ます。しかし、その分、人間が管理する
には複雑になってきています。このあた
りをどう解決していくかが、鍵になりそ
うです。
個人的な流行
今年の技術トレンドと
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年で多くの機
能実装が進みました。
今年の技術トレンドと
Dockerについて 54 / 602014年を振り返る
仕事が楽になる、楽しくなるツール
 なぜオーケストレーション・ツール?
➡ 複数台のサーバ管理が前提になる時代
• 開発は、構成管理ツール ( Chef, Puppet, Ansible 等 )
• 運用でも、効率的に行う必要性
➡ 人間がボトルネックになっている
• 時間が掛かる
• 間違える
➡ 監視一次対応(判断不要な手順書)レベルを自動化
• 実際には作り込みが必要だし、パーツも足りない
仮想化やクラウドでは、まだ人間が直接
介在する余地がありました。もうそろそ
ろ、機械に任せるところは任せないと、
人間が付いていけない領域に近づいてい
ます。死人がでるんじゃ・・・
最後に、もう1つ
今年の技術トレンドと
Dockerについて 56 / 602014年を振り返る
はてなブックマークから辿る新傾向
今年の技術トレンドと
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
今年の技術トレンドと
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万円もしないとか・・・ちょっと面
白くないですか?
まとめ
今年の技術トレンドと
Dockerについて 60 / 602014年を振り返る
おさらい
 今年の流行は Docker でしょう
➡ Docker というよりアプリケーションのコンテナ化
➡ 仮想化とコンテナ化の違い
➡ 新しい課題も沢山
 個人的には
➡ 自動化支援ツール
• Serf, Consul, Terraform
➡ Internet of Things (IoT)
• Edision
ネットのサービスや端末のプログラム
を開発するように、現実世界に存在す
るデバイスやロボットを動かしたい!
そんな開発スタイルの登場を予感され
る周辺技術や環境が揃ってきた、また
未来に一歩進んだかな?そう思える一
年でした。来年も楽しみです!

Weitere ähnliche Inhalte

Was ist angesagt?

20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecode
Masanori Kado
 

Was ist angesagt? (20)

20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecase20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecase
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOcean
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門
 
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
 
20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecode
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
 
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
 
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
 
2015-01-27 Introduction to Docker
2015-01-27 Introduction to Docker2015-01-27 Introduction to Docker
2015-01-27 Introduction to Docker
 
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returns
 
StackStorm Workflowの設計
StackStorm Workflowの設計StackStorm Workflowの設計
StackStorm Workflowの設計
 
Webアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオンWebアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオン
 
真Drone入門
真Drone入門真Drone入門
真Drone入門
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
 

Andere mochten auch

Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
Kazuyuki Mori
 

Andere mochten auch (20)

小さく始める Docker container の deploy
小さく始める Docker container の deploy小さく始める Docker container の deploy
小さく始める Docker container の deploy
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
 
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorpマイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
 
○○○で作るOpenStack+Contrail環境
○○○で作るOpenStack+Contrail環境○○○で作るOpenStack+Contrail環境
○○○で作るOpenStack+Contrail環境
 
Git, Github超入門
Git, Github超入門Git, Github超入門
Git, Github超入門
 
今から始める、Windows 10&新.NETへの移行戦略
今から始める、Windows 10&新.NETへの移行戦略今から始める、Windows 10&新.NETへの移行戦略
今から始める、Windows 10&新.NETへの移行戦略
 
Container sig#1 ansible-container
Container sig#1 ansible-containerContainer sig#1 ansible-container
Container sig#1 ansible-container
 
Contrail Enabler for agile cloud services
Contrail Enabler for agile cloud servicesContrail Enabler for agile cloud services
Contrail Enabler for agile cloud services
 
バズワード大戦2015~この先生きのこる~
バズワード大戦2015~この先生きのこる~バズワード大戦2015~この先生きのこる~
バズワード大戦2015~この先生きのこる~
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
OCP Serverを用いた OpenStack Containerの検証
 OCP Serverを用いたOpenStack Containerの検証 OCP Serverを用いたOpenStack Containerの検証
OCP Serverを用いた OpenStack Containerの検証
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)
DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)
DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
Docker 基本のおさらい
Docker 基本のおさらいDocker 基本のおさらい
Docker 基本のおさらい
 

Ähnlich wie 2014年を振り返る 今年の技術トレンドとDockerについて

CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano
 

Ähnlich wie 2014年を振り返る 今年の技術トレンドとDockerについて (20)

さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)
 
Introducing microsoft learn
 Introducing microsoft learn Introducing microsoft learn
Introducing microsoft learn
 
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
 
初めてのWebプログラミング講座
初めてのWebプログラミング講座初めてのWebプログラミング講座
初めてのWebプログラミング講座
 
.net micro framework for toppers
.net micro framework for toppers.net micro framework for toppers
.net micro framework for toppers
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
さくらのIoT Platformを使ってみよう ~Developers in KOBE編~
 
熊本クラウド語ろう会 - Azure開発入門
熊本クラウド語ろう会 -  Azure開発入門熊本クラウド語ろう会 -  Azure開発入門
熊本クラウド語ろう会 - Azure開発入門
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
 

Mehr von Masahito Zembutsu

Mehr von Masahito Zembutsu (20)

忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19
 
Docker Chronicle 2021.09
Docker Chronicle  2021.09Docker Chronicle  2021.09
Docker Chronicle 2021.09
 
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話
 
3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」
 
ようこそオンラインの展示会場へ
ようこそオンラインの展示会場へようこそオンラインの展示会場へ
ようこそオンラインの展示会場へ
 
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
 
オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
 
Jitsi Meetとは?
Jitsi Meetとは?Jitsi Meetとは?
Jitsi Meetとは?
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
クリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようクリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしよう
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

2014年を振り返る 今年の技術トレンドとDockerについて

  • 1. Masahito Zembutsu @zembutsu Technology Evangelist; Creationline , Inc. Akasaka Tokyo, 4 Dec 2014 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構文からホッテントリ対象の タグを抽出してカウント タイトルを元に集計するのではなく、エ ントリにつけれた「タグ」に変更。
  • 22. 今年の技術トレンドと Dockerについて 22 / 602014年を振り返る 2014年の傾向 トップには「プログラミングが」入り込 みました。ジャンル別に集計すると・・
  • 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コンテナ上で動くアプリケーションと、 基盤となるシステム管理を分離できる ➡ 迅速なスケールアップやスケールダウンができる
  • 29. 今年の技術トレンドと Dockerについて 29 / 602014年を振り返る 開発サイクル アプリケーション開発 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 を扱う • 通常のサーバーリソースと同様にコンテナを管理
  • 45. 今年の技術トレンドと Dockerについて 45 / 602014年を振り返る クラウド連携サービス  Google Container Engine  Amazon EC2 Container Service
  • 46. 今年の技術トレンドと Dockerについて 46 / 602014年を振り返る オープンソースでも同様の動き  rancher.io
  • 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 等 ) • 運用でも、効率的に行う必要性 ➡ 人間がボトルネックになっている • 時間が掛かる • 間違える ➡ 監視一次対応(判断不要な手順書)レベルを自動化 • 実際には作り込みが必要だし、パーツも足りない 仮想化やクラウドでは、まだ人間が直接 介在する余地がありました。もうそろそ ろ、機械に任せるところは任せないと、 人間が付いていけない領域に近づいてい ます。死人がでるんじゃ・・・
  • 56. 今年の技術トレンドと Dockerについて 56 / 602014年を振り返る はてなブックマークから辿る新傾向
  • 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 ネットのサービスや端末のプログラム を開発するように、現実世界に存在す るデバイスやロボットを動かしたい! そんな開発スタイルの登場を予感され る周辺技術や環境が揃ってきた、また 未来に一歩進んだかな?そう思える一 年でした。来年も楽しみです!