SlideShare a Scribd company logo
1 of 57
Download to read offline
Copyright © 2015 TIS Inc. All rights reserved.
Reactive  System  Meetup  in  西新宿
Typesafe  Reactive  Platformで作る
Reactive  System入門
2015.8.18
前出 祐吾  
根来 和輝
Copyright © 2015 TIS Inc. All rights reserved. 2
自己紹介
■ @yugolf	
  
!
■ TIS株式会社	
  
■ 生産革新本部 生産革新部 生産技術R&D室	
  
■ 社内向けエンジニアリング基盤の整備 ▶▶︎
Copyright © 2015 TIS Inc. All rights reserved. 3
TIS、リアクティブコンサルはじめました
http://www.tis.jp/service_solution/goreactive/
Copyright © 2015 TIS Inc. All rights reserved. 4
Agenda
1. 	
  Reactive	
  Systemとは	
  
2. 	
  Reactive	
  Systemのための技術	
  
3. 	
  Reactive体験
Copyright © 2015 TIS Inc. All rights reserved. 5
1.    Reactive	
  Systemとは
Copyright © 2015 TIS Inc. All rights reserved. 6
本日の話
http://www.reactivemanifesto.org/
Reactive	
  Programming:	
  
データの流れ(ストリーム)とデータの値の変化の伝播にフォーカス
したプログラムの設計モデル。	
  
・・・ の話ではない。
Reactive	
  System:
Copyright © 2015 TIS Inc. All rights reserved. 7
Reactive manifesto
絵	
  
!
即応性	
  
弾力性	
  
耐障害性	
  
メッセージ駆動
http://www.reactivemanifesto.org/ja
Copyright © 2015 TIS Inc. All rights reserved. 8
アプリケーションへの高まる要求
50台のサーバで動かしていたけど、クラウド上で
1000コアの環境を作りたいんだ。
レスポンスを得るのに3秒かかるけど、
500ミリ秒くらいにしたいのよ。	
  
