mesos consulで構築するマイクロサービスインフラ

25
Copyright 2015 CREATIONLINE, INC. All Rights Reserved Apache Mesos/Hashicorp Consul ででででで でででででででででででで 2015/10/27 クククククククククククククク クク クク 1 2015/10/27( ク ) クククククククク ク クククク OS ククククククククク

Upload: mitsutoshi-kiuchi

Post on 15-Apr-2017

1.442 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Apache Mesos/Hashicorp Consulで構築するマイクロサービスインフラ

2015/10/27クリエーションライン株式会社

木内 満歳

1

2015/10/27(火 ) クラウド研究会第一回「クラウド OS とマイクロサービス」

Page 2: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

アジェンダ

• 自己紹介• Apache Mesos/Mesoshere DCOS紹介• Hashicorp Consulのご紹介

2

Page 3: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

自己紹介

3

木内 満歳(きうち みつとし)

クリエーションライン株式会社 シニアコンサルタント

Slideshare: http://www.slideshare.net/mkiuchi4

gihyo.jp記事

“ Mesosphere DCOSでつくる”クラウドアプリケーション

http://gihyo.jp/admin/serial/01/dcos

Apache Sparkも取り組んでおります

Page 4: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Apache Mesos/Mesosphere DCOSのご紹介

4

Page 5: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Docker実行環境概観

5

Docker Subscription

&DockerSwarm

利用者 ホスト数

数十人~ 数十台~

数人~十数人 数台~十数台

一人~数人 2~5台

デプロイ規模に応じた環境の差異

本日取り上げる部分

Page 6: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Apache Mesos/Mesosphere DCOS

6

世代型クラスタリソースマネージャカリフォルニア大学バークレー校

AMPLabにて開発 (機械学習における世界トップの研究所 )オープンソースで公開。米 Apache財団の全面バックアップ (Top Level Project)開発メンバーは Mesosphere社を設立。商用製品 DCOSをリリース

比類ないスケーラビリティ10,000ノードまでの拡張性を前提に設計ジョブの自動再起動、繰り返し実行日時指定実行、実行回数制限をサポート

ジョブの監視、異常終了時の自動再実行ジョブに必要なマシンリソースと有休資源内のリソースマッチング

Dockerコンテナのネイティブサポートジョブに応じて動的に実行環境を切り替え可能

導入事例Twitter(ショートメッセージング )Airbnb(宿泊施設マッチング )Apple(Siriバックエンド )

Page 7: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Apache Mesosと他のクラスタマネージャとの比較

7

Page 8: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Mesosフレームワーク /アプリケーションスタック

8

Mes

os

Slav

eZo

okee

per

HW/VM HW/VM HW/VM HW/VMOS OS OS OS

Mesos Master

Mesos DNS

Marathon Chronos

AppApp

AppApp

AppApp

AppApp

リソース管理

サービスディスカバリージョブスケジューラー

想定されるアプリケーションRuby on Rails / STORM /Hadoop / Docker / SparkPlay

Page 9: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

拡張可能なフレームワーク

9

Zook

eepe

r

Mesos Master

Mesos DNS

Marathon Chronos 自作フレームワーク

自作フレームワーク

サービスの種類を拡張可能

Page 10: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Mesos is cluster of clusters

10

Mesos Master

Mesos Slaves

Marathon Chronos Hadoop Spark Torque

Mesos Slave

Mesos Slave Mesos Slave

Mesos Slave

Mesos Slave

Mesos Slave

Ma Ha

ChSp

Tr Sp

TrCh

HaHa

Ma Sp

Page 11: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Mesos is cluster of clusters

11

Mesos Master

Mesos Slaves

Marathon Chronos Hadoop Spark Torque

Mesos Slave

Mesos Slave Mesos Slave

Mesos Slave

Mesos Slave

Mesos Slave

Ma Ha

ChSp

Tr Sp

TrCh

HaHa

Ma Sp

