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