SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Copyright © NTT Communications Corporation. All rights reserved.Copyright © NTT Communications Corporation. All rights reserved.
RabbitMQ can scale out !!
OpenStack RPC messaging analysis
Copyright © NTT Communications Corporation. All rights reserved.
Mahito Ogura <m.ogura@ntt.com>
NTTコミュニケーションズ
技術開発部 クラウドコアTU
本業:主夫、副業としてIT芸人の活動
● インフラ構築(Chef, Ansible)
● アプリケーション開発(Ruby)
● OpenStackとか分散ミドルとかコンテナ
● 採用のお手伝いとか各種イベント業, etc...
About me
2
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
● 2年ほど前にCanonical社から「1万VMでMessageQueue(以下MQ)がボトルネッ
クとなりそれ以降のVM作成が困難」とのレポートがあった
○ OpenStack SummitやOps MeetupにおいてもMQの性能問題は話題に上がっており、
Nova Cellの利用や、一部のコンポーネントを別 MQに分けるなどの対策が知られている
○ 一方で、OpenStackで多く利用されている RabbitMQクラスタを複数運用する場合、
安定性の面で課題があると言われている
● OpenStackの大規模化においてMQがボトルネックになりうるかの検証、ならびに、
ボトルネックの解消や安定運用に繋がる方式の検討を行った
Background
Copyright © NTT Communications Corporation. All rights reserved.
Goal:
● 1 RabbitMQ Clusterで多数のVMを収容可能にする
Action
● RabbitMQ 性能 / 機能検証
● OpenStack 内部メッセージング解析 / 負荷試験
● OpenStack 上におけるMQ改善方式の検証
Goal / Action
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
RabbitMQはPivotal社が開発するAdvanced Message Queuing Protocol(AMQP)を
使用したオープンソースのメッセージ指向ミドルウェアである。
RabbitMQクラスタではQueueをミラーリングすることで高可用性(HA)を実現している。
ミラーリング設定(ha-mode)には以下の3つがある[1]
● all:Queueはクラスタの全てのノードにミラーされる。
● exactly:Queueはクラスタ内のノードに指定数分だけミラーされる。クラスタ内のノードが指定
数よりも少ない場合は、クラスタ内のすべてのノードにミラーされる。
● node:Queueはノード名で指定したノードにミラーされる。
RabbitMQ is
[1]:https://www.rabbitmq.com/ha.htmla
Copyright © NTT Communications Corporation. All rights reserved.
RabbiMQ
クラスタ
Can RabbitMQ scale out with “exactly” mode ?
RabbitMQクラスタはQueueをクラスタ内に分散させることでRead/Writeの分散を行う。
複数QueueへのRead/Writeが存在する場合、処理が各ノードへ分散するため,1ノード
あたりの負荷が軽減しクラスタ全体として性能向上すると考えられる。
今回はexactly(mirror = 2)に設定し、可用性を担保した上でスケールアウト可能か検証
を行った
client
2
4
6 スケールアウト
client
1
3
4
5 6
2
3
5
1
単一ノード
Copyright © NTT Communications Corporation. All rights reserved.
“HA = exactly” can scale out
下記図の通り,exactly(mirror=2)の設定においてスケールアウトが可能である
クラスタのノード台数が増えるごとに処理性能が向上することを確認できた[1]
図1:Node=5 図2:Node=6 図3:Node=7
[1]:message受付ノードに負荷が集中するのを避けるため、Load Barancerを置いて負荷分散を行った上で性能測定を行った
Copyright © NTT Communications Corporation. All rights reserved.
“HA = all” can NOT scale out
allではノード数が増えると大幅に性能低下する
● all設定ではスケールアウトしない
○ ミラーリングに大きくコストがかかっていると思われる
図2:Node=5, HA-mode=all図1:Node=2, HA-mode=all
Copyright © NTT Communications Corporation. All rights reserved.
● スケールアウト
○ HA-modeがexactlyの設定においてスケールアウトが可能
● RabbitMQクラスタのノード増設の挙動
○ 増設を行った場合、新規キューは増設ノードに配置される可能性があるが、
既存キューはリバランスが行われないため増設ノードに配置されない
■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要
● リバランスにより容量の多いキューのミラーリングは高負荷が発生する
○ 増設後にクライアントもしくはLBで増設ノードへの接続先更新等の処理が必要
Results of RabbitMQ verification 1/2
Copyright © NTT Communications Corporation. All rights reserved.
● RabbitMQクラスタのノード減設の挙動
○ 耐障害性は高く,検証においてはキューが完全に消失することはなかった
○ 減設時にメッセージロストが通常時より増加する点は注意が必要
■ クライアント側でのエラーハンドリングが必要
● RabbitMQクラスタの障害時の挙動
○ クラスタノード減設時と同様の挙動
○ 障害に伴うノード減により既存キューのリバランスは発生するが、増設と同様に復旧によ
るノード増によるリバランスが発生しない
■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要
Results of RabbitMQ verification 2/2
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
OpenStack messaging inspection
OpenStackではコンポーネント間や、コンポーネント内のサービス間のやりとりにおいて
MQを利用したメッセージングを採用している。
OpenStackのメッセージングは大きく分けると以下の2タイプである
● API起因メッセージング
○ ユーザリクエスト
○ 定期メッセージングからの呼び出し
○ etc…
● 定期メッセージング
○ ステータス確認/更新等
○ etc...
図1:NovaとCinderにおけるメッセージング
Copyright © NTT Communications Corporation. All rights reserved.
OpenStackの中で使われているMQのメッセージング種別は以下の3つ
作成されるQueueの目安
● “サービス名”のQueue
● fanout用の“サービス名_fanout_<<uuid>>”のQueue
● “サービス名.ホスト名”のQueue
● callのリプライ用の”reply_<<uuid>>”のQueue
Messaging kinds in OpenStack
メッセージング種別 メッセージング対象 リプライの有無
cast 1 : 1 なし
call 1 : 1 あり
fanout 1 : n なし
Copyright © NTT Communications Corporation. All rights reserved.
ユーザリクエストや、定期メッセージングからの呼び出しにより通信が発生する
Type 1: API call messaging
16
nova-api
Queue
<conductor>
RabbitMQ
nova-conductor
Queue
<scheduler>nova-scheduler
Queue
<reply_xxx>
Queue
<compute.”host”>nova-compute
①
②
③
④
⑤
① ”conductor”へのcast
② ”scheduler”へのcall
③ ②へのreply
④ 特定のcomputeノードへのcall
⑤ ④のreply
図1:インスタンス作成の流れ
Copyright © NTT Communications Corporation. All rights reserved.
Periodic task in OpenStack
OpenStackのサービス内では定期的に実行されるタスクが存在する。それらの中には
RPCにより他サービスへのメッセージングを行うものも存在する。
主要コンポーネント(Nova, Neutron, Cinder, Glance, Keystone)では以下の通り
● Nova:24(RPCあり23, RPCなし:1)
● Neutron:2(RPCあり:2)
● Cinder:2(RPCあり:1, RPCなし:1)
● Glance:なし
● Keystone:なし
Copyright © NTT Communications Corporation. All rights reserved.
内部で定期的にAPIコールやDBアクセス、他サービスへの通信が発生する
Type 2: Periodic task messaging
18
nova-compute
Queue
<conductor>
RabbitMQ
nova-conductor
Queue
<reply_xxx>
nova-scheduler
Queue
<scheduler>
①
②
③
① ”conductor”へのcall
  Databaseへのアクセス