実質的にクラスタを1台のコンピュータとみなしている(各 Slave ” ”は 分散コンピュータ のメモリ領域のよ

うな扱い

Page 12: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Mesos loves Docker

12

Dockerとの統合をサポート(Mesosジョブを Dockerコンテナ上で実行

可能 )プライベートリポジトリにも対応

• 実行環境 (ライブラリの相違など )をコンテナに閉じ込めて、ジョブ (サービス )毎に切り替え

• 簡易的な IaaS機能• Immutable Infrastructure

Page 13: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

ソリューション :Docker(コンテナ )による実行環境のフレキシブルな混在

13

Mesos Master

Mesos Slaves

Docker Repository

Marathon Chronos Hadoop Spark Torque

ジョブ (クラスタ )の稼働タイミングを管理

CentOS

Ha Sp

Tr Cos

Cos

Cos

Sp

Tr

Ha

Sp

Tr

Ha

ジョブの投入(いつ )

イメージのオンデマンド展開(なにを )

ジョブ (クラスタ )の実行環境を管理

Mesos Slaves+Docker Mesos Slaves+Docker Mesos Slaves+Docker

Mesos Slaves+Docker Mesos Slaves+DockerMesos Slaves+Docker

実行基盤 (HW+OS+Mesos Slave+Docker) “ ” だけ 管理

Page 14: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

コンテナ化の利点

14

Mesos Master

Mesos Slaves

Docker Repository

Marathon Chronos Hadoop Spark Torque CentOS

Ha Sp

Tr Cos

Cos

Cos

Sp

Tr

Ha

Sp

Tr

Ha

Mesos Slaves+Docker Mesos Slaves+Docker Mesos Slaves+Docker

Mesos Slaves+Docker Mesos Slaves+DockerMesos Slaves+Docker

インフラチームはリソースの稼働状況だけ管理

アプリケーションチームはコンテナの内容だけ管理

データセンターチームは実行基盤の配備だけ管理

Page 15: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Mesos/DCOS導入ユーザ

15

Page 16: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

事例 : Apple Siri(J.A.R.V.I.S)

16

Page 17: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

事例:Microsoft Azure Container Services

17

Page 18: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Hashicorp Consulで実現するService Discovery

18

Page 19: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Service Discoveryの必要性

19

Mesos Master

Mesos Slaves

Marathon Chronos Hadoop Spark Torque

Mesos Slave

Mesos Slave Mesos Slave

Mesos Slave

Mesos Slave

Mesos Slave

Ma Ma

MaMa

Ma

MaMa

Ma Ma

MaMa

Ma

”元画像を与えるとサムネイルを返すサービス(を実行しているインスタンス )” はどれになるか?

Page 20: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Service Discovery(Microservice)に求められる要件

20

• Buyer側が自分の意志で Sellerを変更できる– [ある種別のサービス ]を提供している Sellerを探すことができる機能

ServiceBuyer

ServiceSeller

ServiceSeller

ServiceSeller

Page 21: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Service Discoveryの必要性

21

第1段階 第2段階 第3段階

Excel管理表

● 手動で更新● 情報の漏れ抜け● 最新の把握が困難

DNS-SD(Bonjour)

● No Metadata Server(Multicast)

● マルチキャスト● DC跨ぎに対応できず

Consul

● No Metadata Server(Gossip Cluster)

● DC跨ぎ対応

Page 22: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Hashicorp Consul

•サービスディスカバリ、状態監視ツール

•特長– Dockerを含む環境非依存のサービス探索ツール– 各ノード・サービス探索 (自動・手動 )– ノード・サービスの障害・リカバリの探索– カスタムイベント通知– Raft Consensus/Gossip Protcolによる高可用構成– マルチデータセンタ対応– WebUI

22

Page 23: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

Consulによる Service Discoveryの動作例

23

”(1)2つのサービスが同一の imageConvert”サービスを 提供していることがわかる

”(2) myservice2”サービスを提供しているホスト、 ポート番号がわかる

Page 24: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ

まとめ

• Apache Mesos/Mesosphere DCOSを活用することで

– Dockerを使ったマイクロサービスを簡便にデプロイすることができます

– また複数のサービスで環境を共用することでハードウェア資源の管理が容易になります

• Hashicorp Consulを活用することで

– マイクロサービスインフラの中で、必要なサービスを探し出すことができます

24

Page 25: Mesos consulで構築するマイクロサービスインフラ

Copyright 2015 CREATIONLINE, INC. All Rights Reservedⓒ