サーバーレスアーキテクチャの
メリットと活用シーン
クラウドの新たな利用形態として「サーバーレスアーキテクチャ」や「FaaS」が注目を集めています。これはサーバー自体が無いわけではなく、サーバーを意識することなくプログラムを実行する仕組みです。このサーバーレスアーキテクチャについて、解説します。
クラウドを活用したシステム開発の新潮流「サーバーレス」とは
サーバーレスアーキテクチャとは
システムの運用基盤の構築などでITインフラを整備する際、クラウドを前提とすることはもはや当たり前になりつつある。実際、それを裏付けるようにクラウドの市場規模は拡大し続けている。IDC Japan株式会社の調査によると、2020年の国内パブリッククラウドサービス市場規模は、前年比19.5%増の1兆654億円と発表。また2020年~2025年の年間平均成長率は19.4%で推移し、2025年の市場規模は2兆5,866億円になると予測している。
出典: IDC Japanプレスリリース「国内パブリッククラウドサービス市場予測を発表」(2021年3月08日)
サーバーレスアーキテクチャのメリット
このクラウドの新たなトレンドとして、昨今注目を集めているのが「サーバーレスアーキテクチャ」だ。これはFaaS(Function as a Service)などとも呼ばれ、サーバーを使わずにシステムを構築する手法を指す。代表的なソリューションとしては、Amazon Web Servicesの「Lambda」や、マイクロソフトの「Azure Functions」などが挙げられる。
IaaS(Infrastructure as a Service)を利用してシステムを構築する場合、まず仮想サーバーを確保した上でOSやミドルウェアなどをインストールする必要がある。またぜい弱性が発見された際のパッチの適用やバージョンアップの実施などの管理作業も発生する。一方、サーバーレスアーキテクチャは、サーバー環境を用意したり、その管理を行ったりする必要はない。このためシステム開発に集中することができる。
課金形態も大きく異なる。IaaSではサーバーを起動している時間に対して課金が行われ、処理を行っていなくても費用が発生する。サーバーレスアーキテクチャで課金されるのは実際に処理を行った分だけであり、処理を行っていない間は課金の対象にはならない。
なお、サーバーレスアーキテクチャに似たクラウドに、ミドルウェアや開発プラットフォームなどを提供するPaaS(Platform as a Service)がある。サーバーレスアーキテクチャと同様、PaaSもサーバーやOSなどを意識する必要はないが、インフラやミドルウェアを実行している間は課金が行われる点がサーバーレスアーキテクチャとは異なる。
サーバーレスアーキテクチャの仕組みと利用シーン
サーバーレスアーキテクチャでは、ユーザーがボタンを押したときなど、イベントが発生したときだけ、ユーザーが用意したプログラムが実行される。イベントとしてはさまざまなものを利用可能で、たとえばAmazon Web ServicesのLambdaであれば、ストレージであるS3上にあるデータの変更、あるいはさまざまなデータを格納できるDynamoDBへのデータの登録などをイベントとして利用し、それに応じた処理を実行できる。
具体的な利用シーンとして、たとえばアップロードされた画像ファイルの加工処理などが考えられる。ユーザーが画像ファイルをアップロードすると、それをトリガーとしてサムネイル画像を生成して保存するといった処理である。
IoTデバイスを用いたデータ処理の基盤としても、サーバーレスアーキテクチャは有効だろう。IoTデバイスがクラウドに対してデータを送信すると、加工や集計などの処理を行ったうえでデータベースに反映するといった処理をサーバーレスアーキテクチャで実現するわけだ。
そのほかにも、データベースの内容が変更されたときに関連するシステムのデータを修正する、あるいはユーザーからメッセージが送られると、その内容に応じて返信を行うなど、さまざまな処理が、サーバーレスアーキテクチャを使って実現できる。
サーバーレスアーキテクチャを含めたクラウド活用を支援
すでにサーバーレスアーキテクチャはクラウドの新たな利用形態として定着しており、多くの企業が活用している。前述したとおり、サーバーを意識する必要がなく、またコードを実行したタイミングだけ課金されるため、コストの最適化を図れるといったメリットが浸透していると言えるだろう。
このサーバーレスアーキテクチャを含め、クラウドを自社のITインフラの中で積極的に活用するのであれば、運用の高度化も視野に入れたい。そこで活用したいソリューションがNTT Comの「マルチクラウドマネジメント」である。
これは最先端の監視ツールである「Datadog」と、NTT Comが持つICT運用ノウハウを融合したソリューションである。Datadogはクラウド環境をモニタリングするためのツールとして高く評価されており、AWSやMicrosoft Azureなど複数のクラウドに対応するのはもちろん、サーバーレスアーキテクチャやコンテナなど、高度なアーキテクチャにも対応している。
このDatadogを用いて、複雑なクラウド環境の運用に精通したNTT Comのプロフェッショナルチームが一元的な監視運用を行ううえ、最適化に向けた提案や構築もサポートできる。これにより、クラウドのメリットを最大限に享受しつつ、安定したシステム運用を実現できる。
さらにNTT Comでは、設計段階からクラウド活用を支援するソリューションとして「AWS導入支援」や「Azureマネージドサービス」も提供している。これからクラウドを積極的に活用していきたい、あるいはオンプレミスを含め統合運用していきたいと考えているのであれば、これらのソリューションの活用も視野に入れたい。