SlideShare a Scribd company logo
1 of 46
Download to read offline
Masahito Zembutsu @zembutsu
Technology Evangelist; Creationline , Inc.
Tokyo, Feb 28, 2015
Open Source Conference 2015 Tokyo Spring
Open Cloud Campus #osc15tk
Apache Aurora の始めかた
Apache Aurora introduction and tutorial
Apache Aurora の始めかた
2 / 46
今日の内容
• なぜ Apache Aurora なのか?
• Apache Aurora とは?
• チュートリアルを試すには?
• まとめ
Topics
Auroraを実際に使うときの
日本語の情報が少ないため、
自分が分からなかった所を
整理してみました。
Apache Aurora の始めかた
3 / 46
まとめ
• AuroraはApache Mesos上で動くフレームワーク
Marathon や chronos と同じような位置付け、インフラ部分を Mesos で抽象化
• “Job” 単位で ”Task” “Process”を管理する概念
ジョブの中に複数のタスク、そして実際のコマンドであるプロセスを指定
• コードでサービスやインフラを定義
設定ファイルは「.aurora」形式で、Python 言語の記述、CLI で実行
Conclusion
バッチだけでなくサービスや
cronで実行するコマンドを
「Job」と定義して使います。
どうして Aurora なのか?
Motivation
1
Apache Aurora の始めかた
5 / 46
稼働率 =
MTBF
MTBF+MTTR
平均故障間隔
Meam Time Between Failures
平均修理時間
Meam Time to Repaire
Availability
MTBFよりMTTRを減らす
というアプローチが最近の
オーケストレーションかな?
障害対応を楽にする自動化
(`・ω・́)
自分にとって自動化は仕事を
楽にしたいというポジティブ
なものよりも・・・
もうあんな思いはイヤだ!
(‘A`)
障害で厭な気分をしたくない
ネガティブな所が根っこに…
何とか良いものがないか?
というのが最近の興味です。
https://blog.twitter.com/2015/all-about-apache-aurora
そんな折 witter 社ブログで
Aurora を知ったのが契機で
サービスの安定稼働のために
使えるのでは?と考えます。
Dockerに対応したことも
興味を惹かれました。
動機不純です。
Apache Aurora の始めかた
9 / 46
投稿の要点
• 一万台規模に数百人のエンジニアが毎日デプロイ
自動化は極めて重要な課題
• サービスの維持には更新・便利さ・障害と直面
クラスタを安定稼働させるシステムとして、Apache Mesos をクラスタ監視に使う
• Twitter 社で 2010 年から開発
Bill Farmer 氏が開発開始。2013年にはオープンソースとして公開
• V.0.7.0 は Docker 対応
Apache Aurora とは?
Introduction
2
Apache Aurora の始めかた
11 / 46
Apache Aurora
• http://aurora.incubator.apache.org/
オープンソースの開発コミュニティ、Apache License v2.0
• Apache Mesos 上で動作するスケジューラ
“Apache Aurora is a Mesos framework for long-running services and cron jobs.”
• “Job”をPython形式のファイルで管理
同じ処理の繰り返し、コードで管理できる
Apache Aurora の始めかた
12 / 46
Apache Mesos とは?
• 分散システムの管理 kernel という位置付け
APIでリソース管理やスケジューリングを行い、アプリケーションを動かす
• リソースを抽象化
CPU、メモリ、ストレージ
• 耐障害性、スケーラビリティを備える
Zookeeper で Master-Slave の冗長化
http://mesos.apache.org/
Apache Aurora の始めかた
13 / 46
例えば、複数の物理・仮想サーバがあったとして
Apache Aurora の始めかた
14 / 46
アプリケーション A アプリケーション B
アプリケーション毎に、サーバの役割は固定されがち
Apache Aurora の始めかた
15 / 46
Apache Mesos
アプリケーション A アプリケーション B
それを、Mesos は必要とするリソースを抽象化します
Apache Aurora の始めかた
16 / 46
アプリケーション A アプリケーション B
この Mesos の仕組みを利用するのが Aurora
Zookeeper が
Mesos Master
クラスタを管理Mesos
Master
スタンバイ
Master
スタンバイ
Master
Mesos
Slave
TaskA
Mesos
Slave
TaskA
Mesos
Slave
TaskB
Mesos
Slave
TaskB
Apache Aurora の始めかた
17 / 46
Job
Task 1 Task 2 Task N
Process 1,1
Process 1,2
Process 1,M
…
…
Process 2,1
Process 2,2
Process 2,M
…
Process N,1
Process N,2
Process N,M
…
Aurora
N個のTaskを管理
Mesos
M個のProcessを管理
Thermos
ジョブ、とは?
Apache Aurora の始めかた
19 / 46
Job
Task Process
Process
Task Process
Process
ジョブはこのような概念です
Apache Aurora の始めかた
20 / 46
Job『Webサーバ運用』
Task:環境構築
Task:本番稼働
Task:削除
Process: wgetでコードを取得
Process: gunzipで展開
Process: 設定ファイルの配置
Process: デーモンとして起動(ループ)
Process: プロセス停止
Process: ログファイル待避
Process: 不要ファイル削除
具体的な利用シーン例
Apache Aurora の始めかた
21 / 46
Job『カレー大作戦』
Task:資材調達
Task:調理
Task:食す
Process: スーパーに行く
Process: 食材を買う、スパイスを買う
Process: お金を払う
Process: 家に持ち帰る
Process: 肉を炒める
Process: 野菜を切る
Process: 煮込む
Process: 御飯を炊く
Process: スパイスを調整する
Process: 食器を用意
Process: 盛り付ける
Process: ニコニコ顔で完食する
Process: 片付ける
カレーに例えると・・・
Apache Aurora の始めかた
22 / 46
他のフレームワークと比較
Apache Aurora Marathon Choronos
Job処理 ○ ○ ×
Cron風Job処理 ○ × ○
コードでの管理 ○ × ×
GUI管理画面 △ ( モニタのみ ) ○ ○
API ○ ○ ○
JSON REST I/F × ○ ○
開発言語 Java Scala Scala
URL http://aurora.incubator.apache.org/ https://mesosphere.github.io/marathon/ https://github.com/mesos/chronos
Apache Aurora を試すには?
Let’s start tutorial
3
Apache Aurora の始めかた
24 / 46
動作理解に便利なチュートリアル
• http://aurora.incubator.apache.org/documentation/latest/tutorial/
• 例:“Hello world” を実行するスケジューラ
Aurora はジョブ、Mesos はタスク、Themos はプロセスを管理するのを学ぶ
• 環境構築に Vagrant を使用
ローカル PC の VirtualBox 上で、実行環境を自動構築
• 任意のジョブ・タスク・プロセスを生成可
Apache Mesos・Apache Aurora は動作済みなので、動作確認に専念
Apache Aurora の始めかた
25 / 46
OS ( Windows / MacOS X )
Oracle VM VirtualBox
Vagrant
git, vagrant up
操作
Aurora 動作環境の仮想マシン
vagrant ssh
ログイン
Mesos
Master
Mesos
Slave
Observer Scheduler
http://192.168.33.7:5050 http://192.168.33.7:5051 http://192.168.33.7:8081 http://192.168.33.7:1338
ソースコード
仮想マシンイメージ
.aurora
Apache Aurora の始めかた
26 / 46
Tutorial 環境構築手順
1. VagrantとVirtualBox のセットアップ
https://www.vagrantup.com/downloads.html
2. レポジトリ取得
3. Vagrantd でクラスタ起動、ログイン
$ git clone http://git.apache.org/incubator-aurora.git
$ cd incubator-aurora
$ vagrant up
$ vagrant ssh
非常に簡単です。Vagrantで
自動的に Apache Mesos や
Aurora 環境を構築します。
Apache Aurora の始めかた
27 / 46
Scheduler - http://192.168.33.7:8081 Observer - http://192.168.33.7:1338
Mesos Master - http://192.168.33.7:5050 Mesos Slave - http://192.168.33.7:5051
Apache Mesos を含む各種
インターフェースに対して
アクセスできます。
Apache Aurora の始めかた
28 / 46
ジョブ作成
• ジョブとして実行する “hello_world.py” 作成
import sys
import time
def main(argv):
SLEEP_DELAY = 10
# Python ninjas - ignore this blatant bug.
for i in xrang(100):
print("Hello world! The time is now: %s. Sleeping for %d secs" % (
time.asctime(), SLEEP_DELAY))
sys.stdout.flush()
time.sleep(SLEEP_DELAY)
if __name__ == "__main__":
main(sys.argv)
ファイルを作成します。
公式チュートリアルはこの
Python ですが他のものでも
大丈夫です。
Apache Aurora の始めかた
29 / 46
Aurora 設定用ファイル
• “hello_world.aurora”
pkg_path = '/vagrant/hello_world.py'
import hashlib
with open(pkg_path, 'rb') as f:
pkg_checksum = hashlib.md5(f.read()).hexdigest()
install = Process(
name = 'fetch_package',
cmdline = 'cp %s . && echo %s && chmod +x hello_world.py' % (pkg_path, pkg_checksum))
hello_world = Process(
name = 'hello_world',
cmdline = 'python hello_world.py')
hello_world_task = SequentialTask(
processes = [install, hello_world],
resources = Resources(cpu = 1, ram = 1*MB, disk=8*MB))
jobs = [
Service(cluster = 'devcluster',
environment = 'devel',
role = 'www-data',
name = 'hello_world',
task = hello_world_task)
]
拡張子は「.aurora」
内部の記述方法は Phthon
形式ですが、言語を知らなく
ても記述そのものは単純です。
Apache Aurora の始めかた
30 / 46
Aurora 設定
• “hello_world.aurora”
pkg_path = '/vagrant/hello_world.py'
import hashlib
with open(pkg_path, 'rb') as f:
pkg_checksum = hashlib.md5(f.read()).hexdigest()
install = Process(
name = 'fetch_package',
cmdline = 'cp %s . && echo %s && chmod +x hello_world.py' % (pkg_path, pkg_checksum))
hello_world = Process(
name = 'hello_world',
cmdline = 'python hello_world.py')
hello_world_task = SequentialTask(
processes = [install, hello_world],
resources = Resources(cpu = 1, ram = 1*MB, disk=8*MB))
jobs = [
Service(cluster = 'devcluster',
environment = 'devel',
role = 'www-data',
name = 'hello_world',
task = hello_world_task)
]
Apache Aurora の始めかた
31 / 46
はじめてのジョブ実行
• “aurora” コマンドで実行
vagrant@aurora:~$ aurora job create devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
INFO] Creating job hello_world
INFO]
INFO] Checking status of devcluster/www-data/devel/hello_world
Job create succeeded: job url=http://aurora.local:8081/scheduler/www-data/devel/hello_world
操作は CLI で実行します。
Apache Aurora の始めかた
32 / 46
http://192.168.33.7:8081/scheduler
ジョブがスケジューラに対し
登録されたことがわかります
Apache Aurora の始めかた
33 / 46
クリックすると,ジョブ詳細
確認ができます
Apache Aurora の始めかた
34 / 46
ですが、このチュートリアル
失敗します。。。
(敢えて失敗する流れです)
Apache Aurora の始めかた
35 / 46
画面を辿ると、標準エラーの
内容が確認できます。
純粋に文法上の間違いです。
Apache Aurora の始めかた
36 / 46
もう一度 hello_word.py を
編集して、「xrange」と
正しい記述にします。
Apache Aurora の始めかた
37 / 46
それから「aurora job
update devcluster/www-
data/devel/hello_world
/vagrant/hello_world.aur
ora」でジョブを更新すると
正常に「active」なタスクに
なります。
Apache Aurora の始めかた
38 / 46
Apache Aurora の始めかた
39 / 46
標準出力も、正常な結果が
このように表示されます。
Apache Aurora の始めかた
40 / 46
ポイント
• Auroraは、プレームワークの実行環境を提供
設定ファイルのなかで「Job」「Task」「Process」を定義
• 「Job」で「Task」を抽象化
• 「Task」は「Process」の抽象化
Apache Aurora の始めかた
41 / 46
Process Object の定義
• Themos システムでの挙動
bashで実行可能な形式
• 属性
➡ ‘name’ … Unix ファイル名と同じルール、重複不可
➡ ‘cmdline’… bashコマンド
➡ ‘max_failures’… 最大失敗回数 defaut:1
➡ ‘daemon’…Trueはそのまま実行、default:False
➡ ‘ephemeral’…プロセス再実行までの時間、default:15s
➡ ‘final’…最後に実行されるProcess、default:False
Apache Aurora の始めかた
42 / 46
Task オブジェクトの定義
• Task で定義した内容が Mesos で処理
• 重要なkey
➡ ‘name’ … タスク名称
➡ ‘processes’…タスクで実行されるプロセス一覧
➡ ‘resources’ … 計算資源
• cpu – 浮動小数、タスクが必要とするコア数
• ram – タスクが必要な RAM バイト数
• disk – タスクが必要とするディスクバイト数
Apache Aurora の始めかた
43 / 46
次に読むべき文章
• Configuration Tutorial
➡ http://aurora.incubator.apache.org/documentation/latest/configuration-tutorial/
• Aurora User Guide
➡ http://aurora.incubator.apache.org/documentation/latest/user-guide/
まとめ
conclusion
4
Apache Aurora の始めかた
45 / 46
まとめ
• AuroraはApache Mesos上で動くフレームワーク
Marathon や chronos と同じような位置付け、インフラ部分を Mesos で抽象化
• “Job” 単位で ”Task” “Process”を管理する概念
ジョブの中に複数のタスク、そして実際のコマンドであるプロセスを指定
• コードでサービスやインフラを定義
設定ファイルは「.aurora」形式で、Python 言語の記述、CLI で実行
Conclusion
あとはチュートリアルを試す
だけならとても簡単です。
Apache Aurora の始めかた
46 / 46
参考資料
• All about Apache Aurora | Twitter Blogs
➡ https://blog.twitter.com/2015/all-about-apache-aurora
• User Guide
➡ http://aurora.incubator.apache.org/documentation/latest/user-guide/
• Introduction to Apache Mesos
➡ http://www.slideshare.net/charmalloc/introductionapachemesosjstein20140714
• Datacenter Computing with Apache Mesos - BigData DC
➡ http://www.slideshare.net/pacoid/datacenter-computing-with-apache-mesos

