eBook

クラウド移行モニタリングへの必須ガイド

クラウド移行における初期段階でのインストゥルメンテーション*の重要性と、その適正な実施に関するベストプラクティス (*対象内部の状態を数値情報などで可視化すること)

Table of contents

はじめに

今日の企業は猛烈な速さでクラウドへの移行を進めていますが、実際にクラウド環境でアプリケーションやインフラのモニタリングを開始できるようになるまでの待ち時間は往々にして長すぎる傾向にあります。クラウドを導入するためのあらゆる段階において、インストゥルメンテーションは必要不可欠です。

主要クラウドベンダーは通常、クラウドへの移行を 3 フェーズに分けています。計画、移行、および実行です。しかし、各段階でモニタリングが担うべき重要な役割についてはあまり強調されません。これは致命的です。なぜならば、アプリがクラウド環境で稼働し始めた(「実行」フェーズ)後のモニタリングの重要性はよく認識されていますが、初期の計画および移行段階でのアプリケーションとインフラのインストゥルメントとモニターも同じくらい重要だからです。

この電子書籍では、クラウドへの移行プロセスの概要を説明し、効果的に計画を立ててワークロードをクラウドに移動するためのベストプラクティスをご紹介します。

まず、次の 3 つの重要な質問に答えましょう

単一のアプリケーションをクラウドに移行する前に、オンプレミス環境の現在の負荷状況を把握するため、モニタリングを行う必要があります。つまり、作業を開始する前に作業内容を把握する必要があるということです。このようにベースライン(基準)を確立しておくことは、移行中のアプリケーションの稼働状態を把握・維持するための基本であり、あなたのクラウド戦略に基づくビジネス事例を実証するうえで非常に重要です。あまりにも多くの組織が本番環境にワークロードを移動した後にクラウドプロバイダーに問い合わせを行っており、結局はメリットを完全に評価できていないことに気付かされることになります。なぜならば、このような組織は移行開始前にベースラインパフォーマンスを定められなかったからです。

また、万が一移行中に問題が発生した場合でも、モニタリングによって問題の根本的原因を迅速に突き止め、解決することができます。そしてこれが、問題の原因となっているのがアプリなのかクラウドなのかを把握するための唯一の手段となります。

つまり、インストゥルメンテーション、評価、モニタリングは、 ダイナミッククラウドを目指す際の 3 つの重要な質問に回答するために必要不可欠なものです。

  1. ベースラインの設定: 移行中にパフォーマンスに影響か出たかどうかを把握するため、どのようにアプリケーションのベースラインを設定すべきか?
  2. ビジネス的価値:クラウド移行における時間とリソースの投資を正当化するビジネス上のメリットを達成したかどうかをどのように把握できるのか(つまり、クラウドビジネスの事例をどのように開発すべきか)?
  3. インストゥルメンテーション: システムや顧客向けに機能を強化するための安全かつ包括的な移行を確実に実行するにはどうすればいいか?

チャプター1:クラウドへの移行計画

クラウドへの移行を実際に開始する前に、移行を成功させるため、アプリケーションの大部分がまだオンプレミス環境にある状態で作業を適切に計画して優先付けを行うことが重要です。クラウドへの移行計画段階では、発生しうる障害を予測する必要があります。技術的な課題には、レイテンシ、クラウドのセキュリティ、ロールベースのセキュアなアクセス、カスタムのネットワーク設定、スループット、パフォーマンスの問題などが挙げられます。このような潜在的な危険因子を早めに解消しておくことで、時間もお金も節約することができます。また、過度のストレスを回避することもできます。

組織全体の優先度に合わせて、クラウドに移行するワークロードは何か、クラウドに移行するのが最適な既存のワークロードはどれか、及び適切なクラウドサービスとの組み合わせをどう確認するのかについて、評価する必要があります。

このプロセスでは、ワークロードとそれを実行している(物理および仮想)サーバー、使用しているストレージデバイスとデータベース、リソースのパターン、ネットワークやコンポーネント、およびこれらすべての要素の相互関係と依存関係を明確化する必要があります。

また、この計画段階は現在および移行後の所有コストと運用コストを計算する時期でもあります。総所有コスト(TCO)分析では、給与以外のキャッシュフローや、コンピュートパワー、ストレージ、ソフトウェア(オペレーティングシステム、仮想化ソリューション、コントローラーなど)、ベンダー製ソフトウェア、人的リソースを含む包括的な運用費の分析結果に注目する必要があります。包括的な分析結果から、従来型のオンプレミスモデルと比較し、SaaS モデルがもたらす莫大な経済的恩恵を明確に把握することができます。

どのアプリケーションを移行すべきか?

New Relic では、多くのクラウドプロジェクトが単純なリフト&シフト方式の運用(新しいクラウド環境への既存アプリケーションの単純な移植)以上のことを行っていることに気が付きました。それよりもむしろ、そのようなプロジェクトにはクラウドネイティブな機能を利用した 純粋に新しい開発作業も含まれているのです。アプリケーションの再プラットフォーム化プロセスの中で、多くの企業がアプリケーションのコアアーキテクチャを変更することなく目的としている具体的なメリットを獲得するため、何らかのクラウド最適化を実施することにしています。

一方で、顧客とのサービス品質保証契約(SLA)に対し、許容範囲のパフォーマンスを繰り返す様なアプリケーションは「グリーンアプリ」と呼ばれることもあります。これらのアプリは往々にして、クラウドへの適切な移行候補となるからです。

New Relic は、クラウドへの移行にゴーサイン(グリーンライト、青信号)を出すアプリケーションを判断するのに役立つ SLA コンプライアンスを定義、評価、レポートするための幅広い機能を提供しています。

New Relic の SLA レポートは時系列でアプリケーションのダウンタイムと傾向を示すため、アプリケーションのパフォーマンスをより詳細に把握するのに役立ちます。
New Relic の SLA レポートは時系列でアプリケーションのダウンタイムと傾向を示すため、アプリケーションのパフォーマンスをより詳細に把握するのに役立ちます。

その他の適切なクラウドへの移行候補には、スループットの変動が激しいアプリケーションも含まれます。たとえば、量的な季節変動が大きいアプリケーションは、クラウドによってもたらされる弾力性の高いコンピュートリソースによる恩恵を受けることができます。

スループットの変動があるアプリケーションについては、否定的な影響を及ぼさないかどうかを判断するため、さらなる調査が必要になる場合もあります。
スループットの変動があるアプリケーションについては、否定的な影響を及ぼさないかどうかを判断するため、さらなる調査が必要になる場合もあります。

これらを考慮に入れておくことで(また、New Relic から提供されるパフォーマンスデータとスループットデータを用いることで)、どのアプリケーションが現在の形式でクラウドに移行するのに適した候補なのかを判断することができます。クラウドへの移行に際してアプリケーションを「凍結」させる必要はありません。それらのアプリケーションはクラウド環境に移行した後も、引き続きリファクタリングや変更を行うことができます。

パフォーマンスの低いアプリケーションを移行すると、新たな変動要素が生まれることになります。これによって、将来的に問題が発生した場合、その原因が新しいクラウドのアーキテクチャなのか、アプリケーション自身なのかを判断するのが困難になる可能性があります。これらのアプリケーションに対してリファクタリングやリアーキテクトを行うのはコストがかかり、煩わしいかもしれません。しかし、それが製品市場に適合するために必要なことであれば、問題のアプリケーションを柔軟性に欠けるアーキテクチャからクラウドのサービス志向型アーキテクチャに移行することで莫大なメリットを得ることができます。

移行前のパフォーマンスベースラインを確立しましょう

クラウドへ移行する際、New Relic は可視性を届ける輸送手段にも、制御用の錨にもなります。変更対象がインフラ、プラットフォーム、アプリケーションのどれであっても、カスタマーエクスペリエンスを損なわず、理想的にはそれらを改善することを目標とすべきです。

「当社は New Relic を使用して AWS への移行をモニターする予定です。また、当社が現在使用しているベンチマークでも同等の品質水準が維持できることを確認しています。そのため、迅速に安心してクラウド環境でのビルドを実施できることでしょう。」—Adam Gelinas、顧問ソフトウェアエンジニア、Constant Contact 社

パフォーマンスのベースラインを記録するところから始めまょう。New Relic APMを使用し、ページロード時間、エラー率、スロートランザクション、アプリを実行中のサーバーといったアプリケーションのパフォーマンス傾向を確認してください。 Apdex スコアを分析し、大部分のユーザーがアプリに満足しているのか、許容しているのか、不満を感じているのかを調査しましょう。

New Relic の Apdex 概要画面では、ユーザーによるアプリケーションの受入れ状況が表示されます。
New Relic の Apdex 概要画面では、ユーザーによるアプリケーションの受入れ状況が表示されます。

また、ウェブトランザクションのレスポンスタイムを参照し、最も遅いトランザクションから着手することもできます。ユーザーの満足度を評価するため、ウェブアプリケーションやサービスのレスポンスタイムを使用して Apdex を設定しましょう。レスポンスタイムは許容可能な値になっていますか?そうでなければ、トラブルシューティングと調整に着手しましょう。移行前、移行中、移行後のパフォーマンスを比較するため、パフォーマンスのベースラインを作りましょう。同様に、エラー率を測定し、移行後にエラー率が上昇したかどうかを確認できるようにしてください。

New Relic でウェブトランザクションのレスポンスタイムを表示
New Relic でウェブトランザクションのレスポンスタイムを表示