② ①へのreply
③ ”scheduler”へのcast
図1:スケジューラへのインスタンス情報同期の流れ
Database
Copyright © NTT Communications Corporation. All rights reserved.
Results of OpenStack messaging inspection 1/2
OpenStackのメッセージングは大きく分けて「API起因」と「定期実行」の2種類が存在す
る。
API起因、定期実行ともに共通のキューを利用するためキューの数はノードやサービス
の増加がない限り増えない
メッセージの流量はAPI call数やインスタンス、ブロックデバイス、ルータなどのリソース
や、サービスノードの数に比例して増減する
メッセージサイズはインスタンスやブロックデバイス、ルータの数などに比例して増加す
る
Copyright © NTT Communications Corporation. All rights reserved.
Results of OpenStack messaging inspection 2/2
Novaへの最大メッセージ流量見積もり(msg/s)
メッセージサイズはインスタンス数やルータの数などに比例して増加する
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
Environment
弊部で公開しているOpenStackのStaging環境においてインスタンスを1~1,000 インス
タンスまで作成を行い各キューへのメッセージングの流量やメッセージのサイズの計測
を行った。
● nova-compute:13 node
● RabbitMQ v3.2.4:3 node (HA:ALL)
Copyright © NTT Communications Corporation. All rights reserved.
Number of Messages & Message size
1時間におけるメッセージ数、メッセージサイズ累計はインスタンスの増加に比例して増
加することが分かる。特にconductorに対する増加は顕著である。
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
Conclusion
● RabbitMQのクラスタ機能と、HA機能を組み合わせることで、
可用性を持ちつつスケールアウト可能なMQクラスタを構築できる
○ キューのRead/Writeをクラスタ内で分散させる負荷分散のため、特定のキューに対する性能上限
を迎えた場合はスケールアップでの対応が必要
● OpenStackのメッセージングはAPI callと定期タスクにより発生し、その流度やメッ
セージサイズはサービス数やインスタンス数に比例して増減する
○ 特にnova-computeがDBアクセスのために、nova-conductorに投げるMessageが増加する。
● RabbitMQのHA: exactlyでの運用に関する情報が少ないため、
今後は大規模化・長期安定化試験などによリ問題がないかの確認が必要
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
Reference : OpenStack Summit Barcelona
● RabbitMQ at Scale, Lessons Learned
○ Ciscoが1つのRabbitMQクラスタで800+ compute nodeを運用しているという話
○ HAはALLでRabbitMQは3台構成
○ KernelとErlang VMとRabbitMQをチューニングすれば 800+ nodeも対応可能とのこと
● Chasing 1000 Nodes Scale
○ デフォルトの設定では CPUロードがさばけなくコアを増やして対応した
○ CPUとRAMを十分に設定した場合 MySQLやRabbitMQはボトルネックではない
○ nova-schedulerのパフォーマンスとスケーラビリティが問題
Copyright © NTT Communications Corporation. All rights reserved.
[1]:https://bugs.launchpad.net/neutron/+bug/1528895
[2] : https://bugs.launchpad.net/neutron/+bug/1430999
Reference : Error while processing VIF ports
事象:OVS Neutron agentのエラーが多発
Module:neutron.plugins.openvswitch.agent.ovs_neutron_agent
Message:Error while processing VIF ports
原因:Neutronのupdate_device_up処理がRPCリクエストの
  時間内に完了せずタイムアウトを迎えるため[1][2]
