ニュース

Elastic APM、無料かつオープンなアプリケーションパフォーマンス監視

アプリケーションパフォーマンス監視(APM)は一元的なオブザーバビリティ戦略の一環であり、決定的な要素です。APMはアプリケーションのパフォーマンスと挙動について深いインサイトを提供し、高パフォーマンス、高品質のデジタルエクスペリエンスを顧客に提供しようとする企業各社に活用されています。APMは、組織のアプリケーションのヘルスに対する予防的で継続的な監視と、問題のトラブルシューティングの双方に役立ちます。

Elastic Stackで構築された無料かつオープンなAPMプロダクト、Elastic APMは、Elasticオブザーバビリティソリューションを構成する主要プロダクトの1つです。Elastic Logs、Elastic Metrics、Elastic Uptimeプロダクトと組み合わせて使うと、組織のアプリケーションに対して一元的な可視性を確立でき、顧客に影響が及ぶ前に、問題をすばやく検知、調査、解決する手助けとなります。

多機能でパワフル

ソフトウェアサービスとアプリケーションのリアルタイム監視を支援するElastic APMを使うことで、パフォーマンスの問題のすばやい検知と解決が手軽なものになります。Elastic APMはJava、.NET、Go、Node.js、Python、Rubyの言語サポートをはじめ、広範に対応するフルスタック仕様を備えています。またReactやAngularフレームワークなどのクライアントサイドJavaScriptテクノロジーもサポートし、すべてのユーザーについてリアルユーザー監視(RUM)を実行できます。この他にもElasticは継続して、新たに登場するフルスタックテクノロジーへのサポートを追加しています。このように設定不要で各種テクノロジーをサポートする仕様のほか、Elastic APMはユーザー独自のサポート開発に対してもオープンです。ユーザーは、付加的なフルスタックテクノロジーをサポートするオープンソースコミュニティと連携することも可能です。 

分散トレーシングをはじめとする各種機能を使ってマイクロサービスや分散アーキテクチャーに潜むエラーをピンポイントで特定したり、OpenTracing等のオープンスタンダード向けサポートを活用して、既存のOpenTracingインストルメンテーションをElastic APMにスムーズに移行させたりすることができます。  


“無料かつオープン”をすべての人に、あらゆる規模で 

Elasticは設立以来、“ストレスフリーな立ち上げエクスペリエンス”をコミュニティに届けることに注力してきました。小さな非営利団体の開発者も、アイデアから運用フェーズまで簡単に到達できる。それこそ、あるべき姿です。Elasticが障壁を取り除くたび、誰かが魔法を使います。“無料かつオープン”はElasticの約束の重要な一部であり、その哲学はElastic APMにも継承されています。 

“無料かつオープン”は、導入時だけの話ではありません。Elastic APMは使用量に応じてスケールし、無料プランでもアプリやエージェント、時間に対する専制的な制限は一切ありません。監視するのにどちらのアプリの方が重要か選ぶよう、ユーザーが迫られることがあってはならない、とElasticは考えます。無料で使いはじめて、無料でスケールできる。それがElasticの提案です。 

さらにElasticは、一部のエンタープライズが運用効率化のために選ぶデプロイの選択肢として、高度なセキュリティや機械学習の有償機能オプションも提供しています。“ユーザー第一主義”の料金体系については後述のセクションをご覧ください。 

オープンスタンダード

Elasticは、オープンスタンダードの力を信じています。アプリケーションのインストルメンテーションは非常に手間がかかることがあり、それは、APMにベンダーロックインが生じる主な理由でもあります。Elastic APMはトレーシングや、他のタイプのAPMインストルメンテーションの導入、ベンダーを横断するインストルメンテーションの再利用に使われるオープンスタンダードをサポートします。ElasticはOpenTracingW3C Trace ContextJaegerといった評価の高い各種オープンスタンダードをサポートするほか、進化を続けるOpenTelemetryのワーキンググループにも積極的に参加しています。 

オープンなデータモデル 

Elastic Stackはどのような追加情報も、“新しいインデックス”として扱います。拡張可能なコミュニティ主導のデータモデル、Elastic Common Schema(ECS)のスキーマ前提条件は、Elasticのドキュメントに明記されています。これはユーザーが、決してロックインに陥らないことを意味します。組織のワークフローに応じて何かの動作を変更したい場合、簡単に変更できます。インデックスを追加してビジネスデータを入れたい場合も、自由に追加でき、組み合わせることも可能です。 

