サーバーレスストレージコンピューティングは、企業の業務を簡素化する新たなITイノベーションとして、データストレージに関して、コードが実行されるハードウェアやオペレーティングシステムを気にする必要もなくなります。
これは、サーバーレスクラウドコンピューティングが、クライアントの需要やニーズに応じてリソースを自動的に増減させ、アプリケーションコードの実行に必要なコンピューティングリソースも自動的にプロビジョニングするためです。また、一部で誤解されているように、すべてのデータベースストレージサービスがサーバーレスというわけではありません。
このガイドでは、サーバーレスストレージとは正確には何か(何ではないのか)、サーバーレスストレージの主なユースケース、そして現在市場で利用できるサーバーレスストレージシステムの主要プロバイダーについて解説します。
サーバーレスストレージとは?
「サーバーレスストレージ」という言葉は、やや誤解を招きます。これは、データストレージにサーバーが使われなくなったことを意味するわけではありません。むしろ、個々のユーザーや事業主がサーバーの利用について心配する必要がなくなったという意味です。その代わりに、通常はクラウドプロバイダーである第三者がサーバーを管理するためです。
言い換えれば、バックエンドインフラストラクチャのプロビジョニング、スケーリング、スケジューリングに関する責任はすべて、クラウドプロバイダーに委ねられます。開発者にとっての利点は、リソースをフロントエンドのアプリケーションコードのさらなる開発により多く振り向けられることであり、バックエンドの作業はクラウドプロバイダーに任せられます。
これは、単一の場所にあるオンサイトのサーバーで稼働するよう設計された従来のストレージソリューションとは大きく異なります。企業の開発者は、フロントエンドと同じようにバックエンドの開発についても気を配らなければなりません。この場合、ストレージソリューションのパフォーマンスは、ほぼ全面的に企業の開発者の知識と専門性に左右されます。
そのため、開発チームや個人は、モニタリング、プロビジョニング、インフラストラクチャ、メモリ、ノードサイズ、パフォーマンスチューニングに膨大な時間を費やす必要があります。こうした責任はすべて、開発者ではなくプロバイダーが担います。
したがって、ストレージシステムが真に「サーバーレス」であるためには、次の条件を満たす必要があります。プロビジョニングとバックエンド作業はすべてクラウドプロバイダーが処理し、クライアントのニーズに応じてリソースが自動的に増減することです。さらに、ほとんどのサーバーレスストレージプロバイダーは従量課金モデルでサービスを提供しており、クライアントは月単位または年単位で料金を支払います。
関連記事:DevOpsのプロビジョニングに適したストレージの選び方
サーバーレスストレージの用途
サーバーレスストレージシステムには、数多くのユースケースがあります。おそらく最も代表的な用途は、マイクロサービスアーキテクチャの構築です。これは、マイクロサービスが小規模なサービスの作成を中心とするもので、APIを介して通信し、単一のタスクを担うよう設計されているためです。サーバーレスは、迅速なプロビジョニングと自動スケーリングを特徴とするため、マイクロサービスアーキテクチャのサポートに適しています。
サーバーレスストレージのもう1つの非常に重要な用途は、データ処理です。サーバーレスストレージは、テキスト、画像、動画、音声ファイルなどのデータの保存と処理に適しているためです。サーバーレスコンピューティングの基本的な考え方は、アプリケーションが利用可能になるまで実行されず、必要に応じて自動的にスケールできるというものです。これにより企業は、ユーザーの需要に対応するため、コスト効率の高い形で規模を拡大できます。サービスが利用されていないときに大きなオーバーヘッドが発生しないため、ユーザーの需要が増加してもコストは最小限に抑えられます。
サーバーレスストレージの3つ目の重要な用途は、APIバックエンドの開発です。具体的には、サーバーレスプラットフォーム上の任意の関数をHTTPエンドポイントに変換すると、セキュリティを強化するAPIゲートウェイに組み込むことができます。
サーバーレスストレージの主要プロバイダー
元祖であり、現在も最も人気の高いサーバーレスストレージプロバイダーは、AWS、つまりAmazon Web Servicesです。7年間にわたって提供されているAWS Lambda関数を使えば、フロントエンド開発者はサーバーを実際に管理・プロビジョニングすることなくコードを実行できます。ただし、サーバーレスストレージプロバイダーはAWSだけではありません。
Oracleは3年間にわたり、Oracle Functionsというオープンソースのサーバーレスソリューションを提供してきました。ユーザーは、任意のクラウドプラットフォームに関数をデプロイできます。Oracle Cloud InfrastructureはOracle Functionsと直接互換性があります。
もう1つの選択肢はGoogle Cloud Functionsで、Googleによれば、クラウドベースのサーバーを管理せずに単一目的の関数を作成できるよう設計されています。Cloud Functionsの注目すべき機能の1つがパブリックなCloud Runです。これは、ユーザーがサーバーレスアプリケーションをデプロイできるマネージドクラウド環境で、2年以上前に導入されました。
サーバーレスストレージのその他のプロバイダーには、MicrosoftのAzureやIBMのOpenWhiskがあります。
サーバーレスストレージシステムにより、企業の開発チームはフロントエンド開発とコードの記述に注力し、プロビジョニングではなくクラウドインフラストラクチャの管理を行えるようになります。サーバーレスストレージは、従来のデータストレージソリューションに代わる、よりコスト効率が高く、便利で、スケーラブルな選択肢をユーザーや企業に提供します。
次に読む:2021年版API管理ツール&プラットフォーム ベスト10