2021年5月のサーバーレス関連まとめです。こちらのイベントで取り上げる内容です。
Monthly Serverless Update 2021/05 - connpass
今月からはAWSに限らずサーバーレス全般のアップデートやトピックを取り上げて行く予定ですが、AWS以外のクラウドにはまだ疎いのでその辺はご容赦ください。
2021.06.01 Update
配信動画のアーカイブはこちら
2021年5月のリリース
いつもどおりタイトルだけで内容がわかるようなものは特にコメントしていません。各クラウドのサービスは大体このあたりを中心に取り上げます。
- AWS: AWS Lambda, Amazon API Gateway, AWS StepFunctions, Amazon EventBridge, Amazon S3, Amazon DynamoDB, AWS Amplify, AWS AppSync
- GCP: Firebase全般, CloudFunctions, CloudRun
- Azure: Azure Functions, AppServiceあたり? 正直全然わからん
AWS
5月はあまり数はなかった感じ。
Amazon CloudFront が軽量エッジコンピューティング機能である CloudFront Functions を発表
- 個人的には5月最大のアップデート
- これまでCloudFrontではLambda@Edgeというものが提供されていたけれど、今回のアップデートで真のエッジコンピューティングが実現
- 軽量な一方で制限も多いので処理量が多い場合などはこれまで通りLambda@Edgeを
- 現状ではJavaScriptのみ対応
- ECMAScript 5.1互換だけどES6から9の一部の機能もサポートしてるそう
- 一方でJSの一部記法に制限があり
- CommonJS系なNode.jsな書き方はそのままだと動かない可能性ある
AWS Step Functions が EventBridge への Amazon カスタムイベントのサポートを開始
Amazon EventBridge が同じアカウントとリージョン内の複数のイベントバス間でのイベント共有をサポート
AWS Amplify Hosting が Next.js ウェブアプリのサーバーサイドレンダリング (SSR) サポートを発表
- 対応しているのがNext.jsのv9ってのが残念
- 早くv10対応お願いします
- ISRは依然として無理
AWS ソリューションの実装 - Serverless Bot Framework がお客様による Amazon Lex チャットボットの利用場面を拡大するための新しい統合を追加
AWS Lambda Extensions が一般的に利用可能に
- ようやくGA(それまでまだGAじゃなかったの知らなかった)
Amazon API Gateway REST APIs integrates with Step Functions Synchronous Express Workflows
GCP
Google I/OがあったからFirebaseは多め。言語ごとのSDKとかCLIのアップデートも多くてこっちは取り上げるかどうかは悩みどころ。GCPについてはCloudRunはいくつかあるけどCloud Functionsについてはなし。
Identity-Aware Proxy overview | Google Cloud
- IAPがCloudRunでサポートされるようになったようです。ただし、プレビュー
Using secrets | Cloud Run Documentation | Google Cloud
- Cloud Run で Secret Manager のシークレットをサポートするようになったようです
- これもプレビュー
Optimizing service accounts with Recommender | Cloud Run Documentation
- これもプレビュー
- Recommenderを使ってCloud Runのサービス アカウントを最適化し、必要な権限を最小限にしたりってのができるようになったそう
Enabling Binary Authorization (Cloud Run) | Google Cloud
- これもプレビュー。てかプレビューばっかだな。
Using customer managed encryption keys | Cloud Run Documentation
- プレビュー
- Cloud Runで顧客管理の暗号鍵が使えるようになった
The Storage Emulator joins the Emulator Suite for broader backend coverage
Firebase App Distribution now supports Android App Bundles for streamlined testing
Strengthening app security with App Check
New modularized Web SDKs improve load times
More Extensions for adding features and functionality
Enhanced search, filtering, and games reporting in Crashlytics
Unveiling realtime data for Performance Monitoring and a revamped dashboard
Remote Config updates help you better visualize and optimize your app configuration
Azure
Azure Static Web Apps is now generally available | Azure の更新情報 | Microsoft Azure
- モダンなフロントエンドWebアプリとAzure FunctionsベースのAPIをまるっとデプロイできるサービス
- Vue/React/Angularに加えて.NETもサポートされてるのがAzureっぽい
- SSRに対応してるかとかはちょっとわからず。でも例えばNext.jsで
getServerSideProps
使われてたらAzure Functionsで良しなにやってくれるとかだったら熱い
PowerShell support in Durable Functions is now generally available | Azure の更新情報 | Microsoft Azure
General availability: Logic Apps with new hosting options | Azure の更新情報 | Microsoft Azure
その他
Surfacing the Environment of Deployments and Domains – Vercel
- ドメインのリストとか見れるようになった
Detailed Usage metrics for Personal Accounts – Vercel
- 最近追加されたUsage Metricsの画面がProとEnterpriseプランだけでなくHobbyプランのアカウントでも見れるようになった
Usability improvements for Netlify Function logs
- Netlify functionのログ表示が大幅に改善されたと
- フィルタできるようになったりした
Configure Netlify Build Plugins to run only in specific deploy contexts
- プラグインを特定コンテキストのみで実行するってことができるようになった
Next-generation of Deploy Previews and Netlify acquisition of FeaturePeek
その他ブログなど
Selenium, AWS Lambda, AWS Fargate, AWS Developer Tools を使ったサーバーレスなUIテスト | Amazon Web Services ブログ
- UIテストの実行環境をサーバーレスで用意するらしい
- 仕組みがごつい
- Headlessブラウザを組み込んだコンテナをビルドしてLambdaで使ったりFargateで使ったり
App Runnerの登場とAmplify ConsoleのSSR対応でVPCレスなAWSアーキテクチャを夢見た話
- 今回取り上げてないけど次世代のWebアプリケーションホスティングプラットフォームと言えるApp RunnerとAmplify Consoleでフロントエンドをホストするには的な
- Vercel/Netlify以外でSSRとかISRしようとするとコンテナ必須な現状なのでこういう時にNode.jsをサポートしてるApp Runnerはいいよね
- 一方でコンテナすら面倒見たくない自分は…
- Azure Functionsがオンプレでも動かせるように
AWS Step FunctionsとSSM RunCommandでWebシステムの起動・停止のジョブネットを組んでみた | DevelopersIO
- みんな大好きジョブネットをStepFunctionsとSSMで
- そういえば一昔前はScheduler as a Serviceをめっちゃリクエストされましたね
lambda@edge上でwasmを使用した画像リサイズにおける速度
Next.js + Prisma + NextAuth.js + React Queryを試した - $shibayu36->blog;
- Next AuthにPrisma良さそう
Serverless Framework & DockerによるローカルフレンドリーなLambda開発・運用
- Serverless Frameworkが実行できるDockerイメージ作ったり
- Native Extensionを利用するのでLambda Layer作ったり
- Dockerを活用したLambdaの開発をする話
エッジでJavaScriptを実行するCloudFront Functionsのユースケースまとめ | DevelopersIO
Lambda@Edge 関数のログが見つからないときの対処方法 | DevelopersIO
- 知見だ
esbuild を使って AWS Lambda (Node.js) を2秒でアップデートする
- Serverless Frameworkを使ったアップデートも意外と速いって印象
- ビルド時間が速いとされてるesbuildを使って自前でアップデート処理を実装することでもっとさくさく開発できるのではって話
- かなり短くできたらnodemon使ってライブアップデートっぽいことするのも可能、と