パソコン部の中学3年生ミナは、文化祭に向けた「おみくじアプリ」を作るプロジェクトの真っ最中。
ミナ:「先生~、できたプログラムをみんなに使ってもらうには、やっぱりサーバーって必要なんですよね?」
田中先生:「うん、普通はそうだね。でも最近はサーバーレスという方法があるよ。」
ミナ:「サーバーがないのにどうやってアプリが動くんですか!?意味わからないです!」
田中先生:「実は“サーバーがない”わけじゃなくて、“サーバーのことを考えなくていい”って意味なんだ。裏ではちゃんとサーバーが動いているけど、それを意識せずに使える仕組みなんだよ。」
ミナ:「なるほど…使ってないときは電源もオフになるみたいな感じ?」
田中先生:「そうそう!必要なときだけ“ピンポーン”って呼ばれて、関数(ファンクション)が動く。だから“FaaS(Function as a Service)”とも呼ばれていて、代表的なのがAWS LambdaやGoogle Cloud Functionsだね。」
ミナ:「へぇ〜、便利そう!でも、従来のクラウドサーバーとは何が違うの?」
田中先生:「じゃあ、それを比べてみようか。」
| 項目 | サーバーレス | クラウドサーバー(IaaS) |
|---|---|---|
| 管理の手間 | ほぼ不要 | OSやミドルウェアの管理が必要 |
| コスト | 実行した分だけ課金 | 常に稼働しているため高め |
| 起動時間 | 必要な時に起動(若干の遅延あり) | 常に起動していて即応可能 |
| 柔軟性 | 小さな処理向き | 複雑な構成も可能 |
| 開発スピード | 早い | 慣れるまで時間がかかる |
| 項目 | AWS Lambda | Google Cloud Functions |
|---|---|---|
| 提供会社 | Amazon(アマゾン) | Google(グーグル) |
| 対応言語(主要) | Python, Node.js, Java, Go など | Python, Node.js, Go など |
| 実行時間の制限 | 最大 15分 | 最大 60分(第2世代) |
| 起動トリガーの種類 | API Gateway, S3, DynamoDB など多数 | HTTP, Pub/Sub, Firebase など |
| スケーラビリティ | 高い(自動スケーリング) | 高い(自動スケーリング) |
| モニタリングツール | Amazon CloudWatch | Google Cloud Monitoring(旧Stackdriver) |
| 管理画面の使いやすさ | 機能が豊富で細かい設定が可能だが複雑になりがち | シンプルで直感的 |
| 地域の展開 | グローバルで非常に広範 | Google Cloud対応リージョンで展開 |
| 学習コスト | 中~高(AWSに慣れる必要あり) | 低~中(GUIがシンプルでわかりやすい) |
先生:メリットとデメリットをまとめるとこんな感じだね
メリット
必要なときだけ動くのでコスト削減になる
サーバーの管理が不要なので開発が早い
自動スケーリングによりアクセス急増にも対応
デメリット
起動時に若干の遅延(コールドスタート)
状態を持つアプリや常駐型処理には不向き
プラットフォーム依存が強くなる場合も
たとえば大手家電メーカーのパナソニックは、自社のIoT製品のデータ収集・処理にAWS Lambdaを活用しています。数百万台の家電がネットに接続し、必要なときにだけデータを送って処理するため、サーバー常駐型よりもコストを抑えつつ柔軟なスケーリングを実現しています。
また、東京都では一部のWebフォームや通知システムにCloud Functionsを使い、低コストかつ保守不要なインフラを実現。少人数のITチームでも効率よく運用できるのが魅力です。
サーバーレスの最大の特徴はどれ?
A サーバーが絶対に存在しないこと
B 必要なときだけ処理が動くこと
C スマホだけで完結できること
「FaaS」はどんな意味?
A Fortunate and amazing Service
B Function as a Software
C Function as a Service
サーバーレスと従来のクラウドサーバーの違いは?
A 常に稼働しているかどうか
B 使っているプログラミング言語
C データベースの種類
クイズ1:B
サーバーレスは、処理が必要なときにだけ動くのが特徴です。
クイズ2:C
FaaSは「Function as a Service」、関数単位で提供されるサービスのことです。
クイズ3:A
サーバーレスは必要な時だけ起動、クラウドサーバーは常時稼働が基本です。