全7174文字
PR

AWS Lambdaのようなサーバーレスとコンテナは互いに補完関係にある。クラウドと同様、コンテナも今後数年で日本に広まるとみられる。それに備え、アジャイルやCI/CDといった開発を高速化するためのプロセスを準備しておくべきだ。

 今回はサーバーレスコンピューティングによる開発やマイクロサービスとコンテナ技術の関係、加えて、より広範囲な日本の企業情報システムが置かれた状況にコンテナ技術がどのように貢献していけるのかという観点で解説します。

Question 1

 今後数年でクラウドへの全面移行を計画しています。クラウドベンダーから「これからはサーバーレスだ」という話を聞かされました。サーバーレスとコンテナはどういう関係にあるのでしょうか。

Answer 1

 クラウドは当初、いわゆるIaaS(インフラストラクチャー・アズ・ア・サービス)として登場しました。仮想化されたサーバーやネットワークおよびその周辺機能を従量課金体系によって貸し出すサービスで、以下のような特徴を打ち出し、スタートアップ企業やB2Cのサービス系企業で採用が始まりました。

(1)初期費用ゼロ(スモールスタートが可能)
(2)調達のスピードアップ(サーバー納品待ちゼロ)
(3)ニーズに応じた柔軟な性能アップダウン

 2009年頃からはサーバー管理を不要とするミドルウエアのマネージドサービスが提供され始めました。例えば、AWS(Amazon Web Services)のマネージドなリレーショナルデータベースサービス「Amazon RDS」です。それまで、クラウド上でデータベースを利用する場合は、仮想サーバーに自分たちでデータベースを一からインストールし、バックアップなども含めて、自らで設計、構築、運用する必要がありました。しかし、クラウドベンダーが提供するマネージドサービスの利用により、ユーザーはバックアップやミドルウエアのバージョンアップに手間をかける必要がなくなり、運用や設計のコスト削減や、利用開始までの期間短縮が実現できるようになりました。こうしたサービスを、IaaSに対して、PaaS(プラットフォーム・アズ・ア・サービス)と呼びます。「広義のサーバーレス」と呼ぶこともできます。

 PaaSの利用メリットには以下があります。

(1)初期費用、初期構築のコストを大幅に削減
(2)すぐに使い始められる
(3)運用をクラウドベンダーに任せられる

 その半面、自由度が低いというデメリットがあり、例えばデータベースの場合は以下が挙げられます。メリットを享受するにはトレードオフがあるのです。

(1)DBが動作するサーバーのOSを操作できない
(2)利用できるバージョンが限られる
(3)ベンダーが提供する機能しか利用できない

AWS Lambda が登場

 そして、AWSが2014年に「AWS Lambda(ラムダ)」を発表し、大きな話題を呼びました。それに続いて、2016年には、GoogleからCloud Functions、IBMからOpenWhisk、MicrosoftからAzure Functionsが発表され、「サーバーレス」というキーワードが一挙に流行し始めました。

 このサーバーレスコンピューティングサービスは Java、Python、JavaScriptなどで書かれた短いプログラムコードをクラウド上で実行してくれるものです。実行の際に必要なインフラは全てクラウド側が管理し、料金も実行回数による従量課金制です。これはFaaS(ファンクション・アズ・ア・サービス)とも呼ばれ、PaaSと比較すると「狭義のサーバーレス」といってよいでしょう(図1)。

図1●サーバーレスの動作イメージ
図1●サーバーレスの動作イメージ
[画像のクリックで拡大表示]