デプロイタイプについて
サービスのデプロイタイプによって、パフォーマンス、メモリ使用量、ファイルまたはボリュームへのアクセスなど、サービスの機能に関するさまざまな側面が決まります。 Liferay Cloud はそのサービスに対して 2 つのデプロイメントタイプを提供します。 デプロイメント
と StatefulSet
です。
デプロイメントタイプの違い
Deployment タイプには次の機能があります:
- ネットワークファイルシステム(NFS)は、このサービスで利用可能なディレクトリにマウントされている
- ネットワーク識別子はランダムである(例:
liferay-89f9f559
、liferay-d1267401
) - デプロイとスケーリングは順不同
- 自動ローリング更新は順序付けされていない
一方、 StatefulSet タイプには次の機能があります:
- サービスには専用SSDが割り当てられる
- ネットワーク識別子が安定していてユニークである(例えば、
search-0
、search-1
) - デプロイとスケーリングが順序付けされている
- 自動ローリング更新が順序付けされている
以下は、 Deployment
と StatefulSet
タイプの間のいくつかの際立った特徴を要約しています:
種類 | 目的 | リソース使用量と起動時間 | ローカルボリューム専用のSSD | NFSへのアクセス | オーダードスタートアップ/スケーリング |
---|---|---|---|---|---|
デプロイ | NFSを使用したステートレスアプリケーション | 消費するリソースが少なく、 StatefulSet タイプより速く起動します |
X | ✓ | X |
ステートフルセット | ステートフルアプリケーション | より多くのリソースを消費し、 Deployment タイプよりも起動が遅くなります |
✓ | X | ✓ |
一般に、 Deployment
タイプはより軽量であり、より高速なデプロイメント、およびサービス間での共有ボリューム(ドキュメントライブラリなどの共有ファイル用)を可能にします。 StatefulSet
タイプは、デプロイメントとリソース使用量(プロジェクトに割り当てられたメモリとCPUの合計を含む)の方がコストがかかりますが、専用SSDを使用することにより、デプロイメントを通じてデータを保持し、ファイルアクセスパフォーマンスを向上させます。
共有ボリューム(NFS)とSSDストレージの比較
Network File System(NFS)は、すべての Deployment
タイプのサービスで利用できます。 NFSは、サービスが再デプロイされるか削除されるかに関わらず存続します。
NFSに格納されているボリュームは、すべての Deployment
タイプのサービスでも利用できます。 ドキュメントライブラリへのアクセスを共有するために、 Liferay
および Backup
サービスでは、NFSがそのまま使用されます。 NFS用のボリュームの設定の詳細は、 永続的なファイルシステムボリュームの設定 を参照してください。
StatefulSet
タイプのサービスには、代わりにすべてのボリュームストレージ専用のSSDがあります。 StatefulSet
タイプのサービスで使用できる専用SSDは、他のサービスからアクセスできません。 また、SSDに保存されたボリュームは、再デプロイ時やサービスの削除後も保持されます。 クラスター化された StatefulSet
サービスでは、各インスタンスは異なるボリュームを持ちます。
Liferay Cloudのサービス構成について
以下は、Liferay Cloud のサービスがすぐに使えるようにあらかじめ設定されていることの詳細です。
Liferay および Backup サービスは Deployment タイプを使用するため、NFSに保存されているドキュメントライブラリへのアクセスを共有できます。
Database および Web Server サービスも Deployment タイプを使用するため、軽量のままですばやく起動できます。
CI サービスは StatefulSet タイプを使用するため、専用SSDを使用することにより、ファイルアクセス速度が向上します。
Search サービスも StatefulSet タイプを使用するので、検索の速度が向上し、サービスが再起動してもSSDに保存されている検索インデックスが失われません。
デプロイメントの種類の設定
Liferay Cloudのサービスは、デフォルトで、大半のユースケースに適合するようにあらかじめ設定されています。 ただし、各サービスのデプロイメントの種類は、サービスの LCP.json
の kind
変数を介して設定できます。
{
"id": "search",
"kind": "StatefulSet"
}
Liferay Cloud のサービスのデプロイメントタイプは、データの損失やパフォーマンスに影響を与える可能性があるため、慎重に変更する必要があります。