AWS re:Invent 2016 Serverless Follow Up

AWS re:Invent 2016 Serverless Follow Upに行ってきたのでその殴り書きです。

What's new with Serverless

by 西谷さん

Lambda関連

  • Lambdaで環境変数をサポート
  • AWS Serverless Application Model(SAM)
    • 構成定義の共通言語(CloudFormationのエクステンション)
    • Lambdaベースのアプリケーションをパッケージしてデプロイするためのツール
    • YAML形式で記述可能
  • Serverless CI/CD pipeline
    • CodePipelineでGithubかCodeCommitから直接Pull
    • CodeBuildでサーバレスアプリのビルドとパッケージング
    • CloudFormationで完成したアプリをデプロイ
  • ICYMI: CloudWatchの新機能
    • Percentiles: あらゆるメトリクスでパーセンタイルの統計をサポート
  • AWS X-Rayとのインテグレーション
    • サービス間のイベント遷移を可視化
    • Lambdaから他サービス呼び出しと時間をトレース
    • 依存関係、関連性を可視化
    • 消えたイベントやスロットルといった状態を確認・診断が簡単に
    • 簡単なセットアップ
    • まだ使えないがもうすぐ
  • AWS Lambda新機能・エンハンス
    • Kinesisのイテレータとして新たにAT_TIMESTAMPをサポート
    • 任意の時点でのストリームデータ処理が可能
    • C#をサポート
    • デッドレターキュー
      3回実行しても処理されなかったイベントをSQSかSNSトピックへ送信
      コードに問題がある場合やスロットルされる場合もイベントを保存
      ファンクション単位
      全ての非同期呼び出しで可能
  • Lambda Everywhere(コンセプト)
    • Step Functions
      複数のLambdaを管理
      3回以上の施行
      非同期なファンクションに対するコールバックの追加
      待ち合わせのハンドリング
      連鎖的なファンクション実行
  • Amazon Lex
    • 音声ボットのようなもの
  • AWS Snowball Edge
  • AWS Greengrass(Preview)
    • AWSの処理をデバイス上でも
    • デバイス上でLambdaを実行
    • ラズパイとかで動かせる
  • Lambda@Edge(Preview)
    • 低レイテンシなリクエスト/レスポンスのカスタマイズ

API Gateway

  • バイナリのサポート
  • APIドキュメンテーション
    • コンソールから編集可能
    • Swagger インポート/エクスポート
  • AWS Marketplaceとのインテグレーション
    • APIのマネタイズ
    • 自分のAPIをマーケットプレイス上で販売
    • API利用者のための簡単な発見と調達
    • API利用料のトラッキング
  • Developer Portalの生成
    • API利用者のためのポータルサイトを生成
    • APIのリストやカタログと開発者のサインアップをするサーバーレスなアプリケーションを生成

Introducing C# in AWS Lambda

by 福井さん

  • .NET Coreで動作
    • Win32APIやCOMコンポーネントは呼べない
  • Visual Studioに統合された環境を利用可能
  • クラスの静的またはインスタンスメソッドとして定義可能
  • Contextオブジェクトを利用する場合はメソッドパラメータにILambdaContext型を指定
  • 以下のライブラリを提供
    • Amazon.Lambda.Core
    • Amazon.Lambda.Serialization.Json
    • Amazon.Lambda.Logging.AspNetCore
    • 全てNugetパッケージから取得可能

Introducing Amazon Lex, Amazon Polly and Amazon Recognition

by 西谷さん

Recognition

  • 画像認識
  • オブジェクトの種類を検知 花とかソファーとか
  • DetectFaces
    • 顔分析
    • 特徴の検出 男女とかメガネとか目が空いてるとか
    • Happy 96% とか
  • CompareFaces
    • 顔の比較
    • どのくらい似ているか 同じ人かどうか
  • IndexFaces/SearchFacesByImage
    • 顔画像をインデックス化して保存
    • 画像で検索できる
    • 違う写真から同じ人をさがす
  • ユースケース
    • 画像に自動でラベル付け
    • ベストな写真をリコメンド
    • 顧客がどういった層であるかや感情を認識
    • 同じ人の写真をグループ化
    • 施設内の立ち入り許可あるか
  • 日本はまだ
  • 管理コンソールから簡単に試せる

Amazon Polly

  • テキストをリアルな音声に変換するサービス
  • 24言語で47の声を提供
  • 低レンテンシ
  • 音声を保存・利用可能
  • 生まれた背景
    • UIで音声が増えてきた
    • 自然な音声が重要
  • SSML(Speech Synthesis Markup Language)
    • 音声言語マークアップ言語
    • スピーチの細かい調整が可能 音量、ピッチ等
  • Lexicons
    • 単語やフレーズの発音をカスタマイズ可能

Amazon Lex(Preview)

  • 音声とテキストを使った会話型インターフェースを作成
  • Alexaと同じ技術
  • チャットサービスへのデプロイ
  • バージョニングやエイリアスのサポート
  • AWS Mobile Hubとのインテグレーション

Amazon Pinpoint

by 清水さん

  • ユーザーの属性情報毎にプッシュ通知を送る
  • キャンペーンのスケジューリング
  • スタンダード通知とサイレント通知
  • キャンペーンとアプリケーション分析
  • 分析のためのS3自動エクスポート
  • A/Bテストとホールドアウトテスト
  • セグメント分析とファネル分析
  • Quietタイムとメッセージ制限
  • 1分に100万件可能
  • 料金
    • $1/100万メッセージ送信
    • $1/100万イベント受信
    • $0.0012/1ヶ月のユニークユーザー毎
    • 100万メッセージ、1億イベント、5000ユーザーまで無料

Introduction to AWS X-Ray

by 西谷さん

  • これまでのアプリケーションのデバッグとは
    • DEV/PRODで環境分ける
    • ブレークポイント設定して調査
    • 必要に応じてログを出力
    • サービス毎に異なるログフォーマット
    • 大変
  • X-Rayができること
    • リクエストをトレース
    • 記録
    • サービスマップで可視化
  • Java, .Net, Node.jsで利用可能
  • 各サービスのメタデータを自動的にキャプチャ
    • AWS SDKを利用したサービス
    • HTTP/HTTPS 等
  • UDPでSDKからデータを受信
  • こまかいサンプリングルールを定義可能