More Related Content

What's hot

Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
Hiroki Endo
 
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングMicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
LINE Corporation
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
takezoe
 

What's hot (20)

インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話
インセプションデッキ:やらないことリストとトレードオフスライダーをやってる話インセプションデッキ:やらないことリストとトレードオフスライダーをやってる話
インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話
 
Kubernetes Cost Optimization
Kubernetes Cost OptimizationKubernetes Cost Optimization
Kubernetes Cost Optimization
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
 
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングMicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
 
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
Docker Tokyo
Docker TokyoDocker Tokyo
Docker Tokyo
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」
 

Viewers also liked

"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
 

Viewers also liked (20)

Docker on Mesos with OpenVNet
Docker on Mesos with OpenVNetDocker on Mesos with OpenVNet
Docker on Mesos with OpenVNet
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
 
IBM Containers の紹介
IBM Containers の紹介IBM Containers の紹介
IBM Containers の紹介
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
Rancher.ioを試してみる
Rancher.ioを試してみるRancher.ioを試してみる
Rancher.ioを試してみる
 
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんかDockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
 
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
 
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 
俺とKubernetes
俺とKubernetes俺とKubernetes
俺とKubernetes
 
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
 
Contiv on vagrant_20160224
Contiv on vagrant_20160224Contiv on vagrant_20160224
Contiv on vagrant_20160224
 
Mesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラMesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラ
 
kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』
kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』
kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』
 
2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japanese2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japanese
 
In-Stream Processing Service Blueprint, Reference architecture for real-time ...
In-Stream Processing Service Blueprint, Reference architecture for real-time ...In-Stream Processing Service Blueprint, Reference architecture for real-time ...
In-Stream Processing Service Blueprint, Reference architecture for real-time ...
 
より効果的に業務改善するためのOffice 365活用術
より効果的に業務改善するためのOffice 365活用術より効果的に業務改善するためのOffice 365活用術
より効果的に業務改善するためのOffice 365活用術
 
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
 
04 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r00104 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r001
 

Similar to Apache Auroraの始めかた

Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
 
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
KinebuchiTomo
 
Webサーバ勉強会03
Webサーバ勉強会03Webサーバ勉強会03
Webサーバ勉強会03
oranie Narut
 

Similar to Apache Auroraの始めかた (20)

できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
 
誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】
 
OpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かすOpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かす
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
複数アプリケーションの プロセスとログを管理する ための新しいツールと手法
複数アプリケーションのプロセスとログを管理するための新しいツールと手法複数アプリケーションのプロセスとログを管理するための新しいツールと手法
複数アプリケーションの プロセスとログを管理する ための新しいツールと手法
 
