SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

SpringOne Essentialsで紹介されたSpringアプリケーション最新情報~Spring Framework 6.0、GraalVMなど

  • X ポスト
  • このエントリーをはてなブックマークに追加

Observability of Your Application

 VMware(Spring Observability Team)のJonatan Ivanov氏、Tommy Ludwig氏、Marcin Grzejszczak氏による本セッションではSpringアプリケーションのオブザーバビリティについて紹介されました。なお、昨年度のSpringOneでもオブザーバビリティに関する同様のセッションがありました。昨今注目を浴びているオブザーバビリティですが、Springにおいても重要なトピックであることが窺い知れます。

 オブザーバビリティとは、システムが出力する情報からその内部の状態を推測する能力のことです。これが保たれると、システムのあるべき状態と現状とのギャップ(問題)が捉えやすくなります。このオブザーバビリティを支える要素が、メトリクス、トレース、ログの3種のデータです。本セッションの前半に行われたデモでは、この3種のデータを駆使することで、アプリケーションのバグやレイテンシの問題を特定する様子が見られました。この一連の解析をアシストしたのが、オブザーバビリティ機能です。本機能によって3種のデータが相互に関連付けされ、不具合事象の洞察を引き出したのです。

 Spring Framework 6のオブザーバビリティ機能は、Micrometerに依存する形で提供されています。Spring MVCやSpring WebFluxなどのモジュールがMicrometerへデータを提供するAPIを内包しているのです。本セッションの後半では、このMicrometer 1.9.0と1.10.0の新機能について解説されました。以下に要点を示します。

  • Micrometer 1.9.0
    • OpenTelemetry Protocol(OTLP)をサポート。OpenTelemetryのフォーマットでメトリクスを扱える。
    • HighCardinalityTagsDetectorを提供。パフォーマンスに悪影響を与える可能性のある、カーディナリティの高いタグを検出する検出する機能。
    • Exemplarsをサポート。メトリクスに付加できるメタデータの一種で、これを活用することでメトリクスからトレースに飛ぶことができる。現時点ではPrometheusデータソースのみで利用可能。
  • Micrometer 1.10.0
    • Micrometer Tracingによるトレーシング機能を提供。Spring Cloud Sleuthの後継プロジェクトという位置づけで、Micrometer側でリパッケージ。
    • Observation APIをサポート。これを用いることでメトリクス、トレース、ログなどが同時に計測できる。ObservationHandlerにてインスツルメンテーションのロジックを定義し、それらをObservationRegistryにアタッチして計測を行う。カーディナリティの高いタグや低いタグの明示的な指定もできる。また、@Observedアノテーションによる計測も可能。
    • その他、ドキュメント生成を支援するMicrometer Docs Generatorやトレースコンテキストの伝播を支援するMicrometer Context Propagationについても言及。
Micrometer 1.10.0の新機能
Micrometer 1.10.0の新機能

 複雑化するシステムを効率的・安定的に運用していくためには、オブザーバビリティの仕組みは不可欠となるでしょう。引き続き、Springのオブザーバビリティ機能に注目していくと同時に、より広くオブザーバビリティの技術動向を追っていきたいと思わせる意義深いセッションでした。

What's on TAP? Refining Modern Spring Application Developer

 SpringOneでは例年アプリケーション関連のセッションに加えてプラットフォームに関するセッションが用意されています。SpringOne Essentialsも例に漏れず、VMwareの開発プラットフォームであるTanzu Application Platform(TAP)に関するセッションがありました。

 TAPについて語る上で、VMwareのCora Iberkleid氏はまずInternal Developer Platform(IDP)という概念を紹介しました。この十数年の間に、Infrastructure as Code、PaaS、Docker、Kubernetesの普及といった要因で、アプリケーションを動作させるためのプラットフォームに関する多くのことが容易に再現可能な形で自動化できるようになってきました。一方で、関心事が増加の一途をたどる現在のソフトウェア開発において、プラットフォームのすべてをアプリケーションエンジニアが把握し、正しく管理することは極めて困難です。

 究極的には、アプリケーションエンジニアがコードをリポジトリにプッシュするだけで、自律・自動的に信頼性、耐障害性、セキュリティ、スケーラビリティを備えた形でデプロイされるのが理想であり、さらにはデプロイ後の状態の観測、ドキュメント、依存性管理などのアプリケーションについてのあらゆる情報へ必要に応じて簡単にアクセスできるようになっていることが望ましいです。IDPとはこの理想を実現するために種々のツールを統合したプラットフォームを指し、TAPもKubernetesやBackstage等を統合したIDPであると言えます。

 Ryan Baxter氏によるデモでは、IDE上からTAPの強力な機能の一つであるTanzu Application Acceleratorを使用したテンプレートから、シンプルなSpringアプリケーションを実装した後、Kubernetes上にデプロイする様子が披露されました。テンプレートに従うことでデプロイに至る過程についての複雑な設定は必要なく、かつすべての操作がIDE上で完結しており、TAPの開発者フレンドリさを感じました。

自組織のポリシを設定した独自のテンプレートを配布することもできると語るGreg Meyer氏
自組織のポリシを設定した独自のテンプレートを配布することもできると語るGreg Meyer氏

 続くGreg Meyer氏の話の中ではこの他、セキュリティスキャンの結果やリソースの消費状況、APIの一覧などアプリケーションの情報が一元的に取得できる様子が紹介され、全体を通して開発者プラットフォームの進歩が感じられるセッションとなっていました。

次のページ
Azure Spring Apps: The Easy Way to Run Your Apps

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

SpringOne Essentials 参加チーム(SpringOne Essentials サンカチーム)

NTTソフトウェアイノベーションセンタ:岩塚 卓弥、水野 諭孝 NTTデータ:小峰 規行、高橋 寛恒 NTTコムウェア:杉本 真梨、宮嶋 健太

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17468 2023/03/16 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング