SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
KamonとDatadogによる
リアクティブアプリケーションの
監視の事例
松村 郁⽣ (ikuo)
ソフトウェアエンジニア @ CyberAgent, Inc.
紹介の流れ
• 技術環境 / 選んだ経緯
• アプリケーション監視の事例
• Kamonの計測モデル
• 監視の例
• 受信メッセージ数, Kinesisアプリの遅延,

外部接続の応答時間, アプリのボトルネック
• つまづいた点と解決策, Tips
• タグの組合せ数を抑える(フィルタ, リソース解放)
技術環境 / 選んだ経緯
スマホ向け広告の配信を最適化するプラットフォーム (SSP)
リリース:
 2015年3⽉
 (1年半の運⽤)
配信規模:
 ⽉間数⼗億imp
広告問合せの接続数:
 数⼗デマンド
サーバ側 技術環境
Scala/Akka
Docker
EC2/Elastic Beanstalk, DynamoDB, Kinesis, etc.
Kamon
Datadog
EMR + Spot
Spark
AWS
Kamon
監視系
広告配信系 集計系
…
インフラ構成の省⼒化,伸びる環境に投資
2014年末に選定
AWS
Docker
(環境G)
(環境O)
Google Trends goo.gl/cB8ll4
• 健全な基礎
• Actor Model (1973)
• ⾮同期メッセージ通信 →

弾⼒性, 耐障害性, 即応性[REM]
• エコシステム
• 社内事例, JVMベース
• 背圧制御, 永続化, クラスタ,
シャーディング などの拡張
⾼性能
TechEmpower Web Framework Benchmarks
EC2最新版 (Round11), Nov. 2015, json [WFB]
ThoghtWorks

Technology Radar

Nov. 2016 [TTR]
“Architectures based on asynchronous message
passing introduce complexity and make the overall
system harder to understand”
計測: 理解しやすくする1つのアプローチ
• 元々 “Reactive Application Monitoring”のコンセプト
• Scala/Akka⽤の OSS 計測ライブラリ
• 当時から Kamon, Docker に対応
• 監視系の省⼒化と費⽤とのバランス
• + “トレンド”
2014年末
に選定
Google Trends

goo.gl/yQVIiY
Datadog
ツールS
ツールM (国内)
goo.gl/hq5vth
ツールZ
ツールn
ツールN
ツールm
goo.gl/yzb3jd
2014年末
に選定
Google Trends

goo.gl/yQVIiY
Datadog
ツールS
Kamonの計測モデルと
アプリケーション監視の例
Kamonの計測モデルと構成要素
• Core
• Metrics - 計測対象(Entity)から計測値(EntityRecorder)
へのマップ
• Tracing - 複数の計測対象間の相互作⽤の記録
• Integrations
• Scala{,z}, Akka, Logback, Annotation, Exexutors,
Play, Spray, JDBC, ElasticSearch, System Metrics
• Backends
• Datadog, JMX 他多数
計測器 計測対象(Entity)の例 紹介する監視の例
Counter akka-actor.errors 1. 受信メッセージ数
Histogram
akka-actor.time-in-mailbox 2. Kinesisアプリの遅延
tracer.elapsed-time 3. 外部接続の応答時間
MinMaxCounter akka-actor.mailbox-size 4. アプリのボトルネック
Gauge system-metrics.thread-count -
Kamonの4つの計測器と監視の例
1. 受信メッセージ数の監視 (Counter)
host-a でノード障害