上級者向けのヒント: 普段計測している要素のベースラインを定めるだけで済まさないようにしてください。クラウドへの移行時には、ネットワークのレイテンシやロードバランシングなどの新たな変動要素が生まれる場合があります。アプリケーションの全部、または一部がオンプレミス環境にあったときには許容可能であったパフォーマンスやトランザクションの挙動であっても、クラウドへ移行した際にはパフォーマンスやコストの変化を引き起こす可能性があります。現在正常に機能しているメトリックであっても、クラウドへの移行によって影響を受ける可能性のあるあらゆるメトリックに対してベースラインを確立するようにしてください。

たいていの場合、システム面でも人的な面でも、過去の挙動は将来的なパフォーマンスを予見するのに非常に役立ちます。メトリックデータの挙動を予測するのに役立つ 3 つの要素を評価するために、そして、手作業でベースラインを把握することなく正常な状態を判断するために、数週間の履歴データを参照する必要があります。以下のすべての要素が、ベースラインの計算に関わってきます。

  1. 最近のデータ:どんな値を最近目にしたのか?
  2. 傾向:時間の経過とともにその値がどの方向へどのくらいの速度で変化したのか?
  3. 季節による変動:過去、同様の時期ではその値はどうだったか?

これらの 3 つの挙動に重みを付け、それらを組み合わせて利用することで、次のデータポイントを予測できるようになります。その予測に基づいて、期待値と実測値の違いに注目するダイナミックアラートの閾値を決めることができます。これこそが、New Relic のダイナミックベースラインアラートが目的としていることです。

「ワークロードをクラウドに移行して新しいアプリケーションを開発するため、Microsoft Azure と New Relic を組み合わせることで迅速かつ確実にデプロイを実施し、ビジネスに一貫した価値を提供できています。」 —Steve Novoselac、デジタル製品マネジメントディレクター、Trek Bicycle 社

チャプター2: ワークロードのクラウドへの移行

アプリケーションのベースラインを確立してクラウド移行計画の残作業を完了したら、移行フェーズに進むことができます。このフェーズでは、潜在的な問題と障害の特定やクラウドによる改善効果の検証に取り組み、パフォーマンスの受入テストに着手します。

クラウドへの移行を促す自動化処理の利用

クラウドの俊敏性を活かすうえで、自動化は重要です。その第一歩は、全体的な移行を管理し、適切なコミュニケーションと変更手続きの遵守を徹底させる役割を担うチームの一部である、 プログラムマネジメントオフィス(PMO)を設置することです。クラウド戦略、ガバナンス、その他の組織向けのベストプラクティスの開発と管理を担当する部門横断チームである Cloud Center of Excellence (CCoE) は PMO と連携しながらモデルおよび技術アドバイザーの役割を果たし、移行プロジェクトの確実な成功を支援します。

クラウドへのアプローチは包括的でなければなりません。つまり、社内プロセスを管理し、組織の重要なクラウド移行を支援する必要があります。また、可能ならば Amazon Relational Database Service (RDS)AWS Directory Service のようなクラウドサービスなど、マネージドサービスを活用すべきです。日常的な保守作業はこれらのサービスが管理しますので、エンジニアリングチームや運用チームをイノベーションやカスタマーエクスペリエンスの向上に注力させることができます。

クラウド移行のビジネス的価値を評価する

クラウドの導入と移行を行う際のパートナーとして New Relic を活用するメリットの一つには、アプリケーションの実行環境がオンプレミスでもクラウドであっても同じようにプラットフォームが機能することが挙げられます。New Relic はクラウドネイティブですので、モニタリングソリューションの管理を気にすることなくアプリケーションをスケールでき、また改善もできます。

一部のオンプレミス型 APM ソリューションとは異なり、New Relic はクラウドアプリケーションやコンポーネントを安全にモニターできます。このような柔軟性のおかげで、移行前、移行中、移行後の状態を同一条件で簡単に比較できます。移行中には、 New Relic APM を使用してアプリケーションコード、データベース、外部サービスのパフォーマンスを計画フェーズで確立した移行前のベースラインと比較できます。上記の準備作業すべての成果を以下に示します。これは、皆さんが求めている同一条件での比較結果です。

移行前のフィジビリティ(実現の可能性)やベンチマークから、あなたの行動を測定可能な価値やビジネスインパクトと結びつけて確認できます
移行前のフィジビリティ(実現の可能性)やベンチマークから、あなたの行動を測定可能な価値やビジネスインパクトと結びつけて確認できます

移行完了後、New Relic APM を使用して最適化を実施できます。

移行後のパフォーマンスを Apdex スコアとアプリケーションのアクティビティによって可視化し、最適化できます。
移行後のパフォーマンスを Apdex スコアとアプリケーションのアクティビティによって可視化し、最適化できます。