対処:RPCタイムアウトの時間を伸ばす
  (修正パッチは現在対応が停止中)
Copyright © NTT Communications Corporation. All rights reserved.
Reference : Remote error: DBConnectionError
事象:DBコネクションエラー
Error during ComputeManager.update_available_resource: Remote error: DBConnectionError
(OperationalError) (2003, "Can't connect to MySQL server on 'x.x.x.x' (113)") None None
原因:インスタンスが増加に伴いDBへのコネクションが枯渇
対処:DBへのコネクション数を増やす

Más contenido relacionado

La actualidad más candente

OpenStack マルチノード環境構築
OpenStack マルチノード環境構築OpenStack マルチノード環境構築
OpenStack マルチノード環境構築HommasSlide
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方Toru Makabe
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeNA
 
ファントム異常を排除する高速なトランザクション処理向けインデックス
ファントム異常を排除する高速なトランザクション処理向けインデックスファントム異常を排除する高速なトランザクション処理向けインデックス
ファントム異常を排除する高速なトランザクション処理向けインデックスSho Nakazono
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜 虎の穴 開発室
 
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会Yushiro Furukawa
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
コンテナ時代のOpenStack
コンテナ時代のOpenStackコンテナ時代のOpenStack
コンテナ時代のOpenStackAkira Yoshiyama
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみましたShuntaro Saiba
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方Toru Makabe
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
RootlessコンテナAkihiro Suda
 