(コンテナにrestartかかる)
host-bにfailover
Kamon.metrics.counter(“my-event”).increment()
2. Kinesisアプリの遅延の監視 (Histogram)
社内勉強会の資料[SMK] (@s_tsuka) より
Kamon.metrics.histogram(“my-delay”).record(v)
3. 経過時間の取得
Tracer.withNewContext(“my-proc”, autoFinish=true) {
// 計測対象コード
}
内部的には Histogram
3. 外部接続の応答時間の監視 (Tracer)
4. アプリのボトルネックの監視 (MinMaxCounter)
リリースから半年時点
ボトルネック解消
リリースから1年半
つまづいた点と解決策, Tips
タグの組合せ数の制限 (Datadog)
タグの組合せ毎にCustom Metricがカウントされる
デフォルトでは「ホスト数 x 100個」まで*
Metirc毎のタグ⼀覧 Datadog UI > Metric > Summary
(*) Datadog Integrationは含まず
…
タグの組合せ数の注意点 (Kamon)
• タグの組合せ毎にKamonのEntityが⽣成される
• ⽣成されたEntityは⾃動では削除されない
Kamon.metrics.counter(
name = "pageview",
tags = Map(“url” -> url)
).increment()
メモリ
リーク
• 対策
• 限られた値を取るものしかタグには使わない
• LRUキャッシュなどで不要なEntityは明⽰的に remove する
タグの組合せ数の注意点 (kamon-akka)
• Actorのパス毎にKamonのEntityが⽣成される
• Actorを⼤量に⽣成する設計パターンがある*
• e.g. Cameoパターン, Cluster Sharding
context.actorOf(
MyActor.props,
name = “my-actor-” + randomUUID.toString
)
(*)もともとAkkaは 数百万Actor/JVM を想定している
“~2.5 million actors per GB of heap”, http://akka.io/
Actorの⼤量⽣成の対策 (kamon-akka)
• akka-actorのフィルタで計測対象から除外する
• 必要なら別の形で計測を仕込む
• e.g. ClusterShardingStats でActor総数を取る
// application.conf
kamon.metric.filters.akka-actor {
includes = [ “**” ]
excludes = [ “*/user/**/my-actor-*”, “*/system/**” ]
}
フィルタの効果
before
after
グラフへのコメント
外部チャットにポスト
まとめ
• Kamonと組合せたScala/Akkaアプリの監視について
Datadogを選んだ経緯、1年半の運⽤の中から事例・Tips
を紹介しました
• タグの組合せが増えすぎないように、フィルタやリソー
ス解放などに留意しています
• Kamonの使い⽅詳細や内部の仕組みについては

是⾮弊社のブログ[SBK]・勉強会資料[SMK]もご覧下さい
Reference
• [REM] Reactive Manifesto v2.0, http://www.reactivemanifesto.org/ja
• [WFB] TechEmpower Web Framework Benchmarks, Round11, JSON
serialization, EC2, https://www.techempower.com/benchmarks/
(graph script: goo.gl/IpyQ4T )
• [TTR] ThoughtWorks, Technology Radar Nov. 2016, https://
www.thoughtworks.com/radar/techniques
• [SBK] KamonとDatadogを使ってAkka actorのパフォーマンスを可視化
する, CyberAgent AdTech Studio ScalaBlog, https://
adtech.cyberagent.io/scalablog/2015/09/24/
kamon_datadog_akka_performance/
• [SMK] Kamonを理解する, AdTech Scala Meetup, http://
www.slideshare.net/shuyatsukamoto/kamon-55734536
• [DCM] Datadog FAQ, Limit on the number of custom metrics, https://
help.datadoghq.com/hc/en-us/articles/204271775-What-is-a-
custom-metric-and-what-is-the-limit-on-the-number-of-custom-
metrics-I-can-have-

Mais conteúdo relacionado

Destaque

Make your programs Free
Make your programs FreeMake your programs Free
Make your programs FreePawel Szulc
 
Arquitectura barroca
Arquitectura barrocaArquitectura barroca
Arquitectura barrocaMaria Carmona
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞYoshitaka Fujii
 
How Scala code is expressed in the JVM
How Scala code is expressed in the JVMHow Scala code is expressed in the JVM
How Scala code is expressed in the JVMKoichi Sakata
 
Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)Tomer Gabel
 
Functional Programming For All - Scala Matsuri 2016
Functional Programming For All - Scala Matsuri 2016Functional Programming For All - Scala Matsuri 2016
Functional Programming For All - Scala Matsuri 2016Zachary Abbott
 
Contributing to Scala OSS from East Asia #ScalaMatsuri
 Contributing to Scala OSS from East Asia #ScalaMatsuri Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuriKazuhiro Sera
 
あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)x1 ichi
 
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuriバッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuriKazuki Negoro
 
Akka Cluster and Auto-scaling
Akka Cluster and Auto-scalingAkka Cluster and Auto-scaling
Akka Cluster and Auto-scalingIkuo Matsumura
 
Tracing Microservices with Zipkin
Tracing Microservices with ZipkinTracing Microservices with Zipkin
Tracing Microservices with Zipkintakezoe
 
Going bananas with recursion schemes for fixed point data types
Going bananas with recursion schemes for fixed point data typesGoing bananas with recursion schemes for fixed point data types
Going bananas with recursion schemes for fixed point data typesPawel Szulc
 
Van laarhoven lens
Van laarhoven lensVan laarhoven lens
Van laarhoven lensNaoki Aoyama
 
Why Reactive Matters #ScalaMatsuri
Why Reactive Matters #ScalaMatsuriWhy Reactive Matters #ScalaMatsuri
Why Reactive Matters #ScalaMatsuriYuta Okamoto
 
Reducing Boilerplate and Combining Effects: A Monad Transformer Example
Reducing Boilerplate and Combining Effects: A Monad Transformer ExampleReducing Boilerplate and Combining Effects: A Monad Transformer Example
Reducing Boilerplate and Combining Effects: A Monad Transformer ExampleConnie Chen
 
Deadly Code! (seriously) Blocking & Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking & Hyper Context Switching PatternDeadly Code! (seriously) Blocking & Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking & Hyper Context Switching Patternchibochibo
 
Reactive integrations with Akka Streams
Reactive integrations with Akka StreamsReactive integrations with Akka Streams
Reactive integrations with Akka StreamsKonrad Malawski
 

Destaque (20)

Make your programs Free
Make your programs FreeMake your programs Free
Make your programs Free
 
究極のPHP本完成
究極のPHP本完成究極のPHP本完成
究極のPHP本完成
 
Arquitectura barroca
Arquitectura barrocaArquitectura barroca
Arquitectura barroca
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
 
How Scala code is expressed in the JVM
How Scala code is expressed in the JVMHow Scala code is expressed in the JVM
How Scala code is expressed in the JVM
 
ScalaMatsuri 2016
ScalaMatsuri 2016ScalaMatsuri 2016
ScalaMatsuri 2016
 
Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)
 
Functional Programming For All - Scala Matsuri 2016
Functional Programming For All - Scala Matsuri 2016Functional Programming For All - Scala Matsuri 2016
Functional Programming For All - Scala Matsuri 2016
 
Contributing to Scala OSS from East Asia #ScalaMatsuri
 Contributing to Scala OSS from East Asia #ScalaMatsuri Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuri
 
あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)
 
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuriバッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
 
Akka Cluster and Auto-scaling
Akka Cluster and Auto-scalingAkka Cluster and Auto-scaling
Akka Cluster and Auto-scaling
 
Tracing Microservices with Zipkin
Tracing Microservices with ZipkinTracing Microservices with Zipkin
Tracing Microservices with Zipkin
 
Going bananas with recursion schemes for fixed point data types
Going bananas with recursion schemes for fixed point data typesGoing bananas with recursion schemes for fixed point data types
Going bananas with recursion schemes for fixed point data types
 
Van laarhoven lens
Van laarhoven lensVan laarhoven lens
Van laarhoven lens
 
Why Reactive Matters #ScalaMatsuri
Why Reactive Matters #ScalaMatsuriWhy Reactive Matters #ScalaMatsuri
Why Reactive Matters #ScalaMatsuri
 
Reducing Boilerplate and Combining Effects: A Monad Transformer Example
Reducing Boilerplate and Combining Effects: A Monad Transformer ExampleReducing Boilerplate and Combining Effects: A Monad Transformer Example
Reducing Boilerplate and Combining Effects: A Monad Transformer Example
 
Zen of Akka
Zen of AkkaZen of Akka
Zen of Akka
 
Deadly Code! (seriously) Blocking & Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking & Hyper Context Switching PatternDeadly Code! (seriously) Blocking & Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking & Hyper Context Switching Pattern
 
Reactive integrations with Akka Streams
Reactive integrations with Akka StreamsReactive integrations with Akka Streams
Reactive integrations with Akka Streams
 

Semelhante a KamonとDatadogによるリアクティブアプリケーションの監視の事例

アプリケーション開発と分析のための Log Analytics
アプリケーション開発と分析のための Log Analytics アプリケーション開発と分析のための Log Analytics
アプリケーション開発と分析のための Log Analytics kekekekenta
 
SORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & UpdatesSORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & UpdatesSORACOM,INC
 
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM,INC
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Yahoo!デベロッパーネットワーク
 
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?Takuya Ogawa
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmShotaro Suzuki
 
実践で学んだLog Analytics
実践で学んだLog Analytics実践で学んだLog Analytics
実践で学んだLog AnalyticsTetsuya Odashima
 
SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介
SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介
SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介SORACOM,INC
 
[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築
[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築
[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築Naoki (Neo) SATO
 
Amazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システムAmazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システム駿哉 吉田
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 
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
 
機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップDaiyu Hatakeyama
 
Apm enables python app observability
Apm enables python app observabilityApm enables python app observability
Apm enables python app observabilityShotaro Suzuki
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Shinya Nakajima
 
Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版Daiyu Hatakeyama
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へDevelopers Summit
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on AzureDaiyu Hatakeyama
 

Semelhante a KamonとDatadogによるリアクティブアプリケーションの監視の事例 (20)

アプリケーション開発と分析のための Log Analytics
アプリケーション開発と分析のための Log Analytics アプリケーション開発と分析のための Log Analytics
アプリケーション開発と分析のための Log Analytics
 
SORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & UpdatesSORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & Updates
 
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
 
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
 
実践で学んだLog Analytics
実践で学んだLog Analytics実践で学んだLog Analytics
実践で学んだLog Analytics
 
SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介
SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介
SORACOM UG 農業活用コミュニティ #1 | IoT向け通信プラットフォーム「SORACOM」ご紹介
 
[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築
[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築
[Developers Summit 2018] Microsoft AIプラットフォームによるインテリジェント アプリケーションの構築
 
Amazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システムAmazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システム
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ
 
Apm enables python app observability
Apm enables python app observabilityApm enables python app observability
Apm enables python app observability
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)
 
Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版Azure Machine Learning services 2019年6月版
Azure Machine Learning services 2019年6月版
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure
 

KamonとDatadogによるリアクティブアプリケーションの監視の事例