4.6K Views
February 16, 23
スライド概要
#ssmjp #32 最近のサーバーレスの話
秋葉原生まれ大手町育ちの歌って踊れる江戸っ子インフラエンジニア。 0と1が紡ぐ「ゆるやかなつながり」に魅せられ早20年、 SNSとCGMの力で世界を幸福にするのがライフワーク。 市民、幸福は義務です。 あなたは幸福ですか?
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 最近のサーバーレスの話 めもおきば Aki @nekoruri
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 おさらい:サーバーレスってなんだっけ? サーバーの抽象化によって登場したこのような性質をもつサービス 1. 自分でサーバーを管理しなくて良い • 完全従量課金(※)なフルマネージドサービス • 0円から使った分だけスケールしていける 2. 個々のサーバーに依存する機能を利用しない • プロセスメモリやファイルシステムはリクエストをまたいで共有 されない(ことがある) • Shared-nothingによるスケーラビリティ確保 ※ 最低限動かし続けなくてはいけない動作(に対する課金)はありうる 2
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 最近のサーバーレス開発 • 利用するクラウドサービスをどう管理するか • 「FaaSでつなげていく」はもう古い • 失敗時の再送、異常データの除外、 データの書き換え・フィルタリング、etc… • ピタゴラ装置の構成をどう管理するか • オーケストレーション • コレオグラフィー 3
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 オーケストレーション型の管理 • サービス間の組み合わせをDSLによって定義、実行するサービス • Amazon Step Functions • Azure Durable Functions • Google Workflows λ DDB SNS Step Functions (オーケストレーター) 4 https://aws.amazon.com/jp/blogs/news/new-aws-step-functions-workflow-studio-a-low-code-visual-tool-for-building-state-machines/
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 コレオグラフィー型の管理 • イベントバスを介したサービス連携として管理 • Amazon EventBridge • Azure Event Grid • Google Eventarc • 賢いPub/Sub基盤 5 https://learn.microsoft.com/ja-jp/azure/architecture/solution-ideas/articles/application-integration-using-event-grid
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 FaaS Updates AWS Lambda Azure Functions • コールドスタート時間の削減(VPC強化、snapshot複製) • 同時実行数の制御 • 同時実行数の制御 • KeyVault参照によるシークレット管理の強化 • 関数URL (API GatewayなしでHTTPS公開) • キーではなくマネージドIDによるサービス接続 • サイドカーを提供するための拡張API • 実行時間やスケールアウトなどの制限緩和 • EFS対応 • Durable Functionsの複数言語対応 Google Cloud Functions • 共通 • 第2世代でCloud Runベースに (1インスタンスで同時リクエスト可能) • Node.js、Python、Java、.NET、Goあたりが どの環境でも使えるように • インスタンス数の制御 • 関数のコンテナ化ができるように • シークレット管理の強化 • オープン化(Knative、KEDA、CloudEvents) • LB対応(Serverless NEG) 6
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 小ネタ • サーバ側ウェブフレームワーク製のアプリ、割と普通に動かせます • コンテナ化してFaaSで実行 • WSGI等の共通インターフェースへのミドルウェアがある • CloudFormation経由のデプロイが遅いと泣いていた人 ⇒Lambdaだけをデプロイするオプションが!開発体験向上! • AWS CDK:cdk watch • AWS SAM:sam sync --watch • サーバーレスって名前がついてるけど、(私の評価軸では) 全然サーバーレスじゃないサービスが増えてきたので注意 7
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 FaaSの次の戦場:CDNエッジ • CDNのエッジサーバ上でプログラムを実行 • ユーザーに「近い」「はやい」 • メモリや実行時間の制約は厳しめ(100msとか) • Cloudflare Workers、Fastly Compute@Edge、 Amazon Lambda@Edge、etc. • KVS(Cloudflare Workers KV)、SQLite(Cloudflare D1)などの 登場も後押し • WASM/WASIがひとつの共通インターフェースに • フレームワークも登場 • Hono: https://honojs.dev/ 8
Serverlessを支える技術 第4版[2022-09] 好評発売中 https://bit.ly/serverless4 まとめ • サーバーレス技術はコモディティになりつつあるけど面白いよ! • FaaSが中心人物ではなくなってきている • 様々なクラウドサービスの組み合わせ方、構成管理が重要 (オーケストレーション・コレオグラフィという型に注目) • とはいえFaaSもどんどん良くなってきている • CDNエッジが次の戦場(ただし人は選ぶ) 9