La actualidad más candente (20)

OpenStack マルチノード環境構築
OpenStack マルチノード環境構築OpenStack マルチノード環境構築
OpenStack マルチノード環境構築
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
ファントム異常を排除する高速なトランザクション処理向けインデックス
ファントム異常を排除する高速なトランザクション処理向けインデックスファントム異常を排除する高速なトランザクション処理向けインデックス
ファントム異常を排除する高速なトランザクション処理向けインデックス
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
 
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
コンテナ時代のOpenStack
コンテナ時代のOpenStackコンテナ時代のOpenStack
コンテナ時代のOpenStack
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
Rootlessコンテナ
 

Similar a RabbitMQ can scale out!!(jp ops-workshop-3)

OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateHirofumi Ichihara
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたTakashi Sogabe
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-Takashi Sogabe
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudToshikazu Ichikawa
 
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料VirtualTech Japan Inc.
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版VirtualTech Japan Inc.
 
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11Masaya Aoyama
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?Naoto Gohko
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Weibo Corporation
 
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向Hirofumi Ichihara
 
Open Source Study Session #3
Open Source Study Session #3Open Source Study Session #3
Open Source Study Session #3Satoshi Konno
 

Similar a RabbitMQ can scale out!!(jp ops-workshop-3) (20)

OpsからみたOpenStack Summit
OpsからみたOpenStack SummitOpsからみたOpenStack Summit
OpsからみたOpenStack Summit
 
OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron Update
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
 
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
 
QFabric for Cloud Builders
QFabric for Cloud BuildersQFabric for Cloud Builders
QFabric for Cloud Builders
 
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
 
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?
 
2016-ShowNet-PTP (Precision Time Protocol)
2016-ShowNet-PTP (Precision Time Protocol)2016-ShowNet-PTP (Precision Time Protocol)
2016-ShowNet-PTP (Precision Time Protocol)
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
 
Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
 
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
 
Open Source Study Session #3
Open Source Study Session #3Open Source Study Session #3
Open Source Study Session #3
 

Más de NTT Communications Technology Development

クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようNTT Communications Technology Development
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介NTT Communications Technology Development
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~NTT Communications Technology Development
 
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて NTT Communications Technology Development
 
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...NTT Communications Technology Development
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡NTT Communications Technology Development
 

Más de NTT Communications Technology Development (20)

クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
 
Argo CDについて
Argo CDについてArgo CDについて
Argo CDについて
 
SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!
 
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
 
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
NTT Tech Conference #2 - closing -
NTT Tech Conference #2 - closing -NTT Tech Conference #2 - closing -
NTT Tech Conference #2 - closing -
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築
 
Troveコミュニティ動向
Troveコミュニティ動向Troveコミュニティ動向
Troveコミュニティ動向
 
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use casesWeb rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
 
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening KeynoteNTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening Keynote
 
NTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing KeynoteNTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing Keynote
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
TPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポートTPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポート
 

Último

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Último (9)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

