ワークロードとは何ですか?
ワークロードとは、システムやアプリケーションが実行する一連のタスク、プロセス、またはジョブのことです。

ワークロードとは何ですか?
コンピューティングにおいて、ワークロードとは、システム、サービス、またはアプリケーションが実行するタスク、プロセス、またはジョブを指します。ワークロードは単なるアプリケーションにとどまらず、基礎となるインフラストラクチャに対するアクティビティや負荷を表します。.
このリソースの残りの部分では、ワークロードとアプリケーションの違い、一般的なワークロードの種類、および現代のIT環境におけるワークロードの管理、自動化、保護の方法について説明します。また、これらの概念を具体的にするために、現実世界の例も紹介します。詳細については、読み進めてください。.
ワークロードとアプリケーション
一見すると、ワークロードとアプリケーションは交換可能であるかのように思えるかもしれないが、システム設計においてはそれぞれ異なる目的を果たしている。アプリケーションとは、ウェブアプリ、モバイルアプリ、デスクトップソフトウェアを問わず、ソフトウェアそのものを指す。一方、ワークロードとは、中央処理装置(CPU)、メモリ、ディスク容量など、アプリケーションが基盤システムに対して要求するもののことである。.
考えて Eコマースアプリケーション. アプリのワークロードは、1分間に処理されるトランザクション(または注文)数、同時接続ユーザー数、および在庫更新を処理するバックエンドプロセスによって決まります。, ユーザーセッションあるいは レコメンデーションエンジン. そのアプリは概念的には静的だが、ワークロードは需要に応じて変動する。.
この違いを理解することは、システムを設計する上で極めて重要です。特に スケーラビリティ そして パフォーマンス. アプリケーションは特定の機能数で構築される場合がありますが、ユーザーアクティビティの増加、新機能のロールアウト、インフラストラクチャの進化に伴い、そのワークロードは変化します。.
ワークロードの種類
一般的な種類には、以下のようなものがあります:
1. トランザクショナルワークロード: 大量のデータを処理するシステムを指します 取引, データベースやオンライン決済プラットフォームなど。これらのワークロードは、低遅延要件と高い信頼性を特徴としています。.
2. バッチワークロード: これらのワークロードは、次のような一連のジョブを実行します。 バッチ処理された. データ分析パイプライン、夜間レポート作成、および抽出・変換・読み込み(ETL)ジョブは、バッチワークロードの好例です。.
3. インタラクティブワークロード: これらのワークロードには、Webアプリとモバイルアプリの両方におけるエンドユーザーとの対話など、リアルタイムのアクティビティが含まれます。これらはユーザーからの入力に対する迅速な応答時間を求められます。.
4. 計算負荷の高いワークロード: 機械学習モデルのトレーニング、動画レンダリング、シミュレーションなど、膨大な処理能力を必要とするアプリケーションを指します。.
5. データ集約型のワークロード: 大規模データベースや ビッグデータプラットフォーム.
ワークロードの例
- Eコマースウェブサイト このワークロードには、商品に対するユーザーリクエスト、在庫詳細を取得するためのデータベースクエリ、決済トランザクションの処理、および配送の更新が含まれます。.
- 機械学習モデルのトレーニング 集約的なCPUまたはGPU(グラフィックス処理装置)リソースを必要とする 大規模データセットでモデルを訓練する. これはしばしば、コンピュート集約型のワークロードに分類されます。.
- ストリーミングサービス: Netflixのようなプラットフォームは、以下のようなインタラクティブなワークロードを処理します。 ビデオがユーザーにオンデマンドでストリーミング配信されます. これは、大容量のマルチメディアファイルを保存するデータ集約型のバックエンドを含みます。.
- リアルタイム不正検知: 金融アプリケーションにおける一般的なユースケースとしては、次のようなものが挙げられます。 リアルタイムのトランザクションを分析して潜在的な不正を検知する – このストリーミングワークロードは、ピーク時には1秒間に数千件のトランザクションを処理します。.
ワークロード管理
ワークロード管理とは、CPU、メモリ、ストレージなどの利用可能なリソースシステム内でタスクを分散させ、効率的なパフォーマンスを確保することです。適切なワークロード管理は、アプリケーションが効率的かつ効果的に動作するために不可欠です。.
のようなツール OpenPBS そして Slurm これらは、異なるノード間でタスクをスケジュールしリソースを動的に割り当てるため、クラスター環境でのワークロード管理を可能にします。これらのツールは、優先度の高いジョブがリソースを受け取り、重要度の低いタスクはリソースが利用可能になるまで遅延またはキューイングされるようにワークロードをスケジュールすることで、ハードウェアリソースを最適化します。.
ワークロード自動化
スケーラブルなワークロード管理には自動化が不可欠です。ワークロード自動化とは、アプリケーションやシステム内のタスクのスケジュール設定、実行、管理を自動的に行うプロセスのことを指します。拡張性があるため、リソースの最適化をサポートし、手作業による労力を最小限に抑え、特に動的な環境において一貫したパフォーマンスを発揮します。.
ワークロード自動化の主要な概念
- タスクのスケジューリング OSレベルの自動化には、多くの場合タスクのスケジューリングが含まれます。特定時刻、イベント、システム閾値などのルールを用いて一度設定すれば、タスクを自動的に実行することができます。OSレベルの単純な自動化の例としては、LinuxのcronジョブやWindowsのタスクスケジューラが挙げられます。.
- リソーススケーリング: Kubernetesなどの自動化プラットフォームは、リアルタイムの需要に基づいてリソースを動的にスケーリングします。例えば、Webアプリケーションのユーザー数が急増した場合、Kubernetesは自動的に新しいインスタンス(コンテナ)を展開して負荷を平準化し、均等に分散させます。.
- エラー処理: 自動システムはタスクの失敗に対処できます。タスクが失敗すると、自動化ツールは再試行したり、エラーをログに記録したり、手動入力を促すアラートを発生させたりすることができます。これにより、ダウンタイムが最小限に抑えられ、システムが本来の動作を行っている間、処理が中断されずに継続されます。.
- 依存関係管理: ワークロード自動化により、どのタスクが何に依存しているかを指定できるため、プロセスが適切な順序で実行されることを保証できます。抽出、変換、ロード(ETL)の順序で実行しなければならないデータ処理パイプラインを考えてみてください。抽出は必ず変換とロードの前に実行されなければなりません。.
ワークロード自動化ツール
1. Kubernetes: コンテナ化されたワークロードを管理するための主要なプラットフォームであるKubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化します。コントローラーを使用してシステムの状態を監視し、需要に合わせてリソースを調整します。.
2. AWS (Amazon Web Services) Lambda サーバーレスプラットフォーム AWS Lambdaのように、サーバーのプロビジョニングや管理を行うことなく、イベントに応じたコードの実行を可能にします。この自動化モデルにより、ワークロードはユーザーのインタラクション、定期的なタスク、その他のトリガーに応じて、自動かつ効率的にスケーリングすることができます。.
3. Apache Airflow: Airflowは、ワークフローのプログラミングによる作成、スケジュール管理、および監視を行うための人気のオープンソースプラットフォームです。タスクを順番に、または特定の時間に実行する必要があるバッチワークフロー(データパイプラインやETLジョブなど)に特に役立ちます。.
4. Terraform: Terraformは、インフラストラクチャーをコード(IaC)としてプロビジョニングおよび管理することで、ワークロードを自動化できます。AWSやGoogle Cloudなどのプラットフォームと統合して、スケーリングポリシーの自動化、サーバーのプロビジョニング、複雑なインフラストラクチャーワークフローの管理を行うことができます。.
ワークロード保護
複雑さが増すにつれて、ワークロードはセキュリティ脅威に対してますます脆弱になっており、ワークロード保護が極めて重要となっています。ワークロード保護には、アプリケーション、そのデータ、およびそれらをサポートするインフラストラクチャの安全確保が含まれます。.
一般的な戦略としては、ゼロトラストセキュリティモデルの採用が含まれます。このモデルでは、ワークロードと対話するすべてのエンティティ(ユーザーであれアプリケーションであれ)が、リソースにアクセスする前に認証および認可されます。次のようなツールが AWS Shield 分散型サービス拒否(DDoS)攻撃からワークロードを保護するのに役立ちます。一方、Falconのようなコンテナセキュリティソリューションは、Kubernetesのワークロードを監視して異常を検知します。.
クラウドワークロードプロテクション(CWP)は、クラウドワークロードやコンテナを継続的に監視し、脅威を除去することです。CWPプラットフォーム(CWPP)は、あらゆる場所にあるあらゆるタイプのワークロードを保護するセキュリティソリューションであり、複数のプロバイダーにわたる統合されたクラウドワークロードプロテクションを提供します。クラウドプロバイダーは通常、保存時および転送時のデータ暗号化、アイデンティティおよびアクセス管理(IAM)、仮想プライベートクラウド(VPC)によるネットワーク分離などのネイティブなワークロード保護サービスを提供しています。.
主な要点とその他のリソース
- 作業量 アプリケーションがソフトウェアであるのに対し、システムにかかる負荷(要求)を指す。.
- ワークロードの種類: トランザクション型やインタラクティブなものから、バッチ処理、コンピュート集約型、データ集約型に及びます。それぞれのワークロードは、それに課される要求に応じて処理されるべきです。.
- 業務管理 ワークロードの効率的な管理は、多くの場合自動化されます。その目的は、システムの要求に基づいてリソースを活用することです。.
- ワークロードの保護: ワークロードに対する脅威からの保護は重要であり、クラウドネイティブツールやセキュリティモデルはこれに対処するのに役立ちます。.
ビジネスにおける大規模なアプリケーションの構築と管理を支援するため、関連するリソースもいくつかご紹介します。.
ご覧いただけます ブログ そして コンセプト・ハブ Couchbaseのワークロード関連の概念についてさらに詳しく学ぶために.