SlideShare a Scribd company logo
© 2021 TIS Inc.
Reactive System Meetup #7
Starting Reactive Systems with Lerna
2021.10.23
Technology & Innovation SBU
Technology & Engineering Center
© 2021 TIS Inc. 2
自己紹介
• 現在の取り組みテーマ
高可用・高スループットなシステムを安価にスピーディーに構築するには?
ソフトウェアスタック『Lerna』のプロダクトオーナーとして基盤整備と実戦投入
• 訳書
Akka実践バイブル(Akka in Action)
• Web連載
ThinkIT:メニーコア時代のバラダイム リアクティブシステムを知ろう
• イベント登壇
Scala Matsuri、JJUG CCCなど
TIS株式会社 テクノロジー&イノベーション本部
テクノロジー&エンジニアリングセンター ≒ 技術特化横断組織
前出 祐吾 Twitter @yugolf
© 2021 TIS Inc. 3
モチベーション
ミッションクリティカルなシステム求められる非機能要件
高い可用性 + 高いスループット
「低コスト」で「早く」
高可用・高スループットを実現できる仕組みがほしい!
• コストがかさむ
• 高スループットの実現にはさらにかさむ
• 複雑・難解
• ビジネスロジック以外に時間がかかる
分散システム
高可用サーバー
© 2021 TIS Inc. 4
解決策
• Message Driven、Actor Model
• Stateful Application
• Distributed System、Cluster
• Event Sourcing、Distributed DB
• CQRS
複雑 難解
繰り返し構築し、継続して運用することで
アーキテクチャと技術者を洗練させていく
OSS
『Lerna』
Akkaを使ってリアクティブシステムを構築する
© 2021 TIS Inc. 5
高可用ソフトウェアスタック「Lerna」
– ライブラリ Akka Typed対応 new
– ガイド
– リファレンスコード
– 環境構築スクリプト
– 学習コンテンツ new
など、高可用システムを構築する過程で必要だったもの、
足りないものを取り揃えている
高可用性にフォーカスし
リアクティブシステムを実現するソフトウェアスタック
© 2021 TIS Inc. 6
「Lerna」の全体像
VMに対してLernaの環境構築スクリプトを実行すると高可用システムの土台となる環境を
構築できる
https://fintan.jp/?p=5946
「低コスト」で「早く」
高可用・高スループットを実現できる仕組み
© 2021 TIS Inc. 7
Lernaが実現する可用性レベルは?
• Design for Failure の数値化
– 障害を前提とした設計を行い、その設計の妥当性を評価
• 稼働率
– MTBFとMTTR から算出した論理稼働率
(注:サービスそのものの稼働率ではありません)
– MTTR:Mean Time To Repair の短縮にフォーカス
https://ja.wikipedia.org/wiki/%E5%8F%AF%E7%94%A8%E6%80%A7
© 2021 TIS Inc. 8
計測条件
以下条件下で模擬障害を発生させMTTRを計測
– AWS上に決済サービスを構築
– CQRS + イベントソーシングのアーキテクチャを採用
• コマンドサイドのAPIはリアルタイムにイベントをCassandraへ永続化
• 非同期にクエリサイド(MariaDB)へ反映
– 計測対象はコマンドサイド
– Gatlingで150TPSのリクエストを発行
© 2021 TIS Inc. 9
LernaとしてのMTTRの考え方
障害発生箇所
ダウンタイム
実測値
年間障害
発生回数
サーバー
台数
障害
影響範囲
MTTR
Load Balancer(Keepalived)
疑似障害
を発生させ
計測
1 1
障害発生時
の影響範囲
(サービス
利用できな
い割合)
ダウンタイム実測値
x
サーバー台数
x
年間障害発生回数
x
障害影響範囲
Load Balancer(HAProxy) 1 3
Application(Akka Cluster) 1 9
Command Side DB(Cassandra) 1 6
Query Side DB(MariaDB) 1 6
DC障害(ネットワーク分断) 1 1
年間停止時間
全障害発生箇所
MTTRの合計
• 障害発生箇所ごとにサービス利用者が一人でも利用できない時間を計測し「ダウンタイム実測値」
とする
• 年間障害発生回数をサーバーあたり1回と仮定し、「サーバー台数 x 障害発生時の影響範囲
(サービス利用できない割合)」をMTTRとする
• 全障害発生箇所ごとのMTTRを合計し年間停止時間とする
© 2021 TIS Inc. 10
計測結果
障害発生箇所
ダウンタイム
実測値
年間障害
発生回数
サーバー
台数
障害
影響範囲
MTTR
Load Balancer(Keepalived) 2.78秒 1 1 1 2.78秒
Load Balancer(HAProxy) 3.32秒 1 3 1/3 3.32秒
Application(Akka Cluster) 5.92秒 1 9 1/9 5.92秒
Command Side DB(Cassandra) 0.00秒 1 6 1/6 0.00秒
Query Side DB(MariaDB) 1.14秒 1 6 1/6 1.14秒
DC障害(ネットワーク分断) 8.02秒 1 1 1 8.02秒
年間停止時間
全障害発生箇所
MTTRの合計
• 障害発生箇所を回復させるのではなく、瞬時に切り離し影響を最小限に留める
• 全レイヤがスケーラブルなので、元の構成へ治癒可能
• アプリケーションレイヤは独自ライブラリ akka-entity-replication で実現
全レイヤ10秒以内で回復
© 2021 TIS Inc. 11
稼働率:99.9999%
障害発生箇所
ダウンタイム
実測値
年間障害
発生回数
サーバー
台数
障害
影響範囲
MTTR
Load Balancer(Keepalived) 2.78秒 1 1 1 2.78秒
Load Balancer(HAProxy) 3.32秒 1 3 1/3 3.32秒
Application(Akka Cluster) 5.92秒 1 9 1/9 5.92秒
Command Side DB(Cassandra) 0.00秒 1 6 1/6 0.00秒
Query Side DB(MariaDB) 1.14秒 1 6 1/6 1.14秒
DC障害(ネットワーク分断) 8.02秒 1 1 1 8.02秒
年間停止時間 21.18秒
https://ja.wikipedia.org/wiki/%E5%8F%AF%E7%94%A8%E6%80%A7
© 2021 TIS Inc. 12
今後
• アプリケーションサンプル拡充(Sagaパターン)
• ローリングアップデートのレイテンシ対策
© 2021 TIS Inc. 13
さらに詳しい情報は
◆ Lernaの可用性と処理能力
◆ TISのあらゆるノウハウを公開 https://fintan.jp/
https://fintan.jp/?p=7256
© 2021 TIS Inc. 14
We are Hiring!
◆ 一緒に働く仲間を募集しています!
https://hrmos.co/pages/tissaiyo/jobs/21100400002
© 2021 TIS Inc. 15
まとめ
• 高可用ソフトウェアスタック「Lerna」
– ミッションクリティカルなシステムが求める非機能要件を実現
– システム開発に必要なものを揃えOSS公開
– 複雑・難解な分散システムへの障壁を軽減、洗練させていく拠り所
• Design for Failureを数値化
– MTTR実測値ベースの論理稼働率 99.9999%
– アプリケーションレイヤも含め10秒以内で回復
Starting Reactive Systems with Lerna #reactive_shinjuku