それと、年1回の2時間のメンテナンス
なんとかならないかしら。
最初は100ギガくらいだったけど、そ
ろそろペタ行くんじゃないかな。
Copyright © 2015 TIS Inc. All rights reserved. 9
Reactive Systemとは
即応性と、耐障害性と、弾力性と、メッセージ駆動とを備えたシステム
http://www.reactivemanifesto.org/ja
Copyright © 2015 TIS Inc. All rights reserved. 10
Reactive Systemの価値
届けたい価値
手段
支える原理
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. Reactive	
  Design	
  Pattern(http://manning.com/kuhn/) 11
Responsive
ユーザーの要求に迅速にレスポンスするシステム
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
届けたい価値
手段
支える原理
✓高レスポンスを維持するため、リソースプランニングを行い、コンポー
ネントの分割・分散を考慮すべき
Copyright © 2015 TIS Inc. All rights reserved. 12
Elastic
通常の負荷時だけでなく、一時的な高負荷状況でも、変動するワークロードに応
じて割り当てるリソースを増加・減少させることで応答時間を一定水準に保つ	
  
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
届けたい価値
手段
支える原理
Reactive	
  Design	
  Pattern(http://manning.com/kuhn/)
✓伸縮性のため、負荷を監視し、その変化に応じて分散する必要がある	
  
✓1つの部品がボトルネックを持ってはいけないし、独立して動作すべき
Copyright © 2015 TIS Inc. All rights reserved. 13
Resilient
部分的な障害が発生した時にもシステム全体を危険にさらすことなく回復さ
せ、高レスポンスを維持する
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
届けたい価値
手段
支える原理
Reactive	
  Design	
  Pattern(http://manning.com/kuhn/)
✓耐障害性を高めるため、故障したコンポーネントを修復したり、代替
となるコンポーネントを再接続するメカニズムが必要
Copyright © 2015 TIS Inc. All rights reserved. 14
Message Driven
メッセージパッシングにより、コンポーネント間を疎結合にする
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
届けたい価値
手段
支える原理
Reactive	
  Design	
  Pattern(http://manning.com/kuhn/)
✓すべてがメッセージ駆動により実現される
Copyright © 2015 TIS Inc. All rights reserved. 15
2.  Reactive	
  Systemのための技術
Copyright © 2015 TIS Inc. All rights reserved. 16
Typesafe Reactive Platform
JavaVM
アプリケーション
	
  AkkaPlay	
  Framework
Scala Java
Slick
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 17
Play Framework
•非同期/ノンブロッキング	
  
•WebSocketサポート	
  
•Railsのような使いやすさ
Copyright © 2015 TIS Inc. All rights reserved. 18
これまで
def index = Action { implicit request =>

Ok(views.html.index())

}
クライアント サーバ
ブロッキ
ング
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 19
Blocking
コーヒーください。
コーヒー1つ∼
は∼い
できた∼
・・・
コーヒーどうぞ∼	
  
100円です。
コーヒーください。
コーヒー1つ∼
Block
Copyright © 2015 TIS Inc. All rights reserved. 20
Non-blocking
コーヒーください。
コーヒー1つ∼
は∼い
コーヒーどうぞ∼	
  
コーヒーください。
コーヒー1つ∼
100円です。
100円です。
は∼い
できた∼
コーヒーください。
Copyright © 2015 TIS Inc. All rights reserved. 21
Reactive :迅速なレスポンス
def index = Action.async {

val customer: Future[Customer] = getCustomer()

customer.map(c => Ok("Customer: " + c))

}
クライアント サーバ サービス
ノンブ
ロッキング
ノンブ
ロッキング
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 22
Reactive :サーバからのプッシュ
クライアント サーバ
def socket = WebSocket.using[String] { request =>



// Log events to the console

val in = Iteratee.foreach[String](println).map { _ =>

println("Disconnected")

}



// Send a single 'Hello!' message

val out = Enumerator("Hello!")



(in, out)

}
ノンブ
ロッキング
WebSocket
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
https://www.playframework.com/documentation/2.4.x/ScalaWebSockets
Copyright © 2015 TIS Inc. All rights reserved. 23
Akka
•並行処理と分散処理をサポートするActor	
  System	
  
•Supervision	
  Model	
  
•location	
  transparency
Copyright © 2015 TIS Inc. All rights reserved. 24
Actor System
sender
Actor
Mailbox
Mailbox
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 25
Reactive :Actor Model
def socket = WebSocket.acceptWithActor[String, String] { request => out
=>

MyWebSocketActor.props(out)

}
object MyWebSocketActor {

def props(out: ActorRef) = Props(new MyWebSocketActor(out))

}



class MyWebSocketActor(out: ActorRef) extends Actor {

def receive = {

case msg: String =>

out ! ("I received your message: " + msg)

}

}
クライアント
コントローラ
Actor
ノンブロッ
キング
WebSocket
Actor
https://www.playframework.com/documentation/2.4.x/ScalaWebSockets
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 26
Supervision Modelで障害に強いシステムに
override val supervisorStrategy: SupervisorStrategy =

AllForOneStrategy(maxNrOfRetries = 100, withinTimeRange = 1 minute) {

case _ => Restart

}
スーパー	
  
バイザー
サブスーパー	
  
バイザー
Actor
Actor Actor
-­‐OneForOne	
  
-­‐AllForOne
障害を外へ波及させない
子アクターの監視役
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 27
let	
  it	
  crash
Copyright © 2015 TIS Inc. All rights reserved. 28
Distribute
https://conductr.typesafe.com/docs/1.0.x/DeployingApplication
Copyright © 2015 TIS Inc. All rights reserved. 29
Reactive :Actorを増減させ容易にスケール
クライアント
コントローラ
Actor
Actor
Actor
ルーティングは様々	
  
• ランダム	
  
• ラウンドロビン	
  
• 最小メールボックス	
  
• ブロードキャスト	
  
• 最速採用
ノンブ
ロッキング
WebSocket
Actor
location	
  	
  transparently
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 30
Reactive Slick (Slick3.0)
•FRM(Functional	
  Relational	
  Mapping)ライブラリ	
  
•Scalaのコレクションを扱うかのようにDBアクセスで
きる	
  
•DB処理は非同期に実行される
Copyright © 2015 TIS Inc. All rights reserved. 31
Supported Databases
•MySQL	
  
•PostgreSQL	
  
•H2	
  
•HSQLDB/HyperSQL	
  
•SQLite	
  
•Derby/JavaDB	
  
•Microsoft	
  Access
•DB2	
  
•Microsoft	
  SQL	
  Server	
  
•Oracle
Slick Extensions
Copyright © 2015 TIS Inc. All rights reserved. 32
Reactive :端から端までReactive
def search = Action.async { implicit request =>
…

val f:Future[Seq[EventRow]] = db.run(Events.filter(form))
f.map {

case events if (events.length > 0) =>

Ok(views.html.sample.search(
form.bindFromRequest, events))

case _ =>

…
クライアント
コントローラ
ノンブ
ロッキング
WebSocket
Actor
ノンブ
ロッキング
Actor
データベース
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 33
def search = Action.async { implicit request =>
…

val f:Future[Seq[EventRow]] = db.run(Events.filter(form))
f.map {

case events if (events.length > 0) =>

Ok(views.html.sample.search(
form.bindFromRequest, events))

case _ =>

… 高レスポンス  
Responsive
クライアント
コントローラ
ノンブロッ
キング
WebSocket
Actor
ノンブロッ
キング
Actor
データベース
Asynchronousが基本、	
  
どこでWaitするかをデザインする
Reactive :端から端までReactive
Copyright © 2015 TIS Inc. All rights reserved. 34
Reactive :Reactive Streams
def search = Action.async { implicit request =>
…

val q = for(e <- Event) yield e.eventNm
val publisher:DatabasePublisher[String] = db.stream(q.result)
publisher.foreach {e => println(e)}
…
クライアント
コントローラ
ノンブ
ロッキング
WebSocket
Actor
ノンブ
ロッキング
データベース
Actor
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 35
3.  Reactive体験
Copyright © 2015 TIS Inc. All rights reserved. 36
自己紹介
■ 根来	
  和輝	
  (ねごろ	
  かずき)	
  
■ @negokaz	
  
■ TIS株式会社	
  
■ 生産革新本部 生産革新部 生産技術R&D室	
  
■ 次世代のアプリケーション開発手法を研究開発
Copyright © 2015 TIS Inc. All rights reserved. 37
Reactive体験
もし、あなたがソーラーファームのオーナーになったら?
発電効率をできるだけ高めたいですよね。	
  
故障したソーラーパネルがないか監視しましょう。
Copyright © 2015 TIS Inc. All rights reserved. 38
Reactive Solar Farm Monitor Solar Farm
③ アラートを表示
ID:	
  1
② 故障している!
パネルを検知
それぞれが毎秒、発電した
電力(W)のデータを送信
ID:	
  1
Reactive Solar Farm Monitor
Icon	
  made	
  by	
  Freepik	
  from	
  www.flaticon.com	
  is	
  licensed	
  under	
  CC	
  BY	
  3.0
発電状況を表示
① 故障して!
発電力が低下
Copyright © 2015 TIS Inc. All rights reserved. 39
ソーラーパネルの故障検知
全パネルの平均電力からしきい値を決め

それ以下の電力しか発電していないものを	
  
故障したとみなす
‣ 発電している電力が	
  0	
  のものを故障とみなす?	
  
‣ 夜になったらどうする?
OK NG
平均値
しきい値
Copyright © 2015 TIS Inc. All rights reserved. 40
故障検知でやるべきこと
‣全パネルの平均電力を求める	
  
‣平均値からしきい値を決める	
  
‣全パネルの電力としきい値を比較する
ただしリアルタイムで
Copyright © 2015 TIS Inc. All rights reserved. 41
Architecture
Monitor Analyzer
SolarFarmSimulator
HTTP!
&!
WebSocket
Copyright © 2015 TIS Inc. All rights reserved. 42
https://github.com/tech-­‐sketch/reactive-­‐solar-­‐farm-­‐monitor
Reactive体験1 - Responsive
Copyright © 2015 TIS Inc. All rights reserved. 43
Reactive体験1 - Responsive
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 44
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
届けたい価値
手段
支える原理
Reactive体験2 - Elastic
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 45
1つのActorですべての計算処理を行う場合
Application	
  Cluster
Analyzer
AnalyzerMonitor
Mater
1
3
2
4
Worker
SolarFarmSimulator
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 46
Application	
  Cluster
Analyzer
Analyzer
Analyzer
Analyzer
Monitor
Master1
3
2
4
複数のActorに処理を振り分ける
Worker
SolarFarmSimulator
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 47
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
届けたい価値
手段
支える原理
Reactive体験3 - Resilient
Copyright © 2015 TIS Inc. All rights reserved. 48
Application	
  Cluster
Analyzer
AnalyzerMonitor
Master1
3
2
4
Workerがダウンすると
Worker
AnalyzerAnalyzer
SolarFarmSimulator
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved.
Application	
  Cluster
Analyzer
Analyzer
Analyzer
Analyzer
Monitor
Master1 3
2
4
Worker
残りのWorkerでやりくりする
SolarFarmSimulator
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 50
Application	
  Cluster
Analyzer
Analyzer
Analyzer
Analyzer
Monitor
Master1
3
2
4
Masterがダウンすると
Worker
SolarFarmSimulator
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 51
Application	
  Cluster
Analyzer
Analyzer
AnalyzerMonitor
1
3
2
4
Analyzer
Master
WorkerのひとつがMasterになり残りでやりくりする
Worker
SolarFarmSimulator
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 52
Application	
  Cluster
Analyzer
AnalyzerMonitor
1
3
2
4
Analyzer
Master
ダウンしたAnalyzerを起動するとWorkerとなって働く
Worker
Analyzer
SolarFarmSimulator
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 53
支えているのはメッセージ駆動のアーキテクチャ
Reactive体験4 - Message Driven
高レスポンス  
Responsive
伸縮性  
Elastic
耐障害性  
Resilient
メッセージ駆動  
Message-driven
Copyright © 2015 TIS Inc. All rights reserved. 54
4.  Go  Reactive
Copyright © 2015 TIS Inc. All rights reserved. 55
Go Reactive
http://www.tis.jp/service_solution/goreactive/
リアクティブに興味のある方はご連絡下さい。
go-­‐reactive@tis.co.jp
Copyright © 2015 TIS Inc. All rights reserved. 56
Go Reactive
ソースコードはGitHubで公開しています。
太陽光発電に興味のある方はご連絡下さい。
https://github.com/tech-­‐sketch/reactive-­‐solar-­‐farm-­‐monitor
go-­‐reactive@tis.co.jp
THANK YOU

More Related Content

What's hot

Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介Daisuke Ikeda
 
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介光平 八代
 
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介Daisuke Ikeda
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Shinichiro Arai
 
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...Shinichiro Arai
 
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoTcloudconductor
 
クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102Keiichi Hashimoto
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏Daisuke Ikeda
 
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)Daisuke Ikeda
 
170311 JAWS days 2017 fintech
170311 JAWS days 2017 fintech170311 JAWS days 2017 fintech
170311 JAWS days 2017 fintechToshihide Atsumi
 
G tech2016 クラウド時代に必要とされる組織と人材育成について
G tech2016 クラウド時代に必要とされる組織と人材育成についてG tech2016 クラウド時代に必要とされる組織と人材育成について
G tech2016 クラウド時代に必要とされる組織と人材育成についてTrainocate Japan, Ltd.
 
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現softlayerjp
 
Open stack活用に求められる人材と育成について2017 0314
Open stack活用に求められる人材と育成について2017 0314Open stack活用に求められる人材と育成について2017 0314
Open stack活用に求められる人材と育成について2017 0314Trainocate Japan, Ltd.
 
【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築
【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築
【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築cloudconductor
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AzareaCluster
 
20200813 fin-jaws #14 オープニング渥美
20200813 fin-jaws #14 オープニング渥美20200813 fin-jaws #14 オープニング渥美
20200813 fin-jaws #14 オープニング渥美Toshihide Atsumi
 
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...Typhon 666
 
Zabbixを使った効果的な運用管理の実現
Zabbixを使った効果的な運用管理の実現Zabbixを使った効果的な運用管理の実現
Zabbixを使った効果的な運用管理の実現Daisuke Ikeda
 
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Directorシスコシステムズ合同会社
 

What's hot (20)

Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
 
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介
Ansible・Serverspecベースの自動化フレームワークSHIFT wareの紹介
 
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...
IT infra summit 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを見...
 
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
 
クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
 
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
 
170311 JAWS days 2017 fintech
170311 JAWS days 2017 fintech170311 JAWS days 2017 fintech
170311 JAWS days 2017 fintech
 
G tech2016 クラウド時代に必要とされる組織と人材育成について
G tech2016 クラウド時代に必要とされる組織と人材育成についてG tech2016 クラウド時代に必要とされる組織と人材育成について
G tech2016 クラウド時代に必要とされる組織と人材育成について
 
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
 
Open stack活用に求められる人材と育成について2017 0314
Open stack活用に求められる人材と育成について2017 0314Open stack活用に求められる人材と育成について2017 0314
Open stack活用に求められる人材と育成について2017 0314
 
【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築
【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築
【Interop Tokyo 2015】クラウドオーケストレーションと仮想データセンターが描く、明日からのシステム構築
 
ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
 
20200813 fin-jaws #14 オープニング渥美
20200813 fin-jaws #14 オープニング渥美20200813 fin-jaws #14 オープニング渥美
20200813 fin-jaws #14 オープニング渥美
 
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
 
Zabbixを使った効果的な運用管理の実現
Zabbixを使った効果的な運用管理の実現Zabbixを使った効果的な運用管理の実現
Zabbixを使った効果的な運用管理の実現
 
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director
【Interop Tokyo 2015】 DC 3: Cisco ACI と OpenStack / Cisco UCS Director
 

Viewers also liked

Scalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive ProgrammingScalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive ProgrammingTomoharu ASAMI
 
akka-doc-ja
akka-doc-jaakka-doc-ja
akka-doc-jaTIS Inc.
 
Effective Akka読書会2
Effective Akka読書会2Effective Akka読書会2
Effective Akka読書会2TIS Inc.
 
甲賀流Jenkins活用術
甲賀流Jenkins活用術甲賀流Jenkins活用術
甲賀流Jenkins活用術TIS Inc.
 
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャAkkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャTIS Inc.
 
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜満徳 関
 
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)Stephen Chin
 
Device Simulator with Akka
Device Simulator with AkkaDevice Simulator with Akka
Device Simulator with AkkaMax Huang
 
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumi
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumiリアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumi
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumiYuta Okamoto
 
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 #ScalaMatsuriTIS Inc.
 
なぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuriなぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuriYuta Okamoto
 

Viewers also liked (11)

Scalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive ProgrammingScalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive Programming
 
akka-doc-ja
akka-doc-jaakka-doc-ja
akka-doc-ja
 
Effective Akka読書会2
Effective Akka読書会2Effective Akka読書会2
Effective Akka読書会2
 
甲賀流Jenkins活用術
甲賀流Jenkins活用術甲賀流Jenkins活用術
甲賀流Jenkins活用術
 
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャAkkaで実現するステートフルでスケーラブルなアーキテクチャ
Akkaで実現するステートフルでスケーラブルなアーキテクチャ
 
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
 
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
 
Device Simulator with Akka
Device Simulator with AkkaDevice Simulator with Akka
Device Simulator with Akka
 
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumi
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumiリアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumi
リアクティブ・アーキテクチャ ~大規模サービスにおける必要性と課題〜 #devsumi
 
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
 
なぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuriなぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuri
 

Similar to Typesafe Reactive Platformで作るReactive System入門

Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例OSSラボ株式会社
 
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視Takanori Suzuki
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~Brocade
 
【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築
【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築
【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築cloudconductor
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤Godai Nakamura
 
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介Daisuke Ikeda
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Weibo Corporation
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)NTT DATA OSS Professional Services
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムsatsuki fukazu
 
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からーIPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からーShinsuke SUZUKI
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Takashi Matsunaga
 
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!Miki Yutani
 
CSCJ_Webcast_20180626_ACI.pdf
CSCJ_Webcast_20180626_ACI.pdfCSCJ_Webcast_20180626_ACI.pdf
CSCJ_Webcast_20180626_ACI.pdfyojitanaka2
 
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~Brocade
 
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?softlayerjp
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例Ataru Shimodaira
 

Similar to Typesafe Reactive Platformで作るReactive System入門 (20)

Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
 
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
 
OpenStack環境の継続的インテグレーション
OpenStack環境の継続的インテグレーションOpenStack環境の継続的インテグレーション
OpenStack環境の継続的インテグレーション
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
 
【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築
【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築
【マジセミ】クラウドオーケストレーションが描く明日からのシステム構築
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
Spring I/O 2015 報告
Spring I/O 2015 報告Spring I/O 2015 報告
Spring I/O 2015 報告
 
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
 
Atlassian Summit 2015でのDevOps関連の取り組みについて
Atlassian Summit 2015でのDevOps関連の取り組みについてAtlassian Summit 2015でのDevOps関連の取り組みについて
Atlassian Summit 2015でのDevOps関連の取り組みについて
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システム
 
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からーIPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!
 
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
 
CSCJ_Webcast_20180626_ACI.pdf
CSCJ_Webcast_20180626_ACI.pdfCSCJ_Webcast_20180626_ACI.pdf
CSCJ_Webcast_20180626_ACI.pdf
 
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
ストレージ管理者が今、押さえておくべきネットワーク基本の「キ」 ~必要なのは性能とシンプルさ。その極意とは?~
 
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?
Why SoftLayer? なぜ、EC/通販統合パッケージリーダーのエルテックスは、SoftLayerを選んだのか?
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例
商用導入実績世界1位! ミランティスが提供するOpenStackとお客様の導入事例
 

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 LernaTIS Inc.
 
Starting Reactive Systems with Lerna #reactive_shinjuku
Starting Reactive Systems with Lerna #reactive_shinjukuStarting Reactive Systems with Lerna #reactive_shinjuku
Starting Reactive Systems with Lerna #reactive_shinjukuTIS 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 2018TIS 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.
 

More from TIS Inc. (8)

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
 
Starting Reactive Systems with Lerna #reactive_shinjuku
Starting Reactive Systems with Lerna #reactive_shinjukuStarting Reactive Systems with Lerna #reactive_shinjuku
Starting Reactive Systems with Lerna #reactive_shinjuku
 
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
 
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)
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (10)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Typesafe Reactive Platformで作るReactive System入門

  • 1. Copyright © 2015 TIS Inc. All rights reserved. Reactive  System  Meetup  in  西新宿 Typesafe  Reactive  Platformで作る Reactive  System入門 2015.8.18 前出 祐吾   根来 和輝
  • 2. Copyright © 2015 TIS Inc. All rights reserved. 2 自己紹介 ■ @yugolf   ! ■ TIS株式会社   ■ 生産革新本部 生産革新部 生産技術R&D室   ■ 社内向けエンジニアリング基盤の整備 ▶▶︎
  • 3. Copyright © 2015 TIS Inc. All rights reserved. 3 TIS、リアクティブコンサルはじめました http://www.tis.jp/service_solution/goreactive/
  • 4. Copyright © 2015 TIS Inc. All rights reserved. 4 Agenda 1.  Reactive  Systemとは   2.  Reactive  Systemのための技術   3.  Reactive体験
  • 5. Copyright © 2015 TIS Inc. All rights reserved. 5 1.    Reactive  Systemとは
  • 6. Copyright © 2015 TIS Inc. All rights reserved. 6 本日の話 http://www.reactivemanifesto.org/ Reactive  Programming:   データの流れ(ストリーム)とデータの値の変化の伝播にフォーカス したプログラムの設計モデル。   ・・・ の話ではない。 Reactive  System:
  • 7. Copyright © 2015 TIS Inc. All rights reserved. 7 Reactive manifesto 絵   ! 即応性   弾力性   耐障害性   メッセージ駆動 http://www.reactivemanifesto.org/ja
  • 8. Copyright © 2015 TIS Inc. All rights reserved. 8 アプリケーションへの高まる要求 50台のサーバで動かしていたけど、クラウド上で 1000コアの環境を作りたいんだ。 レスポンスを得るのに3秒かかるけど、 500ミリ秒くらいにしたいのよ。   それと、年1回の2時間のメンテナンス なんとかならないかしら。 最初は100ギガくらいだったけど、そ ろそろペタ行くんじゃないかな。
  • 9. Copyright © 2015 TIS Inc. All rights reserved. 9 Reactive Systemとは 即応性と、耐障害性と、弾力性と、メッセージ駆動とを備えたシステム http://www.reactivemanifesto.org/ja
  • 10. Copyright © 2015 TIS Inc. All rights reserved. 10 Reactive Systemの価値 届けたい価値 手段 支える原理 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 11. Copyright © 2015 TIS Inc. All rights reserved. Reactive  Design  Pattern(http://manning.com/kuhn/) 11 Responsive ユーザーの要求に迅速にレスポンスするシステム 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven 届けたい価値 手段 支える原理 ✓高レスポンスを維持するため、リソースプランニングを行い、コンポー ネントの分割・分散を考慮すべき
  • 12. Copyright © 2015 TIS Inc. All rights reserved. 12 Elastic 通常の負荷時だけでなく、一時的な高負荷状況でも、変動するワークロードに応 じて割り当てるリソースを増加・減少させることで応答時間を一定水準に保つ   高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven 届けたい価値 手段 支える原理 Reactive  Design  Pattern(http://manning.com/kuhn/) ✓伸縮性のため、負荷を監視し、その変化に応じて分散する必要がある   ✓1つの部品がボトルネックを持ってはいけないし、独立して動作すべき
  • 13. Copyright © 2015 TIS Inc. All rights reserved. 13 Resilient 部分的な障害が発生した時にもシステム全体を危険にさらすことなく回復さ せ、高レスポンスを維持する 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven 届けたい価値 手段 支える原理 Reactive  Design  Pattern(http://manning.com/kuhn/) ✓耐障害性を高めるため、故障したコンポーネントを修復したり、代替 となるコンポーネントを再接続するメカニズムが必要
  • 14. Copyright © 2015 TIS Inc. All rights reserved. 14 Message Driven メッセージパッシングにより、コンポーネント間を疎結合にする 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven 届けたい価値 手段 支える原理 Reactive  Design  Pattern(http://manning.com/kuhn/) ✓すべてがメッセージ駆動により実現される
  • 15. Copyright © 2015 TIS Inc. All rights reserved. 15 2.  Reactive  Systemのための技術
  • 16. Copyright © 2015 TIS Inc. All rights reserved. 16 Typesafe Reactive Platform JavaVM アプリケーション  AkkaPlay  Framework Scala Java Slick 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 17. Copyright © 2015 TIS Inc. All rights reserved. 17 Play Framework •非同期/ノンブロッキング   •WebSocketサポート   •Railsのような使いやすさ
  • 18. Copyright © 2015 TIS Inc. All rights reserved. 18 これまで def index = Action { implicit request =>
 Ok(views.html.index())
 } クライアント サーバ ブロッキ ング 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 19. Copyright © 2015 TIS Inc. All rights reserved. 19 Blocking コーヒーください。 コーヒー1つ∼ は∼い できた∼ ・・・ コーヒーどうぞ∼   100円です。 コーヒーください。 コーヒー1つ∼ Block
  • 20. Copyright © 2015 TIS Inc. All rights reserved. 20 Non-blocking コーヒーください。 コーヒー1つ∼ は∼い コーヒーどうぞ∼   コーヒーください。 コーヒー1つ∼ 100円です。 100円です。 は∼い できた∼ コーヒーください。
  • 21. Copyright © 2015 TIS Inc. All rights reserved. 21 Reactive :迅速なレスポンス def index = Action.async {
 val customer: Future[Customer] = getCustomer()
 customer.map(c => Ok("Customer: " + c))
 } クライアント サーバ サービス ノンブ ロッキング ノンブ ロッキング 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 22. Copyright © 2015 TIS Inc. All rights reserved. 22 Reactive :サーバからのプッシュ クライアント サーバ def socket = WebSocket.using[String] { request =>
 
 // Log events to the console
 val in = Iteratee.foreach[String](println).map { _ =>
 println("Disconnected")
 }
 
 // Send a single 'Hello!' message
 val out = Enumerator("Hello!")
 
 (in, out)
 } ノンブ ロッキング WebSocket 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven https://www.playframework.com/documentation/2.4.x/ScalaWebSockets
  • 23. Copyright © 2015 TIS Inc. All rights reserved. 23 Akka •並行処理と分散処理をサポートするActor  System   •Supervision  Model   •location  transparency
  • 24. Copyright © 2015 TIS Inc. All rights reserved. 24 Actor System sender Actor Mailbox Mailbox 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 25. Copyright © 2015 TIS Inc. All rights reserved. 25 Reactive :Actor Model def socket = WebSocket.acceptWithActor[String, String] { request => out =>
 MyWebSocketActor.props(out)
 } object MyWebSocketActor {
 def props(out: ActorRef) = Props(new MyWebSocketActor(out))
 }
 
 class MyWebSocketActor(out: ActorRef) extends Actor {
 def receive = {
 case msg: String =>
 out ! ("I received your message: " + msg)
 }
 } クライアント コントローラ Actor ノンブロッ キング WebSocket Actor https://www.playframework.com/documentation/2.4.x/ScalaWebSockets 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 26. Copyright © 2015 TIS Inc. All rights reserved. 26 Supervision Modelで障害に強いシステムに override val supervisorStrategy: SupervisorStrategy =
 AllForOneStrategy(maxNrOfRetries = 100, withinTimeRange = 1 minute) {
 case _ => Restart
 } スーパー   バイザー サブスーパー   バイザー Actor Actor Actor -­‐OneForOne   -­‐AllForOne 障害を外へ波及させない 子アクターの監視役 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 27. Copyright © 2015 TIS Inc. All rights reserved. 27 let  it  crash
  • 28. Copyright © 2015 TIS Inc. All rights reserved. 28 Distribute https://conductr.typesafe.com/docs/1.0.x/DeployingApplication
  • 29. Copyright © 2015 TIS Inc. All rights reserved. 29 Reactive :Actorを増減させ容易にスケール クライアント コントローラ Actor Actor Actor ルーティングは様々   • ランダム   • ラウンドロビン   • 最小メールボックス   • ブロードキャスト   • 最速採用 ノンブ ロッキング WebSocket Actor location    transparently 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 30. Copyright © 2015 TIS Inc. All rights reserved. 30 Reactive Slick (Slick3.0) •FRM(Functional  Relational  Mapping)ライブラリ   •Scalaのコレクションを扱うかのようにDBアクセスで きる   •DB処理は非同期に実行される
  • 31. Copyright © 2015 TIS Inc. All rights reserved. 31 Supported Databases •MySQL   •PostgreSQL   •H2   •HSQLDB/HyperSQL   •SQLite   •Derby/JavaDB   •Microsoft  Access •DB2   •Microsoft  SQL  Server   •Oracle Slick Extensions
  • 32. Copyright © 2015 TIS Inc. All rights reserved. 32 Reactive :端から端までReactive def search = Action.async { implicit request => …
 val f:Future[Seq[EventRow]] = db.run(Events.filter(form)) f.map {
 case events if (events.length > 0) =>
 Ok(views.html.sample.search( form.bindFromRequest, events))
 case _ =>
 … クライアント コントローラ ノンブ ロッキング WebSocket Actor ノンブ ロッキング Actor データベース 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 33. Copyright © 2015 TIS Inc. All rights reserved. 33 def search = Action.async { implicit request => …
 val f:Future[Seq[EventRow]] = db.run(Events.filter(form)) f.map {
 case events if (events.length > 0) =>
 Ok(views.html.sample.search( form.bindFromRequest, events))
 case _ =>
 … 高レスポンス   Responsive クライアント コントローラ ノンブロッ キング WebSocket Actor ノンブロッ キング Actor データベース Asynchronousが基本、   どこでWaitするかをデザインする Reactive :端から端までReactive
  • 34. Copyright © 2015 TIS Inc. All rights reserved. 34 Reactive :Reactive Streams def search = Action.async { implicit request => …
 val q = for(e <- Event) yield e.eventNm val publisher:DatabasePublisher[String] = db.stream(q.result) publisher.foreach {e => println(e)} … クライアント コントローラ ノンブ ロッキング WebSocket Actor ノンブ ロッキング データベース Actor 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 35. Copyright © 2015 TIS Inc. All rights reserved. 35 3.  Reactive体験
  • 36. Copyright © 2015 TIS Inc. All rights reserved. 36 自己紹介 ■ 根来  和輝  (ねごろ  かずき)   ■ @negokaz   ■ TIS株式会社   ■ 生産革新本部 生産革新部 生産技術R&D室   ■ 次世代のアプリケーション開発手法を研究開発
  • 37. Copyright © 2015 TIS Inc. All rights reserved. 37 Reactive体験 もし、あなたがソーラーファームのオーナーになったら? 発電効率をできるだけ高めたいですよね。   故障したソーラーパネルがないか監視しましょう。
  • 38. Copyright © 2015 TIS Inc. All rights reserved. 38 Reactive Solar Farm Monitor Solar Farm ③ アラートを表示 ID:  1 ② 故障している! パネルを検知 それぞれが毎秒、発電した 電力(W)のデータを送信 ID:  1 Reactive Solar Farm Monitor Icon  made  by  Freepik  from  www.flaticon.com  is  licensed  under  CC  BY  3.0 発電状況を表示 ① 故障して! 発電力が低下
  • 39. Copyright © 2015 TIS Inc. All rights reserved. 39 ソーラーパネルの故障検知 全パネルの平均電力からしきい値を決め
 それ以下の電力しか発電していないものを   故障したとみなす ‣ 発電している電力が  0  のものを故障とみなす?   ‣ 夜になったらどうする? OK NG 平均値 しきい値
  • 40. Copyright © 2015 TIS Inc. All rights reserved. 40 故障検知でやるべきこと ‣全パネルの平均電力を求める   ‣平均値からしきい値を決める   ‣全パネルの電力としきい値を比較する ただしリアルタイムで
  • 41. Copyright © 2015 TIS Inc. All rights reserved. 41 Architecture Monitor Analyzer SolarFarmSimulator HTTP! &! WebSocket
  • 42. Copyright © 2015 TIS Inc. All rights reserved. 42 https://github.com/tech-­‐sketch/reactive-­‐solar-­‐farm-­‐monitor Reactive体験1 - Responsive
  • 43. Copyright © 2015 TIS Inc. All rights reserved. 43 Reactive体験1 - Responsive 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 44. Copyright © 2015 TIS Inc. All rights reserved. 44 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven 届けたい価値 手段 支える原理 Reactive体験2 - Elastic 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 45. Copyright © 2015 TIS Inc. All rights reserved. 45 1つのActorですべての計算処理を行う場合 Application  Cluster Analyzer AnalyzerMonitor Mater 1 3 2 4 Worker SolarFarmSimulator 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 46. Copyright © 2015 TIS Inc. All rights reserved. 46 Application  Cluster Analyzer Analyzer Analyzer Analyzer Monitor Master1 3 2 4 複数のActorに処理を振り分ける Worker SolarFarmSimulator 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 47. Copyright © 2015 TIS Inc. All rights reserved. 47 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven 届けたい価値 手段 支える原理 Reactive体験3 - Resilient
  • 48. Copyright © 2015 TIS Inc. All rights reserved. 48 Application  Cluster Analyzer AnalyzerMonitor Master1 3 2 4 Workerがダウンすると Worker AnalyzerAnalyzer SolarFarmSimulator 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 49. Copyright © 2015 TIS Inc. All rights reserved. Application  Cluster Analyzer Analyzer Analyzer Analyzer Monitor Master1 3 2 4 Worker 残りのWorkerでやりくりする SolarFarmSimulator 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 50. Copyright © 2015 TIS Inc. All rights reserved. 50 Application  Cluster Analyzer Analyzer Analyzer Analyzer Monitor Master1 3 2 4 Masterがダウンすると Worker SolarFarmSimulator 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 51. Copyright © 2015 TIS Inc. All rights reserved. 51 Application  Cluster Analyzer Analyzer AnalyzerMonitor 1 3 2 4 Analyzer Master WorkerのひとつがMasterになり残りでやりくりする Worker SolarFarmSimulator 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 52. Copyright © 2015 TIS Inc. All rights reserved. 52 Application  Cluster Analyzer AnalyzerMonitor 1 3 2 4 Analyzer Master ダウンしたAnalyzerを起動するとWorkerとなって働く Worker Analyzer SolarFarmSimulator 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 53. Copyright © 2015 TIS Inc. All rights reserved. 53 支えているのはメッセージ駆動のアーキテクチャ Reactive体験4 - Message Driven 高レスポンス   Responsive 伸縮性   Elastic 耐障害性   Resilient メッセージ駆動   Message-driven
  • 54. Copyright © 2015 TIS Inc. All rights reserved. 54 4.  Go  Reactive
  • 55. Copyright © 2015 TIS Inc. All rights reserved. 55 Go Reactive http://www.tis.jp/service_solution/goreactive/ リアクティブに興味のある方はご連絡下さい。 go-­‐reactive@tis.co.jp
  • 56. Copyright © 2015 TIS Inc. All rights reserved. 56 Go Reactive ソースコードはGitHubで公開しています。 太陽光発電に興味のある方はご連絡下さい。 https://github.com/tech-­‐sketch/reactive-­‐solar-­‐farm-­‐monitor go-­‐reactive@tis.co.jp