デベロッパー アドボケート ウェビナーシリーズ (Vol.1)
VMware、Microsoft、Elastic - Java 18、
Azure Spring Apps そして Elastic x Azure
Spring Apps コラボレーションの最新技術情報
Elastic x Microsoft Azure 統合の進化 :
Spring Boot アプリケーション⽤の統合監視
鈴⽊ 章太郎
Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト
デジタル庁 省庁業務グループ ソリューションアーキテクト
Elastic
Technical Product Marketing
Manager/Evangelist
デジタル庁
省庁業務グループ
ソリューションアーキテクト
元 Microsoft Technical Evangelist
Twitter : @shosuz
Shotaro Suzuki
• Elastic 概要
• Observability と APM
• Elastic x Azure 統合による Observability と APM の進化
• Azure Spring Apps との統合
• まとめ
アジェンダ
Elastic 概要
The Elasticsearch
Platform
Enterprise Search Observability Security
Kibana
Explore, Visualize, Engage
Elasticsearch
Store, Search, Analyze
Integrations
Connect, Collect, Alert
Public cloud Hybrid On-premises
In a world where endless data creates endless possibility, search helps people and organizations
thrive.
Observability と APM
開発者にありがちな信頼性の捉え⽅
開発者にありがちな信頼性の捉え⽅
デプロイした後は、コードをテストしない
システムのテストをしている
同時接続
Network
不具合
ディストロ、
カーネル、OSの
バージョン
キャッシュのヒット
とハズレ
スケジューラと
そのクセ
クライアントの
バックオフ、
リトライ
メモリガベージ
コレクション
デプロイメント
コードの不具合
コードレース
条件
クロックシンクの
問題
「機械に限界まで負荷をかけ、それを維持しようとするならば、
その限界はどこなのか、ある程度⾒極めなければならない。
外を⾒てごらん。あそこには完璧なラップがある。ミスは許され
ない。すべてのギアチェンジ、すべてのコーナー。完璧に。 」-
ケン・マイルズ
分散型トレースによるレスキュー
しかし、サービスが同期でない場合はどうでしょうか︖
REST
API
Analytics
マイクロサービスアーキテクチャの採⽤はメリットも多いが、
同時に問題発⽣時の根本的な原因を⾒つけるのが難しくなる
Three pillars of observability
Logs
Metrics Traces
⼈、
プロセス、
ツール
⼈、
プロセス、
ツール
⼈、
プロセス、
ツール
可能な限りオープンスタンダードを使⽤する
https://openTelemetry.io
• あらゆる種類のテレメトリーデータに対応する
シングルエージェント
• 全エージェントを対象とした集中管理および
ポリシー設定
• OpenTelemetry のサポート
• 豊富な可視化機能とデータ探索機能により、
すぐに使える分析、その場限りの分析が可能
Elastic の特⻑
Architecture of The Gallivant Web Shop
Internet
Ship
metrics
& logs
End
user
Elastic Stack
Actions
Backend
micro services
Monitoring
Cart
Catalog
Ordering
Checkout
Search
React Client DevOps
Engineer
SecOps
Engineer
Marketer
…
End
user
Public Cloud
Elastic x Azure 統合による
Observability と APM の進化
Azure x Elastic Deep Integration
Extend
Customer
Engagement
Grow Support
Build
Together
Evaluate
Requirements
運⽤を簡素化し、お客様の Azure 環境を最⼤限
に視覚化
• Azure 上のお客様のインフラストラクチャ、アプリ、
データの正常性、パフォーマンス、セキュリティを
監視する⽅法を効率化
• Azure portal 内で Elasticsearch の検索、
デプロイ、管理を簡単に⾏えるため、お客様が
必要なスピード、スケール、関連性を得られ、
お客様はビジネスに集中が可能
• Elastic on Azure でお客様のアプリや IT の検
索、分析、セキュリティを実現するには、こちらのソ
リューション ガイドをお読みください
Elastic
https://azure.microsoft.com/ja-jp/overview/linux-on-azure/elastic/#overview
Elastic on Azure ネイティブ統合のメリット
• Azure における Elastic のネイティブ統合は、
Elastic on Azure を使い始めるための最も簡単
で迅速な⽅法
• Azure の Spring Cloud ログや APM データを
Elastic へすばやく送信し、データがオンプレミス、
マルチクラウド、ハイブリッドクラウド環境のどこに
あっても、あらゆる種類のデータに、どこからでも、
必要なときにアクセスできる
• 全体像を把握することで、Spring Boot アプリ
ケーションのクラウドへの移⾏を効率化できる
• Elastic Cloud によってセキュリティ、メンテナンス、
維持管理が⾏われるため、お客様は視覚化の向
上、運⽤の改善、サイバー回復性の強化によりビ
ジネスを推進することができる
Elastic でログやメトリクスを分析し
Spring Boot アプリケーションを監視
• Azure Spring Apps は、Microsoft と
VMware が共同で作成、運⽤、サポート
• Spring Boot アプリケーション向けフルマネージド
サービスで、インフラストラクチャと Spring Cloud
ミドルウェア管理にかかる⼿間が省かれる
• ビジネス ロジックの作成に集中することができ、
Azure に動的スケーリング、パッチ、セキュリティ、
コンプライアンス、⾼可⽤性の管理を任せられる
• Azure Spring Apps のプロビジョニング、アプリ
ケーションの作成、デプロイ、Spring Boot アプリ
ケーションのスケーリングまで、数分で監視を開始
できる
Azure Spring Apps との統合
Spring Boot アプリケーションのインストルメント化
• “プロビジョニング” ⾃動化を実⾏すると、Elastic の Terraform または ARM Template を使⽤して作成
およびデプロイした新しいアプリケーションのインストルメント化と監視を完全に⾃動で⾏うことができる
• Azure コマンド ライン インターフェイス (CLI) を使⽤してオンデマンドで実⾏することで、より⾼い柔軟性と制御
が可能になる
Azure CLI (コマンドライン インターフェイス) を使⽤して Elastic インストルメント化を設定する例
• Spring Boot は Java アプリケーションで
最も使⽤されているフレームワーク
• Azure Spring Apps という完全な
マネージドサービスが Marketplace で提供
• Elastic ユーザーは Azure Spring Apps
から Elastic Cloud にシステム、コンソール、
およびアプリケーションログを取り込める
• Spring Boot アプリで発⽣する問題を継続
的に監視およびデバッグできる
Azure Spring Apps
ログとの統合
https://docs.microsoft.com/ja-jp/azure/spring-
cloud/how-to-elastic-diagnostic-settings
Azure Spring Apps ログを Elastic に送る
• ネイティブ統合により、Elastic Observability ソリューションにログをシームレスに送信することができる
• Elastic にデータが取り込まれたら、お客様はすぐに視覚化やダッシュボードを作成して分析を開始できる
Azure Spring Apps Service の診断設定ブレード
Spring Boot アプリケーションのパフォーマンスを分析する
• Spring Boot アプリケーションにインストル
メント化を⾏い、ログを出⼒したら、Elastic
Observability を使⽤してデータの監視、
分析、検索を⾏うことにより、アプリケーションの
パフォーマンスを維持することができる
• Elastic Observability 内で Azure
Spring Apps ダッシュボードを使⽤すること
で、Azure Spring Apps のログからすぐに
分析情報を得ることができる
Elastic Observability のAzure Spring Apps Service のログをすぐに利⽤できるダッシュボード
Elastic APM を使って
Spring Boot Application を分析・監視
• Elastic アプリケーションパフォーマンス監視 (APM) を使⽤すると、アプリケーションのパフォーマンスデータを
分析および検索できる
Elastic Observability → APM → Service Map
Elastic APM を使⽤して
Java Virtual Machine (JVM) のメトリクスを⾒る
• ヒープメモリ使⽤量、システムメモリ使⽤量、CPU 使⽤量などを把握し、根拠に基づいた容量計画の判断が
できるようになる
Customer Service に関する Elastic APM での JVM メトリック
Elastic APM の分散トレース機能を活⽤
• アプリケーションのパフォーマンスをさらに掘り下げ、どのトランザクションが顧客に最も影響を与え、そのトランザクションが
どこで最も時間を消費しているかを理解することができる
Elastic APM における顧客サービスの GET オーナー操作の分散トレース
機械学習で異常を⾃動検知 (Anomaly Detection)
• Elastic の組み込み機械学習機能により、
Azure Spring Apps のデータから新しい分析
情報を抽出することは、ボタンをクリックすると同じ
くらい簡単に機械学習を実⽤化できる
• Elastic Stack によってデータが取り込まれる際
に処理が⾏われるため、根本的な原因を特定し
たり、あらゆるイベントにコンテキストを追加するた
めに必要なメタデータを確実に取得できる。データ
ビジュアライザー等の組み込みツールにより、ジョブ
を⾒つけたり、データの中から機械学習と相性の
良いフィールドを特定したりできる
• Elastic Observability の豊富なアラート機能
と異常検知機能により、ログと APM データから
実⽤的な分析情報を導き出すことができる。
たとえば、Azure Spring Apps 内のアプリ
ケーションの応答時間における不規則なログ
速度や異常な動作を発⾒できる
Anomaly Explorer
同じログを使⽤してクラウド スケールで脅威を阻⽌する
• Elastic は共通のスキーマと単⼀のリポジトリを提供しているため、Spring アプリケーションやその他のデータ
セットから得られる同じ監視データを拡張検知および応答 (XDR) に使⽤することもでき、検知までの平均
時間をゼロに向けて加速できる
• Elastic Security によってセキュリティ情報およびイベント管理 (SIEM) とエンドポイント セキュリティが統合
されるため、組織は多様なソースからの⼤量のデータの取り込みと保持、より⻑い期間のデータ保存と検索、
検知と機械学習による脅威ハンティングの強化が可能になる
まとめ
• あらゆる種類のテレメトリーデータに対応する
シングルエージェント
• 全エージェントを対象とした集中管理および
ポリシー設定
• OpenTelemetry のサポート
• 豊富な可視化機能とデータ探索機能により、
すぐに使える分析、その場限りの分析が可能
Elastic の特⻑
サービスとしての
Observability︖
マネージドクラウドサービス
です。
https://cloud.elastic.co/registration
Elastic Cloud を
使って戴く理由
クラウドサービスユーザー
にとって負担の少ない
Elastic オンボーディング
● クラウドサービス事業者の
Marketplace から発⾒可能
● インジェストインフラの管理は
不要
❏ AWS: Serverless
Application Repository
(SAR)/AWS Cloud
Watch ログ⼊⼒対応
❏ AWS S3 Storage Lens
統合、他
❏ Google Cloud:
PubSub/DataFlow/
BigQuery/Firebase 他
Azure: Portal 統合/
SSO/VM extensions/
Spring Cloud 統合、他
リソース
• GitHub で MS Learn モジュールまたはマイペースで進められるワークショップを使⽤する⽅法について確認する
• Azure Spring Apps でソリューションを実装する⽅法についての詳細情報
• Spring Petclinic アプリケーションの頒布バージョンのデプロイ
• 企業のベスト プラクティスを活⽤した Spring Boot アプリケーションのデプロイ
- Azure Spring Apps 参照アーキテクチャ
• Spring Boot、Spring Cloud、Tomcat アプリケーションを Azure Spring Apps に移⾏する
• Azure サービスと連携するための Spring アプリケーションの接続
• Elastic APM Java エージェントで Spring Boot アプリを監視する⽅法
• 診断設定を使⽤して Elastic (ELK) でログを分析する
• Azure-Samples/spring-petclinic-microservices
• Elastic on Azureのデプロイと管理⽅法
IT Media Cloud Native Week 2022 Summer
2022/6/22
https://enq.itmedia.co.jp/on24u/form/cnw2206?partnerref=itm_atit_ev#keynote2
Elastic 最新バージョンを使って Web・モバイルアプリ開発をしてみよう︕
Elastic 8.x を使った Web・モバイルアプリ開発について、各種パブリッククラウドと連携したデモを交えて、ご紹介していきます。
Thank you for your attention!

Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for Spring Boot Applications.pdf