メインコンテンツへスキップ

ServerlessとPersistentサーバー

Leapcellは、多様なアプリケーションニーズに対応するため、**Serverless(従量課金)Persistent(時間課金)**の2つの主要なデプロイメントモードを提供しています。

ヒント

Leapcellでは、サービスはいつでもServerlessモードとPersistent Serverモードを切り替えることができます。特定のユースケースに最適なモードを選択できます。

それぞれの独自の特徴とトレードオフを理解することで、プロジェクトに最適なオプションを選択するのに役立ちます。

Serverless(従量課金)

Serverless Cost

Serverlessモードは、イベント駆動型のコンピューティングモデルであり、コードが実際に実行されている時間に対してのみ料金が発生します

リクエストを受信したときに課金が開始され、リクエストが完全に処理されると終了します。アプリケーションがトラフィックを処理していないアイドル時間には、コストは発生しません。

Serverless Active Time

自動スケーリング

プラットフォームは、トラフィック量に基づいてインスタンス数を自動的にスケールアップまたはスケールダウンします。

数千のインスタンスにスケールして、トラフィックの急増を簡単に処理できます。

Serverless Scaling
コールドスタート

サービスが一定期間(例えば30分)トラフィックを受信しない場合、そのインスタンスは休止状態になることがあります。新しいリクエストが到着すると、新しいインスタンスをプロビジョニングするために「コールドスタート」がトリガーされ、最大250msのレイテンシーが追加される可能性があります。安定したトラフィックがあるサービスでは、これが発生することはまれです。

Serverless Cold Start

Serverlessの利点と制限事項

主な利点

利点説明
費用対効果アイドルリソースの料金を排除し、変動または予測不可能なトラフィックパターンを持つアプリケーションに最適です。
自動スケーリングプラットフォームは、トラフィック量に基づいてインスタンス数を自動的にスケールアップまたはスケールダウンします。数千のインスタンスにスケールして、トラフィックの急増を簡単に処理できます。

考慮すべき制限事項

制限事項説明
HTTPの短期間のリクエストのみServerlessモデルは、短期間のHTTPリクエストに最適化されています。WebSockets、ロングポーリング、バックグラウンドジョブなどの長時間接続には適していません。
一時ファイルシステム/tmpディレクトリのみが書き込み可能です。ファイルシステムの他のすべてのパスは読み取り専用です。
リクエストタイムアウト1つのリクエストの最大実行時間は15分です。
CPUサスペンション(一時停止)アイドル期間中、インスタンスのCPUは一時停止されます。つまり、受信リクエストがない場合、バックグラウンドタスクを実行できません。

Persistentモード(時間課金)

Persistent Server

Persistentモードでは、ローカルマシンや従来のクラウドサーバーのように、専用の継続的に実行されるインスタンスが提供されます。

受信リクエスト量に関係なく、常にアクティブでトラフィックを処理できる状態を維持します。このモードは、1時間ごとまたは1ヶ月ごとなど、固定の時間間隔で課金されます。

主な利点:

機能説明
ユニット時間あたりの低価格固定課金モデルは、安定したワークロードを持つアプリケーションにとって、より費用対効果が高くなる可能性があります。詳細については、Leapcell Pricingをご覧ください。
コールドスタートなしインスタンスは常にアクティブであり、すべてのリクエストに対して可能な限り低いレイテンシーを保証します。
ファイルシステム/tmpディレクトリを超える書き込み可能なファイルシステムを提供し、ローカルファイルI/O、キャッシング、および状態管理を可能にします。
長時間実行タスクバックグラウンドジョブ、データ処理、または永続的な接続の維持(例:WebSockets)など、中断されることなく長期間実行する必要があるプロセスに最適です。

私のユースケースではServerlessとPersistentのどちらが良いですか?

ヒント

ほとんどのユースケースでは、優れた柔軟性とコスト効率のために、Serverlessモードから始めることをお勧めします。

Serverlessを使用する場合

Serverlessを使用する場合説明
ステートレスなHTTPまたはWebサービスアプリケーションの状態は、サービス自体ではなく、オブジェクトストレージまたはデータベースに保存する必要があります。
予測不可能な初期段階のトラフィックを持つサービス初期段階では、トラフィックが少ないか不確実な場合、Serverlessモデルが最も費用対効果の高い選択肢です。

Persistent Serverを使用する場合

Persistentモードは、次のシナリオで優れた選択肢となります。

Persistent Serverを使用する場合説明
高くて持続的なトラフィックサービスが一貫して高いトラフィックを処理する場合、Persistentインスタンスの時間あたりのコストは、頻繁なServerless呼び出しの累積コストよりも低くなる可能性があります。
長時間実行されるバックグラウンドジョブビデオエンコード、複雑なデータ分析、または機械学習モデルのトレーニングなど、15分の制限を超えるタスクの場合。
ローカルファイルシステムへの依存キャッシングや状態管理など、アプリケーションが/tmpを超える永続的なローカルストレージを必要とする場合。
超低レイテンシー要件わずかなコールドスタートからの最小限のレイテンシーさえ許容できないアプリケーションに最適です。
WebSocketsまたは長寿命の接続サービスがWebSocketsまたはその他の長寿命の接続を必要とする場合は、Persistent Serverを使用する必要があります。