[レポート]Getting Started With Serverless #AWSSummit
こんにちは、城岸です。今回は、AWS Summit Tokyo 2018の5/31(木) 「Getting Started With Serverless」セッションのレポートです。
セッション情報
- セッション名:Getting Started With Serverless
- スピーカー:西谷 圭介氏 (アマゾン ウェブ サービス ジャパン株式会社)
AWS Lambda を中心として構築されるサーバーレスアプリケーションについて、その大きな可能性だけでなく、ユースケースや実際に使いこなしているお客様の最新事例をご紹介します。
セッション内容
- What is Serverless?
- サーバーレスによる代表的な効果
- サーバーレスのためのビルディングブロック
- アプリケーションモデル
- ユースケース
- お客様事例
- 開発・運用
- 成功のポイント
What is Serverless?
- 管理するサーバーがない = サーバーレス
- サーバーのことを考えずにアプリケーションを開発できる
サーバーレスによる代表的な効果
- サーバー管理が不要
- 柔軟なスケーリング
- シームレスにスケールするのが特徴
- 十二分に考慮された高可用性
- 高可用性を生み出すための仕組みが組み込み済み
- アイドル時のリソース確保が不要(サーバーレス最大の特徴)
- 従来プロビジョニングされたものに対して課金ではなく、処理した分に対する課金
上記の結果として、ユーザーの責任領域は小さくなる(開発に注力できる)。また、初期構築時にはインフラコストが0円なので先行きの見えないような新規事業に向いている。
サーバーレスのための代表的なビルディングブロック
- Lambda(コンピューティングリソース)
- S3(ストレージ)
- Dynamo(データベース)
- Cognito(認証基盤)
アプリケーションモデル
イベントソース(Kinesis、API Gateway、S3など)からLambdaを実行するモデルの解説。Lambdaをキックするためにどのようなイベントソースが利用できるかについては、以下のブログで細かく調査しています!!
Lambda
- サーバーを気にすることないアプリケーション開発実行
- インフラ管理不要
- 高いコスト効果 100msec単位で課金
- 自分のコードを実行
API Gateway
- APIの定義とホスティング
- ネットワークトラフィックの管理
- 流量制御を簡単に運用できる
- AWSのAuthを管理
- APIのリクエストに対して認証を行える。cognitoと連携したり独自の認証を組み込んだりすることも可能
ユースケース
- Backends
- WEBモバイル、IoTのバックエンド
- SPAとしてよく利用されるフレームワーク:React、Angular、Vue.js
- DataProcessing
- File Processingなどイベントドリブンな処理
- Automation(サーバーレスを最初にやるにはおすすめ)
- Automated infrastructure management
- CloudWatch、SNS、Lambda等を利用しバックアップやスナップショットを取得など(cronの代わり)
お客様事例
- 多種多様なお客さんで利用されている
- メリット
- アプリ開発チーム手動で開発可能(生産性もUP)
- 運用コスト低減
- インフラコストの低減
- などなど
開発・運用
ここ最近、サーバーレス開発・運用周りのツールも充実してきている。数年前比べ導入のハードルは下がって来た。
- 開発
- Serverless Framework
- Cloud9
- SAM CLI
- デプロイ
- SAM
- Codeシリーズとのインテグレーション
- モニタリング
- CloudWatch
- X-Ray
成功のポイント
- イベントドリブン
- Lambdaをうまく使いこなすことが鍵と言える
- ステートレス
- 12 factor Apps
- スパイクアクセスへの過度な期待は禁物
- Lambdaのファンクションモデルが向かないケースがあるもの事実
- ステートフル、ロングバッチ、CPU/メモリのスペック
- コンテナを使おう
- コストへの過剰な期待はやめる
感想
サーバーレスの始め方、ユースケース、メリット/デメリットがわかるセッションでした。何かしらの資料が公開されたら追記します!