「世の中には難しいことが多い!」と感じることが多い私が、様々な用語を、初学者向けにわかりやすく全力で解説します。
解説する用語
Google CloudのCloud Functionsについて解説をします。
Cloud Functionsを使用するとかんたんにコーディングをした関数を実行することが出来ます。ちょっとしたところでも役に立つCloud Functionsについて、「関数」や「サーバレス」などの基礎的な用語も含めて説明をします。
Cloud Functionsとは?
Cloud Functionsとは、関数をサーバレス環境で実行することができるGoogle Cloudの製品のことです。
Cloud Functionsを使用すると、様々なイベントをトリガーとして、関数を実行することが出来ます。フルマネージドなサービスのため、ユーザーはサーバの管理はしなくてよく、アプリケーション開発に集中することが出来ます。
詳細に説明するよ
Cloud Functionsについて、詳細に説明をしていきます。Cloud Functionsを理解するために必要なことを一つ一つ解説していきますので、知っている場合は適宜読み飛ばしてください。
関数とは?
プログラミングにおける関数とは、特定の処理を実行するための処理のまとまりのことです。一連の処理のまとまりに名前をつけて、その名前を使用して処理を呼び出すことが出来ます。
例えば、サザエさんがじゃんけんで何を出すか予測する関数=jankenyosou関数があるとします。
jankenyosou関数は「日付」を渡すと「その週にサザエさんがじゃんけんで何を出すか」を教えてくれます。以下では、「2026年5月8日」を渡すことでその週にサザエさんが「グーを出す」ことを教えてくれました。
この関数を使用すれば、サザエさんがじゃんけんで何を出すか予測することが出来ますね。
ちなみにこの渡す値のことを引数と呼びます。
このように関数として処理をまとめることで、同じ処理を複数の場所で再利用でき、コードの重複を減らすことができます。
サーバレスとは
サーバレスとは、「サーバの管理やインフラの設定は別の人もしくは自動でやってくれるよ~」という考え方のことです。実際にサーバーがないわけではありません。
アプリケーションを動かすための環境の構築にはとても時間がかかります。構築後にも適宜メンテナンスをしなければなりません。
クラウドを使用すると楽になりますが、それでも環境を構築するのには専門的な知識と時間が必要になります。人は楽を求める生き物ですね。
サーバレスサービスを使用することで、別の人が作ったアプリケーションを動かす環境に配置するだけでアプリケーションを動かすことが出来ます。その後のバージョンアップなどのメンテナンスも自動で行ってくれます。
アプリケーション開発者はアプリケーション開発のみに専念することが出来るのでとても楽ですね。
Cloud Functionsを使用するとサーバレス環境で関数を実行できる
Cloud Functionsとは、関数をサーバレス環境で実行することができるGoogle Cloudの製品のことです。
Cloud Functionsは全自動(フルマネージド)です。サーバーの管理やスケーリングなどを自動で行ってくれます。
つまり、Cloud Functionsを使用すると、アプリケーション開発者は関数を書くだけで実行することが出来るのです。
Cloud Functionsは関数の呼び出し回数や処理時間に応じて料金が発生します。
Cloud Functionsは実行可能な時間が決まっているため、長い時間の処理には向きません。
Cloud Functionsトリガーとは
Cloud Functionsに配置された関数はどのタイミングで実行されるのでしょうか?
Cloud Functionsは様々なイベントをトリガーにして関数を実行させることが出来ます。
以下に代表的なトリガーを記載します。
- HTTPトリガー:HTTPリクエストに応じて、関数を実行する
- Cloud Storageトリガー:Cloud Storageのイベントに応じて、関数を実行する
- Pub/Subトリガー:Pub/Subにメッセージが送信されたら、関数を実行する
例えば、Google Cloudには、Cloud Storageというサービスがあります。Cloud Storageはファイルなどのデータを保存することが出来るストレージサービスです。
ユーザーは「ファイルをアップロード」ボタンを押してファイルをアップロードします。以下は実際の操作画面になります。
Cloud StorageにファイルがアップロードされたタイミングでCloud Functionsにより関数を実行することができます。アップロードされたファイルの内容をCloudSQLなどのデータベースに保存することも可能です。
このように、Cloud Functionsは様々なイベントに対して処理を実行することが出来るので、かなり使い勝手が良い製品となっています。ちょっとした処理を行いたい場合などに最適ですね。
まとめ
Cloud Functionsとは、サーバーの管理をしなくても関数を実行することが出来る環境を提供する、Google Cloudの製品のことです。いろいろなイベントをトリガーにして実行することが出来るため、シンプルな処理を実行するのに向いています。
参考
本サイトでの注意事項
本サイトではなんとなく理解することを目的としているため正確性に欠ける表現があります。より正確な情報を詳しく知りたい場合は公式ドキュメントを参照ください。