SlideShare a Scribd company logo
Masahito Zembutsu @zembutsu
Technology Evangelist; Creationline , Inc.
Shinagawa Tokyo, Mar 13 2015
Cloud Orchestration Seminar
#orchestrator
HashiCorp のツール群とオーケストレション
The notion of HashiCorp’s Orchestration Tools
HashiCorpのツール群とオーケストレーション
2 / 34
今日の内容
• HashiCorpとは?
?????
• オーケストレーションとhashiCorpの考え
The Tao of HashiCorp
• Atlasと開発運用を支えるツール群
Vagrant, Packer, Terraform, Serf, Consul
Topics
HashiCorpのツール群とオーケストレーション
3 / 34
オーケストレーション?
• Orchestration (computing)
➡ “Orchestration describes the automated arrangement,
coordination, and management of computer systems,
middleware, and services.” wikipedia
• 個人的に、もっと早く欲しかった技術
2015年現在、クラウド・コンピューティング(システム基盤)が広く普及した。
まだ、これぞ!という定義が
なされていないように思われ
ます。
HashiCorpは聞き慣れない
かもしれませんがVagrantや
各々のアイコンに見覚えが
ありませんでしょうか。
そもそも、なぜ、オーケスト
レーションが必要なのかな?
http://www.flickr.com/photos/torkildr/3462606643/ by torkildr
データセンターでの運用から
解き放たれる新しい価値、
クラウド・コンピューティング
Cloud Computing
計
画
発
注
納
品
設
置
設
定
監
視
運
用
開
始
計
画
発
注
納
品
設
置
設
定
監
視
運
用
開
始
実際のフローでは、ここがネックになりがち・・・
数週~1ヶ月程度
few weeks or a month
計
画
発
注
納
品
設
置
設
定
監
視
運
用
開
始
クラウド・コンピューティング基盤
Infrastructure as a Service
1クリック
one click
計
画
発
注
納
品
監
視
運
用
開
始
数分~10分
few minutes
クラウド・コンピューティング基盤
Infrastructure as a Service
計
画
発
注
納
品
監
視
運
用
開
始
クラウド・コンピューティング基盤
Infrastructure as a Service
数分~10分
few minutes
計
画
発
注
納
品
監
視
運
用
開
始
クラウド・コンピューティング基盤
Infrastructure as a Service
数分~10分
few minutes
発
注
納
品
発
注
納
品
継続的デリバリー
継続的デプロイ
継続的インテグレーション
3つの現実課題
納期・品質・生産性
短時間で正確に行うには?
拘束時間を減らすには?
“オーケストレーション”と総称される技術群
そこに活用できる技術が、
オーケストレーションであり
HashiCorpのツール群が
活用出来るのではと考えます。
2010(年) 2011 2012 2013 2014 2015
Vagrant
v0.1
リリース
HashiCorp
会社設立
Packer
Serf
Vagrant
Cloud
Terraform
Consul
ATLAS
ATLAS
正式版
(予定)
Vagrantをはじめとし様々な
ツールが提供されています。
HashiCorpのツール群とオーケストレーション
19 / 34
HashiCorp
• 2012年設立
Mitchell Hashimoto氏が2010年に開発・発表したVagrantが前身
• データセンタ管理に革命をもたらす目的
仮想・物理・コンテナ・クラウド等を組みあわせる状況、その時に生まれる溝を埋めるものを提供
• オープンソースで開発過程が公開
設立以後も、コードが公開されているだけでなく、GitHub・IRC で誰でも意見表明できる
https://www.hashicorp.com/
HashiCorpのツール群とオーケストレーション
20 / 34
HashiCorp道 (The Tao of HashiCorp)
• 技術ありきではなく、どのように実現するか?
最も簡単にするためのワークフローを考え、そこに対応するツールが無ければ作るという設計思想
• 単純・モジュール型・組みあわせ可能
Unix哲学と同様、全体の問題を解決するのではなく、個々の要素(コンポーネント)に分解
• コードで管理・弾力的システム・実用主義
システムや基盤に対するバージョン管理や自動化によって、システムにとっても人にとっても利点となる
https://hashicorp.com/blog/tao-of-hashicorp.html
HashiCorpのツール群とオーケストレーション
21 / 34
Atlas – https://atlas.hashicorp.com
• 開発・デプロイ・運用を1つのフローで提供
運用担当者も開発担当者も、同一システム上ですべての作業を完結できるプラットフォーム
• 2014年発表、現在ベータ版として提供中
2015年正式リリース予定。それまでは無料でリソースが利用出来る
• 全ての機能を使う必要は無い
例:VagrantやConsulなどから、Atlasが持っている機能を部分的に利用出来る
Atlasの全貌は、開発・運用
(DevOps)両領域を跨ぎます。
Atlasというサービスを、こ
れらツールを通して扱います。
box
box
Atlas
開発環境
box
box
仮想マシン
イメージ
本番環境
box
box
box
Artifact
Public
Private
.terraform
.terraform
.terraform
VM VM
GUI
こちらが具体的なイメージ。
HashiCorpのツール群とオーケストレーション
25 / 34
Vagrant
• ローカルに簡単に開発環境を構築
VirtualBoxを抽象化し、”vagrant up”コマンドを実行するだけで環境が自動的に構築できる
• box (Vagrantの仮想マシンイメージ) 管理機能
「自分の環境しか動かない」というトラブルを避けるため、コードで管理する仕組み
• Atlasを経由して開発環境の共有
“vagrant share”でローカル環境のHTTP/SSHを公開し、リモートから参照可能
https://www.vagrantup.com/
Hashicorpのツール群とオーケストレーション
Hashicorpのツール群とオーケストレーション
HashiCorpのツール群とオーケストレーション
28 / 34
Packer
• 複数環境に対応した仮想マシン・イメージ生成
VirtualBox, VMware, AWS, Google Compute Cloud, Digital Ocan, QEMU 等々
• 生成作業をシンプル・自動化
作成過程を抽象化し、どのプラットフォームに対しても統一した操作で構築
• Atlas用のイメージ Artifact を生成
Terraformと連携して、本番環境のデプロイを容易に
https://packer.io
HashiCorpのツール群とオーケストレーション
29 / 34
Terraform
• クラウドの複雑な構成管理を自動化
GUIやAPIを使わず、設定ファイルを元に環境を作る事ができる
• コードで管理するので、正確・迅速な構築
AWSであれば、EC2、S3、ELB、Route53 等の環境をコードで記述
• Atlas上のArtifactを様々な環境にデプロイ
https://terraform.io
HashiCorpのツール群とオーケストレーション
30 / 34
Serf
• 非中央集権型のクラスタ構成ツール
バイナリ1個で動作する軽量さと、簡単にクラスタを構成できる(ゴシップ・プロトコルを拡張したSWIM方式)
• メンバ管理・障害検出・オーケストレーション
ホスト名とIPアドレスの自動管理や、イベント情報をクラスタ内で100ノードあたり約2秒で伝える
• 複数台にまたがる手作業を自動化
動的に変わるインフラに対して、監視設定やミドルウェアの設定変更や、プロセス再起動
https://serfdom.io/
HashiCorpのツール群とオーケストレーション
31 / 34
Consul
• 分散環境のサービス検出と設定変更
Serfを内部に取り込み、HTTP等のサービスやプロセスの監視とあわせ、自動設定変更
• HTTP(REST API)とDNSインターフェースを持つ
既存のシステムと組み合わせをしやすい
• Atlasを使ったメンバ管理・監視運用機能
クラスタのサービスやホスト名・IPアドレスを管理できるGUIやヘルスチェック
https://consul.io/
box
box
Atlas
開発環境
box
box
仮想マシン
イメージ
本番環境
box
box
box
Artifact
Public
Private
.terraform
.terraform
.terraform
VM VM
GUI
まだまだ開発途上ですが、
機能には注目しています。
box
仮想マシン
イメージ‘
convert
share
deploy
share share
monitoring
 オーケストレーションを実現するHashiCorpツール群
 既存の業務フローを変えずに導入できる
 個々のツールを単体で使うことも組みあわせも可
まとめ
HashiCorpのツール群とオーケストレーション
34 / 34
参考
• HashiCorp
➡ https://hashicorp.com/
• The Tao of HashiCorp
➡ https://hashicorp.com/blog/tao-of-hashicorp.html
• Atlas
➡ https://atlas.hashicorp.com/development
References

More Related Content

Hashicorpのツール群とオーケストレーション