サーバーレスとは?
サーバーレスは、クラウド事業者がサーバーを管理し、実行リソースを用意するアプリケーションの構築・実行方式です。開発チームはサーバーの設置や保守の代わりに、コード、サービスの設定、ビジネスロジックに集中します。
サーバーは依然として存在しますが、事業者が運用します。一般的な方式では、リクエストやイベントによって呼び出されるコードである関数を使います。事業者は関数以外にも、サーバーレスモデルに従うデータベースやストレージのサービスを提供しています。
サーバーレスは、クラウド事業者がサーバーを管理し、実行リソースを用意するアプリケーションの構築・実行方式です。開発チームはサーバーの設置や保守の代わりに、コード、サービスの設定、ビジネスロジックに集中します。
サーバーは依然として存在しますが、事業者が運用します。一般的な方式では、リクエストやイベントによって呼び出されるコードである関数を使います。事業者は関数以外にも、サーバーレスモデルに従うデータベースやストレージのサービスを提供しています。
ユーザーがストレージに画像をアップロードすると、画像作成イベントが関数を起動します。関数は元の画像を読み取り、縮小版を作成して、結果を別の場所に保存します。処理が終わると、アプリケーションがサムネイルを表示します。
多くのユーザーが同時に画像をアップロードすると、実行基盤は設定された制限内で、より多くの関数を並行して実行できます。開発チームがアップロードの急増のたびにサーバーを追加で起動する必要はありません。
イベントが再配信された場合、関数は重複した結果を作らずに処理する必要があります。たとえば、元の画像ごとに一意の識別子を付け、そのサムネイルは常に対応する同じ場所へ書き込みます。これが冪等性です。同じリクエストを繰り返しても、業務上の結果は変わりません。
サーバーレス関数は、画像処理、他システムからの通知、定期実行ジョブ、トラフィックが変動するAPIに適しています。長時間連続で動かす必要がある処理や、応答時間に非常に高い安定性が求められる処理では、利点と欠点を慎重に検討してください。制限や料金は選ぶサービスによって異なります。
ジュニアからシニアまで、詳細な回答付きのIT面接質問ライブラリ。
寄付する