ECSを採用しているおかげで、Elastic Stackは出所を問わずデータを扱うことができます。ElasticはECSへのオープンなアクセスの確立と、ECSに多様なデータ検索・分析をうまく適用して問題解決に導くことに力を注いでいます。同様にElasticは、ユーザーによるデータ取得レートに一切の制約を設けません。データはユーザーのものであり、決定権はユーザーにあるからです。

オープンなコミュニティ

開発者も運用担当者も、独立性に価値を見出します。問題が起きると、人は「問題を解決して次に進もう」と考えます ― 「ベンダーの応答を待ちたい」とは考えません。オープンかつ拡張可能な設計で構築されたソフトウェアを採用すれば、前者のスタンスに立つことができます。活発で協力的なコミュニティにも同様の価値があります。経験の浅いユーザーも、複雑な問題に挑んでいるベテランユーザーも、質問すればコミュニティが答えてくれます。さらに、Elastic APMの開発者たちはAPM forumとGitHubレポジトリでユーザーと直接対話もしています。 

オープンなロードマップ

Elasticのオープンな開発の実践がもたらすもう1つのパワフルな側面に、オープンなロードマップとイシュートラッカーがあります。開発チームが何を重視しているのか知りたいときや、性能強化の具体的なリクエストの進捗状況を確認したいときは、Githubの公開イシューで学んだり、トピックに賛成の票を入れたり、あるいは新しいトピックを作成したりできます。今後の方向性の設計も完全に公開されるほか、Elasticのエンジニアたちがコミュニティのアイデアをトリアージしたり、詳しく調査します。また、Elasticはコントリビューションも受け入れており、これも開発を前進させる1つの手段となっています。

必要に応じて選べる、フェアな料金体系

Elasticの提案は多岐にわたります。エージェントからアプリ、無制限データ、分散トレーシング、オープンコードなどなど…すべて永久に無料かつオープンなプランに含まれます。先ほども触れた通り、Elasticは高度なセキュリティ、一元的な管理者向けツール、機械学習など有償のオプション機能もいくつか提供しています。こうした機能はすべてのユーザーに必要なものではなく、Elastic APMを運用するエンタープライズで、有償機能が価値をもたらす状況にある場合に活用できます。 

apm-ml-integrations.gif

有償機能が必要な場合も、Elasticはユーザー第一主義に基づいてリソースベースの料金体系を採用しています。典型的なAPMベンダーは、エージェント数に応じて料金を請求しています。Elasticは長年にわたり、「APMの請求書が高額で、環境中のアプリケーションの10%しか監視できない」とこぼすユーザーの話を見聞きしてきました。  さらに、モノリスからマイクロサービス設計に移行するとエージェント数ベースの料金体系では法外な費用が生じることから、モダンでスケーラブルなソフトウェア開発を導入する障壁となっているケースも少なくありません。

これとは対照的に、Elasticが採用するリソースベースの料金体系では、エージェント数に応じて請求が発生することはありません。料金は、APM分析をサポートするリソースの使用量で決まります。だからモノリスをマイクロサービスに分割しても、まったく問題ありません。アプリケーションクラス別にきめ細かなデータ保持ポリシーを設定してコストの抑制を図ることも、もちろん可能です。予算は超過せずにすべてのアプリケーションをAPMでカバーしたい場合も、Elastic APMなら可能です。 

ユーザーの証言から

まだ導入されていない方は、「Elasticの記事だし、自社製品のいい部分を大げさに書いてるだけなんじゃ…?」とお感じかもしれません。世界中の大企業から小規模事業者まで、多くのユーザーがElastic APMを導入しています。 

ヘルスケア大手でユナイテッドヘルスグループ傘下のOptumも、Elastic APMのエクスペリエンスについて語っています(ミネアポリスで開催されたElastic{ON}ツアーより)。Optumは以前、健康状態に関する記録を医師や患者に使えるようにしたい、というリクエストへの対応に苦戦していました。そこでElasticsearchを導入して検索の課題を解決した後、さらにElastic APMを用いてアプリケーションのパフォーマンスに関する有用なインサイトの取得と、レスポンスタイムの向上を試みました。その結果、Elastic APMをデプロイして1か月もたたないうちにAPIコードに潜む重大な難点を特定し、最大同時接続ユーザー数を2,000人から8,000人に増やすことに成功したのです。 

Picture1.png

実際に、お試しください

Elastic APMは無料でダウンロードして実行することも、最新リリースを搭載するElastic Cloudの14日間無料トライアルで立ち上げることもできます。詳しい手順については導入ガイドをご参照いただけるほか、無料のオブザーバビリティの基礎コースを受講いただけます。 

またディスカッションフォーラムGitHubで、熱気あふれるElastic APMのユーザーコミュニティにご参加ください。