2021年6月のサーバーレス関連まとめです。こちらのイベントで取り上げる内容です。
Monthly Serverless Update 2021/05 - connpass
依然としてAWS以外のクラウドにはまだ疎いのでその辺はご容赦ください。
Update 配信のアーカイブが以下で公開されていますのでぜひそちらもどうぞ
2021年6月のリリース
いつもどおりタイトルだけで内容がわかるようなものは特にコメントしていません。各クラウドのサービスは大体このあたりを中心に取り上げます。
- 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
今月はパッとした発表はなかった感じ。強いて言うならStepFunctionsのWorkflow Studioかな。
Amazon API Gateway は、REST API を使用した Express ワークフローの同期呼び出しをサポートするようになりました
AWS Lambda Extensions がすべての商用リージョンで一般的に利用可能に
AWS Amplify が、Amplify で生成された IAM ロールでの IAM アクセス許可の境界のサポートを発表
Amazon DynamoDB Accelerator (DAX) がアプリケーションと DAX クラスター間、および DAX クラスター内の複数のノード間の転送データの暗号化をサポート
新機能 – AWS Step Functions ワークフロースタジオ – ステートマシンを構築するためのローコードのビジュアルツール | Amazon Web Services ブログ
- 最初のワークフロー作りの敷居を下げるという意味ではとても良さげ
- それよりも「ローコード」というワーディングでメッセージし始めたのが個人的には趣深い
- そういう意味ではサーバーレス、というかLambdaはグルーコード、インテグレーションコードを減らすってのがウリの一つでもあるので「ローコード」と言えるのかもしれない…
AWS SAM が AWS Lambda 向けの機械学習 (ML) 推論テンプレートを提供
- SASL = Simple Authentication and Security Layer
- 各プロトコルに認証機能や暗号化を提供するレイヤのことで最近利用してるものが増えてきてる模様(Postfixとか)
- その中でもPLAINてのは文字通り認証情報を平文でやり取りするものらしい
- で、今回の発表は自前Kafkaからのトリガーでそれをサポートするよってことらしい
GCP
GCPもあまり大した発表なし。GCPは5月に大規模イベントがあったのも影響しているかもしれない。
Setting request timeout | Cloud Run Documentation | Google Cloud
- タイムアウトが最大60分までに(GAってことらしい)
Using WebSockets | Cloud Run Documentation | Google Cloud
Using HTTP/2 | Cloud Run Documentation | Google Cloud
Using gRPC | Cloud Run Documentation | Google Cloud
- Web Socket / HTTP2/ gRPC streaminのサポートがGA
The Ruby Runtime | Cloud Functions Documentation | Google Cloud
- Rubyの2.6と2.7をサポート
The Firebase Blog: Expanding Crashlytics Support for Apple Platforms
- Apple SiliconとRosetta 2をサポート
- つまり、iOSアプリはもちろん、Rosetta2で実行されるx86 macOS アプリとARM macOSアプリがサポートされる
- あとはパフォーマンス改善も
Azure
Azureも6月はパッとしない。ていうかクラウドベンダーのサーバーレス全般がパッとしない印象。Azureも確か5月に大きなイベントがあった影響かも知れないけど。
- このリリースで初めて知ったけどAzureのAPI Managementっていくつかのプランに分かれてるのか
- それぞれサポートされる機能に差分があるみたい
- 一番ビックリしたのは下から2番めのプラン以上は課金が時間単位ということ
Open source API portal now generally availabile | Azure の更新情報 | Microsoft Azure
その他
Next.js 11, Next.js Live and more: A recap of Next.js Conf Special Edition – Vercel
- Next.js 11が発表された。Script componentとかが新しいところ
- Next.js Liveというリアルタイムコラボレーションが可能なプラットフォームも発表(プレビューリリース)
$102M to Continue Building the Next Web, Together – Vercel
- 去年春の2100万ドル、冬の4000万ドルに続いて今回は1億2000万ドルを調達
- 日本のポジションもオープンしてるし狙い目かも知れない
Deno Deploy Beta 1 | Deno Blog
- 最初のベータリリースであるBeta 1をリリース
- 今後も機能を追加しつつベータリリースを繰り返し、最終的にGAは2021年Q4を狙ってるとのこと
その他ブログなど
Salesforce Functionsがベータ公開、Salesforceプラットフォームでサーバレスを提供 - Publickey
- Salesforce Functionsという独自のFunctionサービスを提供。データに対して処理する感じだろうけど相性良さそう
- 対応言語はNode.js/JavaScript、Java、Apex。ApexってのがSalesforceらしい
- FunctionsだけでなくてPostgreSQL、Redis、kafkaのマネージドサービスも提供されるということでSaaSだけでなくPaaSの性格も強めてきたのかな
CircleCI + Serverless でコンテナ環境を AWS Lambda に自動デプロイ - Qiita
- Lambdaでコンテナイメージ使うとき用にCircleCIでイメージビルドしてECRへ登録
【開催報告&全資料まとめ&録画公開】Amplify Meetup #03 | Amazon Web Services ブログ
- Amplify Meetup3回目の開催報告
- 5件ほどの事例が発表された模様
- 個人的な注目は昨年のJAWSイベントの配信システムの裏側を紹介した松井さんの『Amplifyで作る配信サイト/ビデオチャットWebアプリ』
[AWS CDK] API Gatewayのログ出力を有効にしてCloudWatch Logsでログを確認してみた | DevelopersIO
AWS LambdaのJava 8ランタイムがAmazon Correttoへ。OpenJDKから移行するとAWSが発表 - Publickey
- 移行したくない人向けにOpenJDKを使い続ける設定も用意される模様
- APIのエンドポイントをAPI Gatewayで提供する場合とALBで提供する場合のコスト比較
- HTTPエンドポイントをAPI GatewayではなくてALBで提供することを検討した人もいるのでは?
- 個人的にはシンプルに提供するならばALBも全然ありだと思ってる
- ちなみに自分も少し考えている
CloudFront FunctionsはLambda@Edgeより安い。それ本当?! | DevelopersIO
- CloudFront FunctionとLambda@Edgeのコスト比較
- このシナリオでは予想外にLambda@Edgeのほうがやすかった模様
Datadog APMで実現するサーバーレスアーキテクチャの分散トレーシング - ZOZO Technologies TECH BLOG
Serverless FrameworkがLambda用コンテナを自動でECRにデプロイできるようになってた件
- Serverless FrameworkがLambda用コンテナをビルドしてECRにプッシュまでするだと!?
Step FunctionsからLambda関数を実行する書き方2つの違い | DevelopersIO
- 2種類のASLの書き方に関して、違いとか
- 書き方によってコールバックタスクが書ける/書けないとか引数の渡し方などに違いが
【Node.js/Next.js】Cloud Runで動作する軽量なDockerを構築してみた
- 非常に軽量なイメージであるDistrolessとマルチステージビルドで軽量化
SAM+TerraformでLambdaの管理を楽にする | DevelopersIO
もしかして App Runner 上 Next.js の SSR で直接 DynamoDB 呼べますか?
- SSRをやるのにApp Runnerいいよね
- App RunnerからDynamoDBも(当然)つながる
CloudFront FunctionsでIP制限を試してみた | DevelopersIO
【小ネタ】Lambda関数に画像データを渡す | DevelopersIO
- base64エンコードしてpayloadに直接入れるて渡すやつ
- payloadのサイズは最大6MBで、base64エンコードすると少し容量が増えるのでそれ以下ならありかと
- Lambda FunctionでデコードすることになるけどそのCPU利用が気になるケースはあるのだろうか?
Cloud Runをコマンドやスクリプトを実行するサーバレスジョブ基盤として使う
- 小さいバッチをCloudRunで
Next.jsとmicroCMSでカップラーメン食べた回数カウンターを作る
- Next.jsの環境をLambda@EdgeとS3でやってる