[レポート]Getting Started With Serverless #AWSSummit

AWS Summit 2018 Tokyo

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、城岸です。今回は、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をキックするためにどのようなイベントソースが利用できるかについては、以下のブログで細かく調査しています!!

[AWS]知っておいたほうがいい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/メモリのスペック
    • コンテナを使おう
  • コストへの過剰な期待はやめる

感想

サーバーレスの始め方、ユースケース、メリット/デメリットがわかるセッションでした。

何かしらの資料が公開されたら追記します!