「世の中には難しいことが多い!」と感じることが多い私が、様々な用語を、初学者向けにわかりやすく全力で解説します。
解説する用語
サーバレスについて解説します。
これから新しくシステム開発をするうえでクラウドを使用することが多いかと思います。クラウドサービスの中でもサーバレスサービスを選択することで多くのメリットを得られることが出来ます。
「なんでサーバレスサービスにしなかったんだ、、」とならないためにも、まずはサーバレスとは何かについて理解していきましょう。
サーバレスとは
サーバレスとは、サーバーの構築やメンテナンスが必要のない、システムの実行環境のことです。主にクラウド事業者がサーバレスサービスを提供しています。サーバレスサービスを使用することで、開発者はアプリケーションの開発に専念することが出来ます。
詳細に説明するよ
当たり前かもしれませんが、システムを開発し、稼働させるためには、サーバーなどのインフラ環境(システムを稼働させるための環境)の構築が必要になります。
実際に物理的なサーバーを購入して、そのサーバーにソフトウェアをインストールして、、などなど、気が遠くなるような作業が発生します。
やっとの思いで構築したインフラ環境に作成したアプリケーションを配置することで、システムを稼働させることが出来ます。
現在では、クラウドを使うことで画面をポチポチするだけでかんたんにインフラ環境を構築することが出来るのでとても便利ですね。
しかし、クラウドを使用したとしても、「インフラ環境の構築や運用」は必要です。まずはサーバーを作成し、システムを動かすためのソフトウェアをインストールしたり、バージョンを管理したり、などをする必要があります。
ここで「サーバーの構築や運用をするのすらめんどくさいなぁ」という不満が出てきます。サーバーの構築やメンテナンスには時間と人手が必要です。クラウドを使用することでだいぶ楽になったのですが、人間は欲深い生き物ですね。
そこでクラウド事業者が目を光らせます。「ユーザーがサーバーの構築や管理をしなくても良いシステムの実行環境を提供するサービス」、つまりサーバレスサービスを提供してきたのです。
作成したアプリケーションをサーバレスサービスに配置するだけでアプリケーションが稼働します。そのため、ユーザーはアプリケーションの開発のみに専念することが出来ます。サービスによってはコードを書くだけでアプリケーションを稼働させられます。
配置後もサーバーの管理をしなくても良いためとても楽ちんです。
このように「サーバーはあるんだけれども、ユーザーがサーバーがないように楽に運用することが出来るサービス」だからサーバレスサービスと呼ぶんですね。
Google Cloudでは、App EngineやCloud Functions、Cloud Runなどのサーバレスサービスがあります。
まとめ
- サーバレスとは、サーバーの構築や運用が必要のない実行環境のこと
- インフラ環境の管理する時間を減らせるため、ユーザーはアプリケーションの作成に集中することが出来る
- クラウド事業者がサーバレスサービスを提供している
本サイトでの注意事項
本サイトではなんとなく理解することを目的としているため正確性に欠ける表現があります。より正確な情報を詳しく知りたい場合は公式ドキュメントを参照ください。