2016年04月01日
サーバーレスアーキテクチャ
サーバーの管理はもういらない?
サーバーレスアーキテクチャとは
システムを構築する基盤がオンプレミス(自社運用)からクラウドに移っていくことで、仮想サーバーを利用する機会が増えています。この結果、システム管理者はシステムを構成する物理的なサーバーを管理する必要がなくなりました。しかし、IoTやモバイルといった技術を使う場合、システムに変更を加えることが多く、システムのメンテナンス性や拡張性、柔軟性に課題がありました。そこで、仮想サーバーの管理までなくしてしまう「サーバーレスアーキテクチャ」という考え方が注目されています。
図1. サーバー管理の変遷
サーバーレスアーキテクチャとはサーバーを使わないシステムの構成を指します。図1右側のように、サーバーで動作させたいプログラムを直接動作させます。ただし、サーバーを使わないと言ってもどこにも存在しないわけではありません。プログラムを動作させるためのサーバーの管理をクラウドサービス提供側に一任することで、システムの管理者からはサーバーを意識することなくプログラムを動作させることができます。
サーバーレスアーキテクチャのメリット
サーバーレスアーキテクチャの構成例を図 2に示しています。この構成では、デバイスからセンサーデータを受信するといったイベントを起点にして、クラウド上のプログラムを実行し、データベースなどのバックエンドサービスを操作しています。
図2. サーバーレスアーキテクチャの構成例
これまでのシステムでは、処理の役割ごとにサーバーとサーバー上で動作するプログラムを用意していました。しかし、サーバーレスアーキテクチャでは処理ごとのプログラムを用意するだけでよいため、よりシンプルな構成となっています。
サーバーレスアーキテクチャの考え方に基づいてシステムを構築することで、次のようなメリットが得られます。
-
サーバーのメンテナンスが不要
システム管理者はサーバーを直接管理せず、サーバー上で動作させるプログラムのみを管理するため、サーバーのメンテナンスは不要となります。例えば、サーバーのメンテナンスにはセキュリティアップデートやバックアップなどがあります。これらの作業を減らすことで、システムの保守にかかるコストの削減が期待されます。 -
優れたコストパフォーマンス
サーバーレスアーキテクチャではイベントの発生を起点にプログラムを動作させます。このイベントには、Webブラウザからのアクセスや、指定された時刻になった時など様々なものがあります。サーバーを用いてシステムを稼動させていた時は、サーバーを常時稼働させておき、処理するタイミングを待っていました。しかし、サーバーレスアーキテクチャでは、処理が必要になった時だけプログラムを動作させることができます。クラウドでは利用時間で課金されることが多いため、必要な時だけ動作するこの仕組みはコストパフォーマンスに優れています。
他にもシステムの規模の調整が簡単であることや、シンプルな構成のため拡張しやすいといったメリットがあります。
サーバーレスアーキテクチャのこれから
サーバーレスアーキテクチャはマイクロサービス(※1)といったシステム構築の考え方とも相性が良く、他者が提供するサービスやAPIとの連携が容易になります。例えば、デバイスに搭載したGPSから得られた座標データをGoogle Mapsと連携させて、地図上にプロットするといったこともサーバーを使わずに実現することができます。
今後は、イチからシステムを構築するのではなく、サーバーレスアーキテクチャでサービスやAPIを組み合わせることで、メンテナンス性が高く、柔軟なシステムを構築するケースが増えていくと考えられます。
※1:複数の機能単位のサービスを様々に組み合わせてひとつのシステムを構築すること
2016年4月
最新の記事
年別
ITの可能性が満載のメルマガを、お客様への想いと共にお届けします!
Kobelco Systems Letter を購読