IBM Cloud Blog
チュートリアル: サーバーレスのWebアプリのトラフィック統計情報を収集し分析するには
2021年03月24日
カテゴリー IBM Cloud Blog | IBM Cloud News | IBM Cloud アップデート情報 | IBM Cloud チュートリアル
記事をシェアする:
この投稿は、2021年3月11日に、米国 IBM Cloud Blog に掲載されたブログ(英語)の抄訳です。
GitHubのトラフィック分析にIBM Cloud Code Engineを活用する方法
数年前に、IBM Cloud Foundry と IBM Cloud Functions をベースにした GitHub トラフィック分析のための IBM Cloud ソリューション・チュートリアルを紹介しました(参考:英文ブログ)。トラフィック・データを収集するために毎日Cloud 機能のアクションがトリガーされ、データをDb2データベースに保存した後、IBM Cloud Foundryで提供されるPython Flaskアプリでデータを分析することができます。
今日でも、これと同じソリューション・シナリオとアプリは利用可能で(参照: ドキュメント)、IBM Cloud Code Engine (英文)によって提供されています。IBM Cloud Code Engineは、フル・マネージドのサーバーレスのプラットフォームで、Webアプリ、マイクロサービス、イベント・ドリブンな関数やバッチ・ジョブなど、コンテナ化されたワークロードを実行します(参照:ドキュメント)。もうひとつ、別のチュートリアル(英文) では、既存のアプリをコンテナ化して、Webアプリとして提供すると同時に、毎日のデータ収集イベントの処理に使用する方法を示しています:
サーバーレス・アプリケーション
サーバーレス・コンピューティングとは、一般的なインフラ管理作業(スケーリング、スケジューリング、パッチ適用、プロビジョニングなど)をクラウド事業者やツールに任せることで、エンジニアがアプリケーションやプロセスに特化したビジネス・ロジックに時間と労力を集中させることができるコンピューティング手法です。また、IBM Cloud Code Engineが採用しているコンピューティング・モデルでもあります。そのため、チュートリアルで取り上げたソリューションのシナリオにもぴったり当てはまります。
ユーザーはWebアプリケーションにアクセスして、GitHubのトラフィック・データを見たり分析したりすることができます(上のアーキテクチャ図の[1]参照)。このアプリ自体は、 IBM Cloud App ID セキュリティー・サービスに依存してユーザーを認証します。また、トラフィック・データやその他のアプリ・データをIBM Db2 on Cloud データベースに保存します([2]参照)。さらに、このアプリは毎日([3]参照)、GitHubから新しいトラフィック・データを収集するために起動されます([4]参照)。Webアプリケーションが必要とされる頻度は低く、データ収集は1日1回なので、このソリューションは、サーバーレス・コンピューティング・モデルと、リソースの自動アップ・ダウン(オートスケーリング)のメリットを受けています。使用されていないときはコストがかかりません。
コンテナ化されたソリューション
このチュートリアルのコードは、GitHubのリポジトリーで公開されています(参照(英文))。このチュートリアルでは、アプリを含むCode Engineプロジェクトを設定します。GitHub 上のコードからコンテナ・イメージとしてビルドされるようにアプリを構成します。コンテナ・イメージは、IBM Cloud Container Registryに保存されます。そこからIBM Cloud Code Engineによって取得され、アプリのリビジョンのデプロイに使用されます。
わずかな手順で、すべてを設定し、アプリと必要なサービスをデプロイすることができます。デプロイが完了すると、トラフィック・データが毎日収集され、アプリ内でデータ・テーブルや以下のようなチャートを使って分析することができます:
まとめ
GitHub のトラフィック統計を分析するソリューションには、IBM Cloud Code Engineが適しています。トラフィック・データを毎日収集することが予定されており(イベンティング)、実際のWebアプリはあまり使用されません(サービング)ので、サーバーレスのコンピュート・モデルや、リソースの自動アップ・ダウン(オート・スケーリング)の恩恵を受けることができます。使用されていないときは、コストがかかりません。git リポジトリーから直接コンテナをデプロイすることで、簡単に使用することができます。
- IBM Cloud Code Engine(英文) (Knative、Istio、Tektonなどの技術をベース)のご利用を検討しましょう。
- Code Engineを活用したテキスト分析について学習しましょう。
- その他の IBM Cloud チュートリアル(英語)もぜひチェックしてください。
翻訳:IBM Cloud Blog Japan 編集部
*このブログは、2021/3/11に発行された“Tutorial: Serverless Web App and Eventing(英語版)”の抄訳です
ベータ版登場:第4世代インテル® Xeon® スケーラブル・プロセッサーをIBM CloudのVPC向け仮想サーバーに搭載
IBM Cloud Blog, IBM Cloud News, IBM Cloud チュートリアル
IBM Cloud VPC 内のインテル® Xeon テクノロジー方向付けを支援する専用アーリーアクセスにサインアップしてください。 第4世代インテル® Xeon® スケーラブル・プロセッサーを搭載したIBM Cloud ...続きを読む
第4世代インテル® Xeon® スケーラブル・プロセッサーをIBM Cloud ベアメタルサーバーで利用開始
IBM Cloud Blog, IBM Cloud News, IBM Cloud チュートリアル
インテルとIBM Cloudは企業がよりハイパフォーマンスな環境を運用できるよう共同支援しています。 本日、インテル®は第4世代インテル® Xeon® スケーラブル・プロセッサーを世界に発表し、IBMは同時にこれらの最新 ...続きを読む
今後の展望: IBM Cloud における第 4 世代インテル® Xeon® スケーラブル・プロセッサー
IBM Cloud Blog, IBM Cloud News, IBM Cloud チュートリアル
第4世代インテル® Xeon® スケーラブル・プロセッサーが、2023年のクラウド・コンピューティング・トレンドを実現可能とする要因はどこにあるのでしょうか? IBM Cloudを見てみましょう 本日、IBMはIntel ...続きを読む