サーバレスコンピューティングを利用すれば、アプリケーション運用が楽になり、コストも抑えられるという見方がある。しかし、これは一種の“誤解”だと言える。その理由とは。
「サーバレスコンピューティング」で何ができるのかについて、正しく理解されていないことがよくある。「運用作業から解放される」「コストを抑えることができる」という認識を持ったままアプリケーションを運用すると、“思わぬトラブル”に見舞われることがある。誤解しないためには、以降で紹介するサーバレスコンピューティングの仕組みや要点を理解することが重要だ。
サーバレスコンピューティングでは、サーバの設定や管理、定期的なパッチ(修正プログラム)の適用などをクラウドベンダーに任せられる。そのため、アプリケーションをサーバレス化すれば運用が楽になり、コストも抑えられるという意見がある。
一方で、サーバレスコンピューティングを導入した企業は物理サーバや仮想サーバを使わない代わりに、さまざまなコンポーネント(部品)を用意して、それらを動かすためのプログラムを管理する必要がある。コンポーネントには、以下のようなものが含まれる。
例えば、Amazon Web Services(AWS)のサーバレスコンピューティングサービス「AWS Lambda」の関数を実行する場合、コンポーネントの数は数十から数百個にまで上ることもある。
そのため、コンポーネントの起動と管理には、「Infrastructure as Code」(IaC:コードによるインフラの構成管理)ツールや、自動化ツールの活用が欠かせない。代表的なIaCツールには以下のようなものがある。
加えて、ソースコードのデプロイ(配備)には、CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインを使う。サーバベースのアプリケーションと比べて、新しいソースコードをリリースする際に、更新するコンポーネント数が多くなる傾向にあるため、C I/CDパイプラインを使って自動化をするのが望ましい。
一部の企業は、これらツールを開発環境でのみ活用している。しかし筆者は、テスト環境や本番環境でもこうした自動化の仕組みを積極的に取り入れるべきだと考える。特に複数のコンポーネントを扱うサーバレスコンピューティングでは、管理をいかに自動化するかが重要となる。
サーバレスコンピューティングでは、コストを早い段階で見積もることが重要だ。一般的にクラウドベンダーは、以下のような要素に応じて課金する。
サーバレスコンピューティングは、リソースの使用量に基づいて課金されるため、費用対効果に優れた仕組みだと言える。一方で、使用量が一定以上になると、サーバを用意する場合と比べてコストが高くなる可能性もある。特に、常に負荷の高い計算が求められるアプリケーションをサーバレスで運用する場合、コストは高くなる傾向にある。
反対に、リソース使用量の変動が激しいアプリケーションはサーバレスコンピューティングと相性が良い。高い計算処理能力を持つサーバを常にプロビジョニング(利用可能な状態にすること)しておく必要がないためだ。
運用するアプリケーションによってコスト条件は大きく異なるため、サーバを用意するか、サーバレスで運用するか、絶対的な答えは存在しない。そのため、アプリケーションの設計から実装に至る早い段階で料金を試算することが重要なのだ。
このように、サーバレスコンピューティングの仕組みは非常に複雑だ。開発チームと運用チームは、サーバレスコンピューティングに適したユースケースと、その長所と短所をしっかり理解する必要がある。
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
ハロウィーンの口コミ数はエイプリルフールやバレンタインを超える マーケ視点で押さえておくべきことは?
ホットリンクは、SNSの投稿データから、ハロウィーンに関する口コミを調査した。
なぜ料理の失敗写真がパッケージに? クノールが展開する「ジレニアル世代」向けキャンペーンの真意
調味料ブランドのKnorr(クノール)は季節限定のホリデーマーケティングキャンペーン「#E...
業界トップランナーが語る「イベントDX」 リアルもオンラインも、もっと変われる
コロナ禍を経て、イベントの在り方は大きく変わった。データを駆使してイベントの体験価...