検索
特集/連載

サーバレスコンピューティングを使ってはいけない4つのパターンサーバレスの限界

注目のサーバレスコンピューティングには、当然ながら向き不向きがある。サーバレスコンピューティングを使うと必ず失敗する4つのパターンを紹介する。

Share
Tweet
LINE
Hatena
Computer Weekly

 「サーバレスコンピューティング」が最近にわかに注目されているが、制限事項や短所もある。

Computer Weekly日本語版 8月16日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 8月16日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 どの組織の開発者チーム(DevOpsチームである可能性が高いが)も、サーバレスコンピューティングを広範囲に展開することを検討する前に、Backend as a Service(BaaS)という本質的に充実した環境で、できることとできないことを明確に認識しておくべきだ。

サーバレスコンピューティングとは

 TechTargetの定義によると、サーバレスコンピューティングはイベント駆動型のアプリケーションを設計および展開する際のパラダイムで、この場合コンピューティングリソースはスケーラブルなクラウドサービスとして提供される。

 この定義でも示されているように、サーバレスコンピューティングは必ずしも特定のサーバ上で稼働させるようにプロビジョニングされているとは限らないアプリケーションの作成を指す表現だ。サーバレスコンピューティングアーキテクチャでは、ソフトウェアのプログラマー(と彼らを取り巻く実務部門のチーム)は、ある意味で、実行するアプリケーションの設定、チューニング、スケーリングを心配する必要がなくなる。これらは全てクラウドプロバイダーがバックエンドで引き受けてくれるはずだ。

サーバレスコンピューティングの限界

 ソフトウェア開発サービス企業Ness Digital EngineeringのCTO(最高技術責任者)であるモシュ・クラン氏は、サーバレスコンピューティングの限界と、その限界に関する重要事項を指摘している。クラン氏自身が以下の通り箇条書きの形式にまとめた。

1.低レイテンシのアプリ

専用のクラウドサーバの場合、イベントが到着した時点でコードは既に稼働中なので、そのイベントを数ミリ秒以内に処理できる。一方サーバレスコンピューティングの場合、イベントが発生してから処理されるまでに数百ミリ秒かかることがある。クラウドプラットフォームがサーバにコードを割り当て、コードをデプロイし、コードを実行するために必要なランタイム(例:Java仮想マシン)を起動するまで待たなければならないからだ。

注意!:従って、サーバレスコンピューティングはイベントに対する応答速度が10ミリ秒未満でなければならないアプリケーションには適していない。

2.リソースの制限

どのクラウドプラットフォームでも、サーバレス機能を実行するために使えるサーバのサイズとコードの実行時間の合計に制限を設けている。例えば「Amazon Lambda」の場合、サーバレス機能をメモリ1.5GB、実行時間5分以下に制限している。

注意!:従って、サーバレスコンピューティングは大容量のメモリを必要とするアプリケーションや、処理が完了するまで時間がかかるアプリケーションには適していない。

3.開発時の課題

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る