More Related Content

What's hot

OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
VirtualTech Japan Inc.
 
OpenStack Summit 2017 Boston 報告会 サミット全体概要
OpenStack Summit 2017 Boston 報告会 サミット全体概要OpenStack Summit 2017 Boston 報告会 サミット全体概要
OpenStack Summit 2017 Boston 報告会 サミット全体概要
Yukinori Sagara
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことKubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったこと
h-otter
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
Yoichi Kawasaki
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
 
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティスGPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
VirtualTech Japan Inc.
 
Azure Stack HCI OS で HCI を構築してみた!(手順付)
Azure Stack HCI OS で HCI を構築してみた!(手順付)Azure Stack HCI OS で HCI を構築してみた!(手順付)
Azure Stack HCI OS で HCI を構築してみた!(手順付)
Tomoya Katayama
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
VirtualTech Japan Inc.
 
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
VirtualTech Japan Inc.
 
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
VirtualTech Japan Inc.
 
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
VirtualTech Japan Inc.
 
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
NTT DATA Technology & Innovation
 
デバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボデバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボ
Takao Setaka
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
NTT DATA Technology & Innovation
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
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.
 
DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法
CASAREAL, Inc.
 
OpenStack Summit Vancouverにおけるコンテナ関連トピック
OpenStack Summit Vancouverにおけるコンテナ関連トピックOpenStack Summit Vancouverにおけるコンテナ関連トピック
OpenStack Summit Vancouverにおけるコンテナ関連トピック
NTT Communications Technology Development
 