NanoA
NanoANanoA
NanoA
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
What is chef
What is chefWhat is chef
What is chef
 
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングIT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
 
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
 
Webサーバ勉強会03
Webサーバ勉強会03Webサーバ勉強会03
Webサーバ勉強会03
 
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみましたJAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 
Apache Module
Apache ModuleApache Module
Apache Module
 
当社のawsへの取組
当社のawsへの取組当社のawsへの取組
当社のawsへの取組
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
PowerShell de Azure
PowerShell de AzurePowerShell de Azure
PowerShell de Azure
 

More from Masahito Zembutsu

More from 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
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 

Recently uploaded

Recently uploaded (11)

論文紹介: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...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介: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
 
論文紹介: 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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Apache Auroraの始めかた

  • 1. Masahito Zembutsu @zembutsu Technology Evangelist; Creationline , Inc. Tokyo, Feb 28, 2015 Open Source Conference 2015 Tokyo Spring Open Cloud Campus #osc15tk Apache Aurora の始めかた Apache Aurora introduction and tutorial
  • 2. Apache Aurora の始めかた 2 / 46 今日の内容 • なぜ Apache Aurora なのか? • Apache Aurora とは? • チュートリアルを試すには? • まとめ Topics Auroraを実際に使うときの 日本語の情報が少ないため、 自分が分からなかった所を 整理してみました。
  • 3. Apache Aurora の始めかた 3 / 46 まとめ • AuroraはApache Mesos上で動くフレームワーク Marathon や chronos と同じような位置付け、インフラ部分を Mesos で抽象化 • “Job” 単位で ”Task” “Process”を管理する概念 ジョブの中に複数のタスク、そして実際のコマンドであるプロセスを指定 • コードでサービスやインフラを定義 設定ファイルは「.aurora」形式で、Python 言語の記述、CLI で実行 Conclusion バッチだけでなくサービスや cronで実行するコマンドを 「Job」と定義して使います。
  • 5. Apache Aurora の始めかた 5 / 46 稼働率 = MTBF MTBF+MTTR 平均故障間隔 Meam Time Between Failures 平均修理時間 Meam Time to Repaire Availability MTBFよりMTTRを減らす というアプローチが最近の オーケストレーションかな?
  • 8. https://blog.twitter.com/2015/all-about-apache-aurora そんな折 witter 社ブログで Aurora を知ったのが契機で サービスの安定稼働のために 使えるのでは?と考えます。 Dockerに対応したことも 興味を惹かれました。 動機不純です。
  • 9. Apache Aurora の始めかた 9 / 46 投稿の要点 • 一万台規模に数百人のエンジニアが毎日デプロイ 自動化は極めて重要な課題 • サービスの維持には更新・便利さ・障害と直面 クラスタを安定稼働させるシステムとして、Apache Mesos をクラスタ監視に使う • Twitter 社で 2010 年から開発 Bill Farmer 氏が開発開始。2013年にはオープンソースとして公開 • V.0.7.0 は Docker 対応
  • 11. Apache Aurora の始めかた 11 / 46 Apache Aurora • http://aurora.incubator.apache.org/ オープンソースの開発コミュニティ、Apache License v2.0 • Apache Mesos 上で動作するスケジューラ “Apache Aurora is a Mesos framework for long-running services and cron jobs.” • “Job”をPython形式のファイルで管理 同じ処理の繰り返し、コードで管理できる
  • 12. Apache Aurora の始めかた 12 / 46 Apache Mesos とは? • 分散システムの管理 kernel という位置付け APIでリソース管理やスケジューリングを行い、アプリケーションを動かす • リソースを抽象化 CPU、メモリ、ストレージ • 耐障害性、スケーラビリティを備える Zookeeper で Master-Slave の冗長化 http://mesos.apache.org/
  • 13. Apache Aurora の始めかた 13 / 46 例えば、複数の物理・仮想サーバがあったとして
  • 14. Apache Aurora の始めかた 14 / 46 アプリケーション A アプリケーション B アプリケーション毎に、サーバの役割は固定されがち
  • 15. Apache Aurora の始めかた 15 / 46 Apache Mesos アプリケーション A アプリケーション B それを、Mesos は必要とするリソースを抽象化します
  • 16. Apache Aurora の始めかた 16 / 46 アプリケーション A アプリケーション B この Mesos の仕組みを利用するのが Aurora Zookeeper が Mesos Master クラスタを管理Mesos Master スタンバイ Master スタンバイ Master Mesos Slave TaskA Mesos Slave TaskA Mesos Slave TaskB Mesos Slave TaskB
  • 17. Apache Aurora の始めかた 17 / 46 Job Task 1 Task 2 Task N Process 1,1 Process 1,2 Process 1,M … … Process 2,1 Process 2,2 Process 2,M … Process N,1 Process N,2 Process N,M … Aurora N個のTaskを管理 Mesos M個のProcessを管理 Thermos
  • 19. Apache Aurora の始めかた 19 / 46 Job Task Process Process Task Process Process ジョブはこのような概念です
  • 20. Apache Aurora の始めかた 20 / 46 Job『Webサーバ運用』 Task:環境構築 Task:本番稼働 Task:削除 Process: wgetでコードを取得 Process: gunzipで展開 Process: 設定ファイルの配置 Process: デーモンとして起動(ループ) Process: プロセス停止 Process: ログファイル待避 Process: 不要ファイル削除 具体的な利用シーン例
  • 21. Apache Aurora の始めかた 21 / 46 Job『カレー大作戦』 Task:資材調達 Task:調理 Task:食す Process: スーパーに行く Process: 食材を買う、スパイスを買う Process: お金を払う Process: 家に持ち帰る Process: 肉を炒める Process: 野菜を切る Process: 煮込む Process: 御飯を炊く Process: スパイスを調整する Process: 食器を用意 Process: 盛り付ける Process: ニコニコ顔で完食する Process: 片付ける カレーに例えると・・・
  • 22. Apache Aurora の始めかた 22 / 46 他のフレームワークと比較 Apache Aurora Marathon Choronos Job処理 ○ ○ × Cron風Job処理 ○ × ○ コードでの管理 ○ × × GUI管理画面 △ ( モニタのみ ) ○ ○ API ○ ○ ○ JSON REST I/F × ○ ○ 開発言語 Java Scala Scala URL http://aurora.incubator.apache.org/ https://mesosphere.github.io/marathon/ https://github.com/mesos/chronos
  • 24. Apache Aurora の始めかた 24 / 46 動作理解に便利なチュートリアル • http://aurora.incubator.apache.org/documentation/latest/tutorial/ • 例:“Hello world” を実行するスケジューラ Aurora はジョブ、Mesos はタスク、Themos はプロセスを管理するのを学ぶ • 環境構築に Vagrant を使用 ローカル PC の VirtualBox 上で、実行環境を自動構築 • 任意のジョブ・タスク・プロセスを生成可 Apache Mesos・Apache Aurora は動作済みなので、動作確認に専念
  • 25. Apache Aurora の始めかた 25 / 46 OS ( Windows / MacOS X ) Oracle VM VirtualBox Vagrant git, vagrant up 操作 Aurora 動作環境の仮想マシン vagrant ssh ログイン Mesos Master Mesos Slave Observer Scheduler http://192.168.33.7:5050 http://192.168.33.7:5051 http://192.168.33.7:8081 http://192.168.33.7:1338 ソースコード 仮想マシンイメージ .aurora
  • 26. Apache Aurora の始めかた 26 / 46 Tutorial 環境構築手順 1. VagrantとVirtualBox のセットアップ https://www.vagrantup.com/downloads.html 2. レポジトリ取得 3. Vagrantd でクラスタ起動、ログイン $ git clone http://git.apache.org/incubator-aurora.git $ cd incubator-aurora $ vagrant up $ vagrant ssh 非常に簡単です。Vagrantで 自動的に Apache Mesos や Aurora 環境を構築します。
  • 27. Apache Aurora の始めかた 27 / 46 Scheduler - http://192.168.33.7:8081 Observer - http://192.168.33.7:1338 Mesos Master - http://192.168.33.7:5050 Mesos Slave - http://192.168.33.7:5051 Apache Mesos を含む各種 インターフェースに対して アクセスできます。
  • 28. Apache Aurora の始めかた 28 / 46 ジョブ作成 • ジョブとして実行する “hello_world.py” 作成 import sys import time def main(argv): SLEEP_DELAY = 10 # Python ninjas - ignore this blatant bug. for i in xrang(100): print("Hello world! The time is now: %s. Sleeping for %d secs" % ( time.asctime(), SLEEP_DELAY)) sys.stdout.flush() time.sleep(SLEEP_DELAY) if __name__ == "__main__": main(sys.argv) ファイルを作成します。 公式チュートリアルはこの Python ですが他のものでも 大丈夫です。
  • 29. Apache Aurora の始めかた 29 / 46 Aurora 設定用ファイル • “hello_world.aurora” pkg_path = '/vagrant/hello_world.py' import hashlib with open(pkg_path, 'rb') as f: pkg_checksum = hashlib.md5(f.read()).hexdigest() install = Process( name = 'fetch_package', cmdline = 'cp %s . && echo %s && chmod +x hello_world.py' % (pkg_path, pkg_checksum)) hello_world = Process( name = 'hello_world', cmdline = 'python hello_world.py') hello_world_task = SequentialTask( processes = [install, hello_world], resources = Resources(cpu = 1, ram = 1*MB, disk=8*MB)) jobs = [ Service(cluster = 'devcluster', environment = 'devel', role = 'www-data', name = 'hello_world', task = hello_world_task) ] 拡張子は「.aurora」 内部の記述方法は Phthon 形式ですが、言語を知らなく ても記述そのものは単純です。
  • 30. Apache Aurora の始めかた 30 / 46 Aurora 設定 • “hello_world.aurora” pkg_path = '/vagrant/hello_world.py' import hashlib with open(pkg_path, 'rb') as f: pkg_checksum = hashlib.md5(f.read()).hexdigest() install = Process( name = 'fetch_package', cmdline = 'cp %s . && echo %s && chmod +x hello_world.py' % (pkg_path, pkg_checksum)) hello_world = Process( name = 'hello_world', cmdline = 'python hello_world.py') hello_world_task = SequentialTask( processes = [install, hello_world], resources = Resources(cpu = 1, ram = 1*MB, disk=8*MB)) jobs = [ Service(cluster = 'devcluster', environment = 'devel', role = 'www-data', name = 'hello_world', task = hello_world_task) ]
  • 31. Apache Aurora の始めかた 31 / 46 はじめてのジョブ実行 • “aurora” コマンドで実行 vagrant@aurora:~$ aurora job create devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora INFO] Creating job hello_world INFO] INFO] Checking status of devcluster/www-data/devel/hello_world Job create succeeded: job url=http://aurora.local:8081/scheduler/www-data/devel/hello_world 操作は CLI で実行します。
  • 32. Apache Aurora の始めかた 32 / 46 http://192.168.33.7:8081/scheduler ジョブがスケジューラに対し 登録されたことがわかります
  • 33. Apache Aurora の始めかた 33 / 46 クリックすると,ジョブ詳細 確認ができます
  • 34. Apache Aurora の始めかた 34 / 46 ですが、このチュートリアル 失敗します。。。 (敢えて失敗する流れです)
  • 35. Apache Aurora の始めかた 35 / 46 画面を辿ると、標準エラーの 内容が確認できます。 純粋に文法上の間違いです。
  • 36. Apache Aurora の始めかた 36 / 46 もう一度 hello_word.py を 編集して、「xrange」と 正しい記述にします。
  • 37. Apache Aurora の始めかた 37 / 46 それから「aurora job update devcluster/www- data/devel/hello_world /vagrant/hello_world.aur ora」でジョブを更新すると 正常に「active」なタスクに なります。
  • 39. Apache Aurora の始めかた 39 / 46 標準出力も、正常な結果が このように表示されます。
  • 40. Apache Aurora の始めかた 40 / 46 ポイント • Auroraは、プレームワークの実行環境を提供 設定ファイルのなかで「Job」「Task」「Process」を定義 • 「Job」で「Task」を抽象化 • 「Task」は「Process」の抽象化
  • 41. Apache Aurora の始めかた 41 / 46 Process Object の定義 • Themos システムでの挙動 bashで実行可能な形式 • 属性 ➡ ‘name’ … Unix ファイル名と同じルール、重複不可 ➡ ‘cmdline’… bashコマンド ➡ ‘max_failures’… 最大失敗回数 defaut:1 ➡ ‘daemon’…Trueはそのまま実行、default:False ➡ ‘ephemeral’…プロセス再実行までの時間、default:15s ➡ ‘final’…最後に実行されるProcess、default:False
  • 42. Apache Aurora の始めかた 42 / 46 Task オブジェクトの定義 • Task で定義した内容が Mesos で処理 • 重要なkey ➡ ‘name’ … タスク名称 ➡ ‘processes’…タスクで実行されるプロセス一覧 ➡ ‘resources’ … 計算資源 • cpu – 浮動小数、タスクが必要とするコア数 • ram – タスクが必要な RAM バイト数 • disk – タスクが必要とするディスクバイト数
  • 43. Apache Aurora の始めかた 43 / 46 次に読むべき文章 • Configuration Tutorial ➡ http://aurora.incubator.apache.org/documentation/latest/configuration-tutorial/ • Aurora User Guide ➡ http://aurora.incubator.apache.org/documentation/latest/user-guide/
  • 45. Apache Aurora の始めかた 45 / 46 まとめ • AuroraはApache Mesos上で動くフレームワーク Marathon や chronos と同じような位置付け、インフラ部分を Mesos で抽象化 • “Job” 単位で ”Task” “Process”を管理する概念 ジョブの中に複数のタスク、そして実際のコマンドであるプロセスを指定 • コードでサービスやインフラを定義 設定ファイルは「.aurora」形式で、Python 言語の記述、CLI で実行 Conclusion あとはチュートリアルを試す だけならとても簡単です。
  • 46. Apache Aurora の始めかた 46 / 46 参考資料 • All about Apache Aurora | Twitter Blogs ➡ https://blog.twitter.com/2015/all-about-apache-aurora • User Guide ➡ http://aurora.incubator.apache.org/documentation/latest/user-guide/ • Introduction to Apache Mesos ➡ http://www.slideshare.net/charmalloc/introductionapachemesosjstein20140714 • Datacenter Computing with Apache Mesos - BigData DC ➡ http://www.slideshare.net/pacoid/datacenter-computing-with-apache-mesos