2017年08月28日 08時00分 公開
特集/連載

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

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

[Adrian Bridgwater,Computer Weekly]
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.開発時の課題

ITmedia マーケティング新着記事

news133.jpg

アレン・マイナー氏×境真良氏 「日本企業的DX」の神髄とは何か
異色の大物対談で語られたDX(デジタルトランスフォーメーション)の核心とは何か。

news059.jpg

世界のCMOの62%が今後1年間マーケティング予算は削減か横ばいと回答――電通インターナショナル調査
電通インターナショナルが世界規模で実施した「CMO調査2020」の結果です。

news017.jpg

HubSpotとWeWork 世界の成長企業が新しい日常で実践するスマートな働き方
ニューノーマル時代に企業が成長し続けるためのヒント。