What's hot (20)

OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
 
OpenStack Summit 2017 Boston 報告会 サミット全体概要
OpenStack Summit 2017 Boston 報告会 サミット全体概要OpenStack Summit 2017 Boston 報告会 サミット全体概要
OpenStack Summit 2017 Boston 報告会 サミット全体概要
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことKubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったこと
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
 
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティスGPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
 
Azure Stack HCI OS で HCI を構築してみた!(手順付)
Azure Stack HCI OS で HCI を構築してみた!(手順付)Azure Stack HCI OS で HCI を構築してみた!(手順付)
Azure Stack HCI OS で HCI を構築してみた!(手順付)
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
 
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
 
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
 
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
 
デバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボデバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボ
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
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講演資料
 
DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法
 
OpenStack Summit Vancouverにおけるコンテナ関連トピック
OpenStack Summit Vancouverにおけるコンテナ関連トピックOpenStack Summit Vancouverにおけるコンテナ関連トピック
OpenStack Summit Vancouverにおけるコンテナ関連トピック
 

Similar to Starting Reactive Systems with Lerna #reactive_shinjuku

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
Hinemos
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
 
リアクティブシステムとAkka
リアクティブシステムとAkkaリアクティブシステムとAkka
リアクティブシステムとAkka
TIS Inc.
 
クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割
Yusuke Oi
 
Kubernetes Cost Optimization
Kubernetes Cost OptimizationKubernetes Cost Optimization
Kubernetes Cost Optimization
Shiho ASA
 
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
NTT Communications Technology Development
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
NTT Communications Technology Development
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
NTT DATA Technology & Innovation
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
NTT DATA Technology & Innovation
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
Shotaro Suzuki
 
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
Tomoki Kuriyama
 
WebRTCエキスパート座談会
WebRTCエキスパート座談会WebRTCエキスパート座談会
WebRTCエキスパート座談会
Ryosuke Otsuya
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
Kuniyasu Suzaki
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
Fujishiro Takuya
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 
真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation
真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation
真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation
Citrix Systems Japan
 
Wsfc basic 130720
Wsfc basic 130720Wsfc basic 130720
Wsfc basic 130720
wintechq
 
Tech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSMTech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSM
勇 黒沢
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料
openrtm
 

Similar to Starting Reactive Systems with Lerna #reactive_shinjuku (20)

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
リアクティブシステムとAkka
リアクティブシステムとAkkaリアクティブシステムとAkka
リアクティブシステムとAkka
 
クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割
 
Kubernetes Cost Optimization
Kubernetes Cost OptimizationKubernetes Cost Optimization
Kubernetes Cost Optimization
 
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
 
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略緊急Ques - コードのメトリクスに基づくリファクタリング戦略
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
 