RabbitMQ can scale out!!(jp ops-workshop-3)

  • 1. Copyright © NTT Communications Corporation. All rights reserved.Copyright © NTT Communications Corporation. All rights reserved. RabbitMQ can scale out !! OpenStack RPC messaging analysis
  • 2. Copyright © NTT Communications Corporation. All rights reserved. Mahito Ogura <m.ogura@ntt.com> NTTコミュニケーションズ 技術開発部 クラウドコアTU 本業:主夫、副業としてIT芸人の活動 ● インフラ構築(Chef, Ansible) ● アプリケーション開発(Ruby) ● OpenStackとか分散ミドルとかコンテナ ● 採用のお手伝いとか各種イベント業, etc... About me 2
  • 3. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 4. Copyright © NTT Communications Corporation. All rights reserved. ● 2年ほど前にCanonical社から「1万VMでMessageQueue(以下MQ)がボトルネッ クとなりそれ以降のVM作成が困難」とのレポートがあった ○ OpenStack SummitやOps MeetupにおいてもMQの性能問題は話題に上がっており、 Nova Cellの利用や、一部のコンポーネントを別 MQに分けるなどの対策が知られている ○ 一方で、OpenStackで多く利用されている RabbitMQクラスタを複数運用する場合、 安定性の面で課題があると言われている ● OpenStackの大規模化においてMQがボトルネックになりうるかの検証、ならびに、 ボトルネックの解消や安定運用に繋がる方式の検討を行った Background
  • 5. Copyright © NTT Communications Corporation. All rights reserved. Goal: ● 1 RabbitMQ Clusterで多数のVMを収容可能にする Action ● RabbitMQ 性能 / 機能検証 ● OpenStack 内部メッセージング解析 / 負荷試験 ● OpenStack 上におけるMQ改善方式の検証 Goal / Action
  • 6. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 7. Copyright © NTT Communications Corporation. All rights reserved. RabbitMQはPivotal社が開発するAdvanced Message Queuing Protocol(AMQP)を 使用したオープンソースのメッセージ指向ミドルウェアである。 RabbitMQクラスタではQueueをミラーリングすることで高可用性(HA)を実現している。 ミラーリング設定(ha-mode)には以下の3つがある[1] ● all:Queueはクラスタの全てのノードにミラーされる。 ● exactly:Queueはクラスタ内のノードに指定数分だけミラーされる。クラスタ内のノードが指定 数よりも少ない場合は、クラスタ内のすべてのノードにミラーされる。 ● node:Queueはノード名で指定したノードにミラーされる。 RabbitMQ is [1]:https://www.rabbitmq.com/ha.htmla
  • 8. Copyright © NTT Communications Corporation. All rights reserved. RabbiMQ クラスタ Can RabbitMQ scale out with “exactly” mode ? RabbitMQクラスタはQueueをクラスタ内に分散させることでRead/Writeの分散を行う。 複数QueueへのRead/Writeが存在する場合、処理が各ノードへ分散するため,1ノード あたりの負荷が軽減しクラスタ全体として性能向上すると考えられる。 今回はexactly(mirror = 2)に設定し、可用性を担保した上でスケールアウト可能か検証 を行った client 2 4 6 スケールアウト client 1 3 4 5 6 2 3 5 1 単一ノード
  • 9. Copyright © NTT Communications Corporation. All rights reserved. “HA = exactly” can scale out 下記図の通り,exactly(mirror=2)の設定においてスケールアウトが可能である クラスタのノード台数が増えるごとに処理性能が向上することを確認できた[1] 図1:Node=5 図2:Node=6 図3:Node=7 [1]:message受付ノードに負荷が集中するのを避けるため、Load Barancerを置いて負荷分散を行った上で性能測定を行った
  • 10. Copyright © NTT Communications Corporation. All rights reserved. “HA = all” can NOT scale out allではノード数が増えると大幅に性能低下する ● all設定ではスケールアウトしない ○ ミラーリングに大きくコストがかかっていると思われる 図2:Node=5, HA-mode=all図1:Node=2, HA-mode=all
  • 11. Copyright © NTT Communications Corporation. All rights reserved. ● スケールアウト ○ HA-modeがexactlyの設定においてスケールアウトが可能 ● RabbitMQクラスタのノード増設の挙動 ○ 増設を行った場合、新規キューは増設ノードに配置される可能性があるが、 既存キューはリバランスが行われないため増設ノードに配置されない ■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要 ● リバランスにより容量の多いキューのミラーリングは高負荷が発生する ○ 増設後にクライアントもしくはLBで増設ノードへの接続先更新等の処理が必要 Results of RabbitMQ verification 1/2
  • 12. Copyright © NTT Communications Corporation. All rights reserved. ● RabbitMQクラスタのノード減設の挙動 ○ 耐障害性は高く,検証においてはキューが完全に消失することはなかった ○ 減設時にメッセージロストが通常時より増加する点は注意が必要 ■ クライアント側でのエラーハンドリングが必要 ● RabbitMQクラスタの障害時の挙動 ○ クラスタノード減設時と同様の挙動 ○ 障害に伴うノード減により既存キューのリバランスは発生するが、増設と同様に復旧によ るノード増によるリバランスが発生しない ■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要 Results of RabbitMQ verification 2/2
  • 13. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 14. Copyright © NTT Communications Corporation. All rights reserved. OpenStack messaging inspection OpenStackではコンポーネント間や、コンポーネント内のサービス間のやりとりにおいて MQを利用したメッセージングを採用している。 OpenStackのメッセージングは大きく分けると以下の2タイプである ● API起因メッセージング ○ ユーザリクエスト ○ 定期メッセージングからの呼び出し ○ etc… ● 定期メッセージング ○ ステータス確認/更新等 ○ etc... 図1:NovaとCinderにおけるメッセージング
  • 15. Copyright © NTT Communications Corporation. All rights reserved. OpenStackの中で使われているMQのメッセージング種別は以下の3つ 作成されるQueueの目安 ● “サービス名”のQueue ● fanout用の“サービス名_fanout_<<uuid>>”のQueue ● “サービス名.ホスト名”のQueue ● callのリプライ用の”reply_<<uuid>>”のQueue Messaging kinds in OpenStack メッセージング種別 メッセージング対象 リプライの有無 cast 1 : 1 なし call 1 : 1 あり fanout 1 : n なし
  • 16. Copyright © NTT Communications Corporation. All rights reserved. ユーザリクエストや、定期メッセージングからの呼び出しにより通信が発生する Type 1: API call messaging 16 nova-api Queue <conductor> RabbitMQ nova-conductor Queue <scheduler>nova-scheduler Queue <reply_xxx> Queue <compute.”host”>nova-compute ① ② ③ ④ ⑤ ① ”conductor”へのcast ② ”scheduler”へのcall ③ ②へのreply ④ 特定のcomputeノードへのcall ⑤ ④のreply 図1:インスタンス作成の流れ
  • 17. Copyright © NTT Communications Corporation. All rights reserved. Periodic task in OpenStack OpenStackのサービス内では定期的に実行されるタスクが存在する。それらの中には RPCにより他サービスへのメッセージングを行うものも存在する。 主要コンポーネント(Nova, Neutron, Cinder, Glance, Keystone)では以下の通り ● Nova:24(RPCあり23, RPCなし:1) ● Neutron:2(RPCあり:2) ● Cinder:2(RPCあり:1, RPCなし:1) ● Glance:なし ● Keystone:なし
  • 18. Copyright © NTT Communications Corporation. All rights reserved. 内部で定期的にAPIコールやDBアクセス、他サービスへの通信が発生する Type 2: Periodic task messaging 18 nova-compute Queue <conductor> RabbitMQ nova-conductor Queue <reply_xxx> nova-scheduler Queue <scheduler> ① ② ③ ① ”conductor”へのcall   Databaseへのアクセス ② ①へのreply ③ ”scheduler”へのcast 図1:スケジューラへのインスタンス情報同期の流れ Database
  • 19. Copyright © NTT Communications Corporation. All rights reserved. Results of OpenStack messaging inspection 1/2 OpenStackのメッセージングは大きく分けて「API起因」と「定期実行」の2種類が存在す る。 API起因、定期実行ともに共通のキューを利用するためキューの数はノードやサービス の増加がない限り増えない メッセージの流量はAPI call数やインスタンス、ブロックデバイス、ルータなどのリソース や、サービスノードの数に比例して増減する メッセージサイズはインスタンスやブロックデバイス、ルータの数などに比例して増加す る
  • 20. Copyright © NTT Communications Corporation. All rights reserved. Results of OpenStack messaging inspection 2/2 Novaへの最大メッセージ流量見積もり(msg/s) メッセージサイズはインスタンス数やルータの数などに比例して増加する
  • 21. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 22. Copyright © NTT Communications Corporation. All rights reserved. Environment 弊部で公開しているOpenStackのStaging環境においてインスタンスを1~1,000 インス タンスまで作成を行い各キューへのメッセージングの流量やメッセージのサイズの計測 を行った。 ● nova-compute:13 node ● RabbitMQ v3.2.4:3 node (HA:ALL)
  • 23. Copyright © NTT Communications Corporation. All rights reserved. Number of Messages & Message size 1時間におけるメッセージ数、メッセージサイズ累計はインスタンスの増加に比例して増 加することが分かる。特にconductorに対する増加は顕著である。
  • 24. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 25. Copyright © NTT Communications Corporation. All rights reserved. Conclusion ● RabbitMQのクラスタ機能と、HA機能を組み合わせることで、 可用性を持ちつつスケールアウト可能なMQクラスタを構築できる ○ キューのRead/Writeをクラスタ内で分散させる負荷分散のため、特定のキューに対する性能上限 を迎えた場合はスケールアップでの対応が必要 ● OpenStackのメッセージングはAPI callと定期タスクにより発生し、その流度やメッ セージサイズはサービス数やインスタンス数に比例して増減する ○ 特にnova-computeがDBアクセスのために、nova-conductorに投げるMessageが増加する。 ● RabbitMQのHA: exactlyでの運用に関する情報が少ないため、 今後は大規模化・長期安定化試験などによリ問題がないかの確認が必要
  • 26. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 27. Copyright © NTT Communications Corporation. All rights reserved. Reference : OpenStack Summit Barcelona ● RabbitMQ at Scale, Lessons Learned ○ Ciscoが1つのRabbitMQクラスタで800+ compute nodeを運用しているという話 ○ HAはALLでRabbitMQは3台構成 ○ KernelとErlang VMとRabbitMQをチューニングすれば 800+ nodeも対応可能とのこと ● Chasing 1000 Nodes Scale ○ デフォルトの設定では CPUロードがさばけなくコアを増やして対応した ○ CPUとRAMを十分に設定した場合 MySQLやRabbitMQはボトルネックではない ○ nova-schedulerのパフォーマンスとスケーラビリティが問題
  • 28. Copyright © NTT Communications Corporation. All rights reserved. [1]:https://bugs.launchpad.net/neutron/+bug/1528895 [2] : https://bugs.launchpad.net/neutron/+bug/1430999 Reference : Error while processing VIF ports 事象:OVS Neutron agentのエラーが多発 Module:neutron.plugins.openvswitch.agent.ovs_neutron_agent Message:Error while processing VIF ports 原因:Neutronのupdate_device_up処理がRPCリクエストの   時間内に完了せずタイムアウトを迎えるため[1][2] 対処:RPCタイムアウトの時間を伸ばす   (修正パッチは現在対応が停止中)
  • 29. Copyright © NTT Communications Corporation. All rights reserved. Reference : Remote error: DBConnectionError 事象:DBコネクションエラー Error during ComputeManager.update_available_resource: Remote error: DBConnectionError (OperationalError) (2003, "Can't connect to MySQL server on 'x.x.x.x' (113)") None None 原因:インスタンスが増加に伴いDBへのコネクションが枯渇 対処:DBへのコネクション数を増やす