2020年11月のサーバーレス関連まとめです。こちらのイベントで取り上げる内容です。
serverless-newworld.connpass.com
2020年11月のリリース
11月30日からAWSの年次グローバルカンファレンスであるre:Inventが開催されることから細かいアップデートが多めですね。ていうか数が多すぎるのでS3とか割愛しましたw タイトルだけで内容がわかるようなものは特にコメントしていません。
Amazon Kinesis Data Streams は、最大 1 年間のデータストリームの保持が可能に
- データ保存期間がこれまでの最大7日から最大1年に
- デフォルトは24時間
AWS Lambda が、イベントソースとして Amazon MQ for Apache ActiveMQ をサポート開始
AWS Fargate for Amazon ECS launches features focused on configuration and metrics
Amazon SQS introduces new console experience in AWS GovCloud (US) regions
暗号化キーを使用して Amazon DynamoDB グローバルテーブルの暗号化が可能に
Amazon CodeGuru Profiler が、AWS Lambda 関数のプロファイリングを簡素化
Amazon DynamoDB テーブルデータを Amazon S3 のデータレイクにエクスポートして、あらゆる規模での分析を実現
Amazon Neptune がイベント通知のサポートを開始
- Amazon Simple Notification Service経由で通知可能
- つまりLambdaで処理することもできる
AWS AppSync がアジアパシフィック (香港) 、中東 (バーレーン)、および中国 (寧夏) リージョンでご利用可能に
欧州 (ミラノ)、中東 (バーレーン)、およびアジアパシフィック (香港) の各リージョンで、AWS Amplify Hosting の一般提供を開始
AWS Lambda でカスタムの送信先へのログ送信が簡単に
AWS Step Functions が Amazon EKS サービスとの統合のサポートを開始
- Amazon EKS でタスクを起動し、その完了を待つステップを含むワークフローが構築できるように
AWS Step Functions が Amazon API Gateway サービスとの統合サポートを開始
Amazon Cognito が、欧州 (ストックホルム) および欧州 (パリ) リージョンで利用可能に
Amazon EventBridge がイベントバスのリソースポリシーの改善を発表
- クロスアカウントアクセスが簡単に
AWS Pricing Calculator now supports Amazon DynamoDB
You now can restore Amazon DynamoDB tables even faster when recovering from data loss or corruption
- DynamoDBのレストアが改善されてより速くなった
- DynamoDBテーブルのアイテムレベルの変更をKinesisデータストリームとして取り込めるように
AWS Copilot CLI is now Generally Available
Announcing Code Signing, a trust and integrity control for AWS Lambda
- より信頼性高くLambdaを利用できるように
- コードに署名することで信頼され検証されたコードのみがデプロイされるように
- 署名付きのコードをデプロイすると、チェックしてコードが改ざんされていないことを確認する
- フルマネージドなコード署名サービスであるAWS Signerを利用
- メッセージの待機時間を設定可能に
- すぐに処理しなければいけないようなワークロードではない場合に、待たせることで呼び出し回数が減るのでコストの最適化ができる
- 最大300秒
AWS Lambda now supports Advanced Vector Extensions 2 (AVX2)
AWS Step Functions now supports Synchronous Express Workflows
- Express Workflowsの同期実行
- API Gatewayの背後にあるマイクロサービスのオーケストレーションみたいな大量かつ短時間の同期ワークフローを管理するのに最適
Amazon EventBridge adds Server-Side Encryption (SSE) and increases default quotas
Amazon Cognito is now available in the South America (Sao Paulo) and US West (N. California) Regions
Introducing Amazon Managed Workflows for Apache Airflow (MWAA)
その他ブログなど
User State Driven System with Amazon EventBridge & KARTE について話してきました | PLAID engineer blog
mackerel-lambda-agent を作ってみた話 - pyto86のブログ
- Lambda Extensionsを使ってMackerelのエージェントをGoで実装
シングルバイナリにこだわる - AWS Lambda編 / Nature Bath vol.6 - Speaker Deck
はじめてのサーバーレス ~ サーバーレスな会員制サイトを作ってみよう ~ 第 1 回 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- サーバーレスな会員制サイトを作るハンズオン
- 作るものはAPI Gateway、Lambda、DynamoDB、Cognitoを使ったオーソドックスなもの
- ハンズオンでは開発環境としてCloud9を利用
物流支援サービスを支えるAWSサーバーレスアーキテクチャ戦略 - ZOZO Technologies TECH BLOG
- FBZという、ZOZOTOWNと出店ブランドの自社ECサイトでの在庫の一元管理を実現するAPIサービス
- マスタであるZOZOTOWNの在庫情報を素早く自社ECサイトへ連携できるかが重要な要素の1つ
- AWSのフルマネージドサービスを最大限に活用
- ファンクションの数は約500!!!
フロントエンド開発者も知っておきたい AWS Lambda とサーバーレス / Serverless for frontend developers - Speaker Deck
- 11/9のFrontend Studyで僕が講演した際の資料です
マイクロサービスにおける性能異常の迅速な診断に向いた時系列データの次元削減手法 - ゆううきブログ
- AWSのサーバーレスは直接関係ないけど、分散システムにおける異常の特定について
- 『異常発生時に観測されたすべてのメトリックから診断に有用なメトリックを高速に抽出可能な次元削減手法であるTSifter』の研究と提案
AWS Lambdaのデプロイパッケージをどの範囲で構築すべきか | Developers.IO
- みんな悩んでるデプロイパッケージの単位に関する考察
- Lambda Layerについても
FBZにおけるドメイン駆動設計(DDD)とサーバーレスアーキテクチャを組み合わせた設計戦術 - ZOZO Technologies TECH BLOG
- ZOZOの話の続き
- ここでは主に設計面の話
- 設計していく上での具体的な課題とそれに対してどう対応していったか
AWS DevDay Online Japanに登壇しました | TECH | NRI digital
- エンタープライズに多い自社の複数サービスにおけるエンドユーザーの認証の統合
- 既存の共通認証基盤や3rd PartyのID管理サービスとの認証連携・認可機能を実装することは大変
- AmplifyとCognitoでこれらを実装する場合の話
Next.jsをサーバーレスでやっていくためのServerless Next.js Component - Sweet Escape
- 11/27のイベント資料
AWS LambdaでAPI開発するときのパターン集 - Qiita
- API開発するときのLambdaファンクションの切り方に関する考察
- 個人的には新たに作る場合は2と3のパターンはもったいない気もする。。。
- コードストレージも考慮するといいかもしれない
Application integration patterns for microservices: Running distributed RFQs | AWS Compute Blog
Understanding asynchronous messaging for microservices | AWS Compute Blog
Application integration patterns for microservices: Fan-out strategies | AWS Compute Blog
- マイクロサービスのためのインテグレーションパターンに関するシリーズ
- scatter-gatherパターンの紹介やファンアウトにおけるパターンとか
- 英語
Serverless Architecture Patterns in #AWS - DEV
- 7パターンがシンプルに整理されている
- 一目瞭然のアーキテクチャ図の掲載のみ
- 実際にはこのパターンの組み合わせで作られてることがほとんどだと思う