WebRTCエキスパート座談会
WebRTCエキスパート座談会WebRTCエキスパート座談会
WebRTCエキスパート座談会
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation
真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation
真のマルチテナント環境とは?ネットワークデバイスのOne Box Consolidation
 
Wsfc basic 130720
Wsfc basic 130720Wsfc basic 130720
Wsfc basic 130720
 
Tech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSMTech Dojo 02/09 IBM Japan CSM
Tech Dojo 02/09 IBM Japan CSM
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料
 

More from TIS Inc.

AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
TIS Inc.
 
Reactive Systems that focus on High Availability with Lerna
Reactive Systems that focus on High Availability with LernaReactive Systems that focus on High Availability with Lerna
Reactive Systems that focus on High Availability with Lerna
TIS Inc.
 
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
TIS Inc.
 
Akkaの並行性
Akkaの並行性Akkaの並行性
Akkaの並行性
TIS Inc.
 
JavaからAkkaハンズオン
JavaからAkkaハンズオンJavaからAkkaハンズオン
JavaからAkkaハンズオン
TIS Inc.
 
Akka in Action workshop #ScalaMatsuri 2018
Akka in Action workshop #ScalaMatsuri 2018Akka in Action workshop #ScalaMatsuri 2018
Akka in Action workshop #ScalaMatsuri 2018
TIS Inc.
 
Preparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuriPreparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuri
TIS Inc.
 
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャAkkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
TIS Inc.
 
akka-doc-ja
akka-doc-jaakka-doc-ja
akka-doc-ja
TIS Inc.
 
10分で分かるリアクティブシステム
10分で分かるリアクティブシステム10分で分かるリアクティブシステム
10分で分かるリアクティブシステム
TIS Inc.
 
Typesafe Reactive Platformで作るReactive System入門
Typesafe Reactive Platformで作るReactive System入門Typesafe Reactive Platformで作るReactive System入門
Typesafe Reactive Platformで作るReactive System入門
TIS Inc.
 
Typesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive SystemTypesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive System
TIS Inc.
 
Effective Akka読書会2
Effective Akka読書会2Effective Akka読書会2
Effective Akka読書会2
TIS Inc.
 
再帰で脱Javaライク
再帰で脱Javaライク再帰で脱Javaライク
再帰で脱Javaライク
TIS Inc.
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
TIS Inc.
 
甲賀流Jenkins活用術
甲賀流Jenkins活用術甲賀流Jenkins活用術
甲賀流Jenkins活用術TIS Inc.
 

More from TIS Inc. (16)

AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
 
Reactive Systems that focus on High Availability with Lerna
Reactive Systems that focus on High Availability with LernaReactive Systems that focus on High Availability with Lerna
Reactive Systems that focus on High Availability with Lerna
 
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
 
Akkaの並行性
Akkaの並行性Akkaの並行性
Akkaの並行性
 
JavaからAkkaハンズオン
JavaからAkkaハンズオンJavaからAkkaハンズオン
JavaからAkkaハンズオン
 
Akka in Action workshop #ScalaMatsuri 2018
Akka in Action workshop #ScalaMatsuri 2018Akka in Action workshop #ScalaMatsuri 2018
Akka in Action workshop #ScalaMatsuri 2018
 
Preparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuriPreparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuri
 
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャAkkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
 
akka-doc-ja
akka-doc-jaakka-doc-ja
akka-doc-ja
 
10分で分かるリアクティブシステム
10分で分かるリアクティブシステム10分で分かるリアクティブシステム
10分で分かるリアクティブシステム
 
Typesafe Reactive Platformで作るReactive System入門
Typesafe Reactive Platformで作るReactive System入門Typesafe Reactive Platformで作るReactive System入門
Typesafe Reactive Platformで作るReactive System入門
 
Typesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive SystemTypesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive System
 
Effective Akka読書会2
Effective Akka読書会2Effective Akka読書会2
Effective Akka読書会2
 
