最新のクラウドトレンド:サーバーレスについて優しく解説

サーバーレスとは?

サーバーレスは、最新のクラウドトレンドの一つとして注目を浴びています。では、サーバーレス(Serverless)とは一体何でしょうか?初めて聞く人には、まるでサーバーが存在しないように感じるかもしれません。Red Hatによれば、サーバーレスについて以下のように定義されています。

サーバーレス(serverless)とは、開発者がサーバーの管理を気にせずにアプリケーションを構築し、実行できるようにするクラウドネイティブな開発モデルです。

つまり、サーバーレスとは、サーバーを構築、運用、スケーリングする必要がなく、これらの作業がクラウドプラットフォームによって抽象化されることを意味します。開発者は、抽象化されたサーバーレスモデルを設定したり、ビジネス向けのコードを記述してデプロイするだけで済みます。一般的に、サーバーレスモデルはイベントに基づいてトリガーされ、オンデマンドで料金が発生します。そのため、サーバーレスサービスがアクティブでない場合、費用は請求されません。

PR

サーバーレスの哲学

2017年のAWS re:Inventで、アマゾンのCTOであるヴェルナー・フォーゲルス(Werner Vogels)は、将来的に書くすべてのコードはビジネスロジックであると述べました。つまり、開発者がサーバーの運用、管理、高可用性を維持するために時間を費やすことなく、ビジネスロジックを作成することに集中できる未来を意味します。そして、彼はサーバーレスに関する4つの重要な原則を紹介しました。

  1. サーバーの管理は不要であること。
  2. 柔軟にスケーラブルであること。
  3. 高可用性を維持すること。
  4. 使用しない容量に対しては支払わないこと。

彼はまた、良いビジネスケースの例も紹介しました。iRobotはロボットを販売する会社で、顧客は購入したロボットにのみ支払いを行うため、コスト最適化が非常に重要でした。iRobotは、すべてのクラウドアーキテクチャをサーバーレスのみを使用して設計しました。なぜなら、使用しないコストは請求されないためです。

本物のサーバーレス

個人的には、AzureやGCPだけでなく、さまざまなクラウドプラットフォームにもサーバーレスサービスが存在すると考えていますが、その中でもAWSはサーバーレスエコシステムのリーダーであると考えています。特に、2014年に初めてリリースされたLambdaは、サーバーレスアーキテクチャの中核であり、一流の位置を確立しました。それでは、本物のサーバーレスにはどのような要素が含まれるでしょうか?

サーバーレスへの入門時に最初に出会うサービスです。AWSでサービスを構築する場合、ほとんどの場合、使用するObjectベースのストレージであるS3もサーバーレスです。

以下は、本物のサーバーレスの一部を示したものです。

  • Lambda – コンピューティング
  • API Gateway – APIゲートウェイ
  • S3 – ストレージ
  • SQS – メッセージキュー
  • SNS – パブサブ
  • DynamoDB – NoSQL
  • Fargate – コンテナコンピューティング

また、データエンジニアリングの領域にもサーバーレスサービスが存在します。

  • Kinesis Data Firehose – ストリームデータロード
  • Glue(ETL、カタログ) – ETL、カタログ
  • Athena – アドホック分析
  • Step Function – タスクのオーケストレーション、ステートマシン

さらに、権限管理、モニタリング、セキュリティに使用されるIAM、CloudWatch、Secret Managerなど、ほとんどの人が当たり前に使用しているサーバーレスサービスがあります。説明しきれなかったサーバーレスサービスもたくさん存在します。これらのすべてのサービスは、サーバーを準備し、管理する必要がなく、非常に柔軟にスケーリングし、高い可用性を提供します。そして、使用した分だけ料金が発生します。

偽のサーバーレス

ここまで読んでいただいた方は、サーバーレスの定義やその哲学、利用可能なサービスについて理解されたかと思います。そして、クラウドに興味を持っている方であれば、私が言いたい「偽のサーバーレス」の特徴にも気付いていることでしょう。

いいたいのは、Aurora Serverless V2やMSK Serverlessのような「偽のサーバーレス」サービスです。これらのサービスは、サーバーの管理が必要なく、トラフィックに応じて自動的にスケーリングされるという点ではサーバーレスに近いです。しかし、トラフィックが0の場合でも最低限のコストがかかります。Aurora Serverless V2は最低0.5 ACUのコストが発生し、MSKはクラスターに対するコストが発生します。これは、上記で述べたサーバーレスの原則に合致しないと考えます。特にAurora Serverless V2はV1とも比較されます。V1はトラフィックがない場合、完全に終了してコストがかかりません。もちろん、再起動には時間がかかりますが、それでもです。 したがって、このようなサービスに「サーバーレス」の名前を付けることはやめるべきだと考えます。これはサーバーレスの原則に合致せず、エコシステムに混乱をもたらす可能性があるからです。むしろ、「完全に管理された」といった名称が適していると思います。Aurora Fully-Managed、MSK Fully-Managedなどは、サーバーレスの名前が付いていなくても、検討に値するサービスであるためです。

PR

まとめ

サーバーレスは、既にクラウドでトレンドとなっており、私たちも気付かずに多くの場面で使用されています。本物のサーバーレスと偽のサーバーレスが混在しているため、注意が必要です。最近では、EMR ServerlessやRedshift Serverlessもリリースされましたが、偽のサーバーレスの影響により、本物のサーバーレスかどうかを疑問視することがあります。

PR

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!