Slide 1

Slide 1 text

AWS re:Invent 2024 re:Cap ~アプリ開発に関するトピックス~ 2024/12/19 KDDIアジャイル開発センター 平井 友樹

Slide 2

Slide 2 text

1 KDDI Agile Development Center Corporation 自己紹介 平井 友樹 (Tomoki Hirai) @AllJokin KDDIアジャイル開発センター株式会社(KAG) • Webアプリエンジニア/モバイルアプリエンジニア • AWS, React, Flutter, GCPなど

Slide 3

Slide 3 text

社外秘X 2 KDDI Agile Development Center Corporation re:invent開催前(pre re:invent)とre:inventの 個人的注目アップデートについて発表します!

Slide 4

Slide 4 text

社外秘X 3 KDDI Agile Development Center Corporation pre re:Invent 2024のアップデート

Slide 5

Slide 5 text

4 KDDI Agile Development Center Corporation AWS LambdaがPythonと.NETのSnapStartをサポート • 2022年に追加されたJavaに加えてPythonと.NETもサポート • スナップショットにより初期化処理を高速化 • ColdStartにおける起動時間を数秒から1秒未満に短縮

Slide 6

Slide 6 text

5 KDDI Agile Development Center Corporation AWS Step FunctionsがvariablesとJSONataをサポート • variables ◦ ステートマシン内で使える変数機能が追加 ◦ 従来はStepの出力をバケツリレーしていく必要があったが、不要になる • JSONata ◦ 従来のJSONPathに比べて高度なJSON処理が可能になり、処理が簡略化 $x $x $x $x

Slide 7

Slide 7 text

6 KDDI Agile Development Center Corporation JSONata JSONデータを操作するための軽量かつ強力なクエリ言語および変換言語 • JSONPathより直感的で便利な関数が使える JSONPath JSONata Filter random uuid

Slide 8

Slide 8 text

7 KDDI Agile Development Center Corporation Aurora Serverless v2が0キャパシティのスケーリングをサポート • これまでの最小は0.5だったが、0に変更できるようになった • 0からの起動には時間がかかるので注意が必要

Slide 9

Slide 9 text

8 KDDI Agile Development Center Corporation CognitoにManaged LoginとPasswordless Loginを提供 • Managed Login ◦ ノーコードでログイン画面やMFA設定画面などをカスタマイズ可能 • Passwordless Login ◦ 生体認証、パスキー、EmailとSMSによるパスワードレスログインを簡単に実装可能

Slide 10

Slide 10 text

社外秘X 9 KDDI Agile Development Center Corporation re: Inventのアップデート

Slide 11

Slide 11 text

10 KDDI Agile Development Center Corporation Amazon Aurora DSQL PostgreSQL互換の分散データベース • 事実上無限のスケーラビリティ • マルチリージョン対応 • サーバレス • PostgreSQL互換 • Google Spannerに比べて4倍早い CEO Keynote with Matt Garman

Slide 12

Slide 12 text

11 KDDI Agile Development Center Corporation Aurora DSQL シングルリージョン • Compute, Transaction log, Storageの各レイヤーが個別にスケール • 3つのAZにわたるアクティブ・アクティブ構成によりレプリケーションラグやフェイルオーバーが最小限 • Compute LayerにはFirecracker(LambdaのVM)を使用

Slide 13

Slide 13 text

12 KDDI Agile Development Center Corporation Aurora DSQL マルチリージョン • 2つのアクティブなリージョンと1つのウィットネスリージョン • ウィットネスリージョンではトランザクションログを管理する

Slide 14

Slide 14 text

13 KDDI Agile Development Center Corporation Aurora DSQLとRDSのサーバレスアーキテクチャ VPCとRDS proxyが不要になる AWS Cloud Virtual private cloud (VPC) AWS Lambda Amazon Relational Database Service (Amazon RDS) Amazon RDS proxy instance AWS Cloud Amazon Aurora DSQL AWS Lambda

Slide 15

Slide 15 text

14 KDDI Agile Development Center Corporation Amazon Aurora DSQL の同時実行制御 楽観的同時実行制御(OCC) • ロックを使わずにトランザクションを進行させ、競合が発生した場合に解決 • 分散環境でのスケーラビリティ向上 • 失敗時のリトライ処理の実装が必要 BEGIN ; UPDATE accounts SET balance = balance - 30, version = version + 1 WHERE id = 1 AND version = 1 ; COMMIT ; BEGIN ; UPDATE accounts SET balance = balance + 50, version = version + 1 WHERE id = 1 AND version = 1 ; COMMIT ; 失敗 成功 トランザクションA トランザクションB 同じデータを更新

Slide 16

Slide 16 text

15 KDDI Agile Development Center Corporation もっと知りたい人はYotubeでセッションが公開されています

Slide 17

Slide 17 text

16 KDDI Agile Development Center Corporation まとめ • 既存サービスに嬉しいアップデート ◦ Lambda, Step Functions, Aurora Serverless, Cognito • Amazon Aurora DSQLに期待 ◦ DynamoDBのように気軽にRDBが使える ◦ プレビュー版で無料で使えるので、気になった方はぜひ

Slide 18

Slide 18 text

Be a Change Leader. アジャイルに力を与え 共に成長し続ける社会を創る