再帰で脱Javaライク
再帰で脱Javaライク再帰で脱Javaライク
再帰で脱Javaライク
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
甲賀流Jenkins活用術
甲賀流Jenkins活用術甲賀流Jenkins活用術
甲賀流Jenkins活用術
 

Recently uploaded

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
CRI Japan, Inc.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

Starting Reactive Systems with Lerna #reactive_shinjuku

  • 1. © 2021 TIS Inc. Reactive System Meetup #7 Starting Reactive Systems with Lerna 2021.10.23 Technology & Innovation SBU Technology & Engineering Center
  • 2. © 2021 TIS Inc. 2 自己紹介 • 現在の取り組みテーマ 高可用・高スループットなシステムを安価にスピーディーに構築するには? ソフトウェアスタック『Lerna』のプロダクトオーナーとして基盤整備と実戦投入 • 訳書 Akka実践バイブル(Akka in Action) • Web連載 ThinkIT:メニーコア時代のバラダイム リアクティブシステムを知ろう • イベント登壇 Scala Matsuri、JJUG CCCなど TIS株式会社 テクノロジー&イノベーション本部 テクノロジー&エンジニアリングセンター ≒ 技術特化横断組織 前出 祐吾 Twitter @yugolf
  • 3. © 2021 TIS Inc. 3 モチベーション ミッションクリティカルなシステム求められる非機能要件 高い可用性 + 高いスループット 「低コスト」で「早く」 高可用・高スループットを実現できる仕組みがほしい! • コストがかさむ • 高スループットの実現にはさらにかさむ • 複雑・難解 • ビジネスロジック以外に時間がかかる 分散システム 高可用サーバー
  • 4. © 2021 TIS Inc. 4 解決策 • Message Driven、Actor Model • Stateful Application • Distributed System、Cluster • Event Sourcing、Distributed DB • CQRS 複雑 難解 繰り返し構築し、継続して運用することで アーキテクチャと技術者を洗練させていく OSS 『Lerna』 Akkaを使ってリアクティブシステムを構築する
  • 5. © 2021 TIS Inc. 5 高可用ソフトウェアスタック「Lerna」 – ライブラリ Akka Typed対応 new – ガイド – リファレンスコード – 環境構築スクリプト – 学習コンテンツ new など、高可用システムを構築する過程で必要だったもの、 足りないものを取り揃えている 高可用性にフォーカスし リアクティブシステムを実現するソフトウェアスタック
  • 6. © 2021 TIS Inc. 6 「Lerna」の全体像 VMに対してLernaの環境構築スクリプトを実行すると高可用システムの土台となる環境を 構築できる https://fintan.jp/?p=5946 「低コスト」で「早く」 高可用・高スループットを実現できる仕組み
  • 7. © 2021 TIS Inc. 7 Lernaが実現する可用性レベルは? • Design for Failure の数値化 – 障害を前提とした設計を行い、その設計の妥当性を評価 • 稼働率 – MTBFとMTTR から算出した論理稼働率 (注:サービスそのものの稼働率ではありません) – MTTR:Mean Time To Repair の短縮にフォーカス https://ja.wikipedia.org/wiki/%E5%8F%AF%E7%94%A8%E6%80%A7
  • 8. © 2021 TIS Inc. 8 計測条件 以下条件下で模擬障害を発生させMTTRを計測 – AWS上に決済サービスを構築 – CQRS + イベントソーシングのアーキテクチャを採用 • コマンドサイドのAPIはリアルタイムにイベントをCassandraへ永続化 • 非同期にクエリサイド(MariaDB)へ反映 – 計測対象はコマンドサイド – Gatlingで150TPSのリクエストを発行
  • 9. © 2021 TIS Inc. 9 LernaとしてのMTTRの考え方 障害発生箇所 ダウンタイム 実測値 年間障害 発生回数 サーバー 台数 障害 影響範囲 MTTR Load Balancer(Keepalived) 疑似障害 を発生させ 計測 1 1 障害発生時 の影響範囲 (サービス 利用できな い割合) ダウンタイム実測値 x サーバー台数 x 年間障害発生回数 x 障害影響範囲 Load Balancer(HAProxy) 1 3 Application(Akka Cluster) 1 9 Command Side DB(Cassandra) 1 6 Query Side DB(MariaDB) 1 6 DC障害(ネットワーク分断) 1 1 年間停止時間 全障害発生箇所 MTTRの合計 • 障害発生箇所ごとにサービス利用者が一人でも利用できない時間を計測し「ダウンタイム実測値」 とする • 年間障害発生回数をサーバーあたり1回と仮定し、「サーバー台数 x 障害発生時の影響範囲 (サービス利用できない割合)」をMTTRとする • 全障害発生箇所ごとのMTTRを合計し年間停止時間とする
  • 10. © 2021 TIS Inc. 10 計測結果 障害発生箇所 ダウンタイム 実測値 年間障害 発生回数 サーバー 台数 障害 影響範囲 MTTR Load Balancer(Keepalived) 2.78秒 1 1 1 2.78秒 Load Balancer(HAProxy) 3.32秒 1 3 1/3 3.32秒 Application(Akka Cluster) 5.92秒 1 9 1/9 5.92秒 Command Side DB(Cassandra) 0.00秒 1 6 1/6 0.00秒 Query Side DB(MariaDB) 1.14秒 1 6 1/6 1.14秒 DC障害(ネットワーク分断) 8.02秒 1 1 1 8.02秒 年間停止時間 全障害発生箇所 MTTRの合計 • 障害発生箇所を回復させるのではなく、瞬時に切り離し影響を最小限に留める • 全レイヤがスケーラブルなので、元の構成へ治癒可能 • アプリケーションレイヤは独自ライブラリ akka-entity-replication で実現 全レイヤ10秒以内で回復
  • 11. © 2021 TIS Inc. 11 稼働率:99.9999% 障害発生箇所 ダウンタイム 実測値 年間障害 発生回数 サーバー 台数 障害 影響範囲 MTTR Load Balancer(Keepalived) 2.78秒 1 1 1 2.78秒 Load Balancer(HAProxy) 3.32秒 1 3 1/3 3.32秒 Application(Akka Cluster) 5.92秒 1 9 1/9 5.92秒 Command Side DB(Cassandra) 0.00秒 1 6 1/6 0.00秒 Query Side DB(MariaDB) 1.14秒 1 6 1/6 1.14秒 DC障害(ネットワーク分断) 8.02秒 1 1 1 8.02秒 年間停止時間 21.18秒 https://ja.wikipedia.org/wiki/%E5%8F%AF%E7%94%A8%E6%80%A7
  • 12. © 2021 TIS Inc. 12 今後 • アプリケーションサンプル拡充(Sagaパターン) • ローリングアップデートのレイテンシ対策
  • 13. © 2021 TIS Inc. 13 さらに詳しい情報は ◆ Lernaの可用性と処理能力 ◆ TISのあらゆるノウハウを公開 https://fintan.jp/ https://fintan.jp/?p=7256
  • 14. © 2021 TIS Inc. 14 We are Hiring! ◆ 一緒に働く仲間を募集しています! https://hrmos.co/pages/tissaiyo/jobs/21100400002
  • 15. © 2021 TIS Inc. 15 まとめ • 高可用ソフトウェアスタック「Lerna」 – ミッションクリティカルなシステムが求める非機能要件を実現 – システム開発に必要なものを揃えOSS公開 – 複雑・難解な分散システムへの障壁を軽減、洗練させていく拠り所 • Design for Failureを数値化 – MTTR実測値ベースの論理稼働率 99.9999% – アプリケーションレイヤも含め10秒以内で回復