ビジネスによって最も重要な要素を常にテストしましょう

パフォーマンスを調査する際に、サーバーに ping を飛ばすだけでは不十分です。ウェブアプリケーションの一部のトランザクション(購入の確定や検索など)は、ビジネスにとって他のトランザクションよりも重要なものです。New Relic Synthetics は、アプリケーションのこれらキートランザクションに焦点を合わせたスクリプトを作成し、移行中のアプリのレスポンスタイム、コール数、エラー率などのパフォーマンスを計測するのに役立ちます。Synthetics はエージェントレスであるため、特定のウェブアプリケーションへのモニタリングエージェントをインストールする際、しばしば起こりうる周囲への影響を取り除くことができるため、調達や導入に関する悩みを減らすことができます。(もちろん、クラウド内でのアプリケーションとインフラのパフォーマンスを正確に把握するには、Synthetic モニタリング以上のことが必要になります。)また、ユーザーのワークフローをシミュレートし、キートランザクションのパフォーマンスが低下したときのアラート通知条件を設定できます。

New Relic Synthetics によるチェック結果を、能動的にモニターしましょう。
New Relic Synthetics によるチェック結果を、能動的にモニターしましょう。

受入テストを軽視しないでください!

アプリケーションをクラウドに移行すると予期しない変化が発生する可能性があるため、個々の変動要素を掘り下げ、アプリケーション全体のパフォーマンスをモニターする必要があります。アプリケーションがオンプレミスで稼働していた際に問題の無かった運用が、クラウドで稼働する際に予期しない問題を引き起こす場合があります。たとえば、データベースをクラウドに移行する場合、クエリは高速化するかもしれませんが、リクエストを処理するのに必要なネットワーク時間が増える可能性があります。データベースで頻繁にトランザクションが発生している場合、全体的なエンドユーザー側の消費時間は爆発的に増大します。同様に、ネットワーク時間やアクセスごとの時間もクラウド環境のほうが、直接接続している場合よりも長くなる可能性があります。このような場合に、信頼できるベースラインが複数あれば、新たなパフォーマンス問題を正確に特定するのに役立ちます。

New Relic を使用し、データベースのパフォーマンスをベースラインと比較してください。
New Relic を使用し、データベースのパフォーマンスをベースラインと比較してください。

指定したワークロードを移行したら、次は以下の 4 つの質問に答えて、移行が成功したかどうかを確認してください。

  1. アプリケーション間のすべての関係や接続が、移行前後で変わっていないかどうか?
  2. すべての SLA が移行前と同等か、それ以上のレベルで満たされているか?
  3. すべてのセキュリティ要件とコンプライアンス要件が満たされているか?
  4. 主なリスクや脅威を考慮し、分析し、抑制し、管理しているか?

「移行の際、当社はパフォーマンスの劣化を引き起こしていた複数の例外的なケースを特定しました。New Relic を使用することで、根本原因を迅速に分析し、お客様が問題に気付く前にそれらに対処することができました。」 —Josh Koenig 氏(Pantheon 社、共同創立者兼製品責任者)

まとめ

New Relic をご利用のお客様には、クラウドへの移行を可能な限り高速かつシームレスに成功させるために、アプリケーションやインフラへの初期段階での徹底的なインストゥルメンテーションが必要だと理解して頂けたかと思います。クラウドへ正常に移行した後は、新たに移行したアプリケーションの接続、サービスレベル、セキュリティ、およびパフォーマンスに関する考慮事項を検証できるようになります。より高いレベルでは、アプリケーションのパフォーマンスを正確に把握し、提供しているデジタルカスタマーエクスペリエンスの品質を確認できるようになるため、適切なインストゥルメンテーションによって新しいクラウドサービスを迅速かつ確実に導入できるようになります。

クラウドへの移行は継続的なプロセスです。New Relic はパフォーマンスとコストのトレードオフを考慮し、ビジネスに対する賢明な意思決定を行えるよう、データ駆動型の情報を提供することで移行のあらゆるステップをサポートします。New Relic をクラウド移行の一環として導入することで、 さまざまな方法で組織の最終的な収益に大きな影響を与えることができます。

初期段階でのインストゥルメンテーションの有効性や、New Relic のクラウドへのワークロード移行手法については、New Relic の クラウド導入ソリューションのページをご覧ください。クラウド移行手続き全体におけるインストゥルメンテーションとモニタリングの役割については、クラウド移行時のインストゥルメンテーションと受入テストに関するガイドである「 念には念を」をご覧ください。

あなたのビジネスをより明確に把握

New Relic を使用して、顧客体験、アプリケーションパフォーマンス、およびダイナミックに変化するインフラストラクチャ全体までをエンドツーエンドで可視化しましょう

さらに詳しく
Back to top icon