Slide 1

Slide 1 text

AWS Amplify 導入の課題を 相談させてLT Serverless Meetup Japan Virtual #26 2023/03/01 木原卓也 / @tacck 1 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 2

Slide 2 text

Serverless Meetup Japan Virtual #26 / #serverlessjp 2 木原 卓也 Kihara, Takuya / @tacck 生活協同組合コープさっぽろ ゆるWeb勉強会@札幌 AWS Community Builder デジタル推進本部システム部 主催 Amplify Japan User Group 運営メンバー Q2 2021, 2022 / Category: Front-end Web and Mobile 好きなフィギュアスケートの技 スプレッド・イーグル

Slide 3

Slide 3 text

AWS Amplify や Serverless 技術って 良いですよね 3 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 4

Slide 4 text

でも、どうやって 社内に拡げていますか? 4 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 5

Slide 5 text

私の現状 • レガシーなシステムからの脱却真っ最中の組織 • ホストの切り替え • 古いオンプレシステムのAWS移行 • 基本はいわゆる「Webシステム」の形式 (アプリ+DB) • 個人的には • AWS Amplify 使った個人開発、副業 5 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 6

Slide 6 text

開発志向のフェーズ フェーズ 基本志向 処理タイミング データ連携⽅式 1. ホスト(COBOL) 中央集権志向 バッチ中⼼ ファイル 2. Webシステム インスタンス志向 * アプリケーションサーバ + DBサーバ バッチ中⼼ ファイル > API 3. サーバレス型 バックエンド志向 * Container / Function バッチ + イベント ファイル < API フロントエンド志向 * AWS Amplify / Google Firebase イベント中⼼ API 6 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 7

Slide 7 text

私の現状 • レガシーなシステムからの脱却真っ最中の組織 • ホストの切り替え • 古いオンプレシステムのAWS移行 • 基本はスタンダードな「Webシステム」の形式 (アプリ+DB) • 個人的には • AWS Amplify 使った個人開発、副業 7 Serverless Meetup Japan Virtual #26 / #serverlessjp 組織はフェーズ1から2への 転換期 個人はフェーズ3(フロントエンド)中心

Slide 8

Slide 8 text

フェーズ3転換に向けての課題 • システム • ファイル連携で業務が回る。 • ある意味ではマイクロサービスだが柔軟性は無い。 • システムが構築された時の組織の形に沿ったもの。 • 時間が経過し、現在の組織の形としては扱いづらいことも多い。 • スキル • 長く勤めるベテランが多く、フェーズ1のスキルからフェーズ2へ転換できるか どうか、というところも考慮ポイント。 • パートナーも長く関係を持っているところが中心なので、 フェーズ3中心で依頼できるかは未知数。 8 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 9

Slide 9 text

ここでみなさんに教えて欲しいこと • こういった組織、システム構成の中で、 どうすれば人も組織も Serverless 志向に向かえるか? • 既存のシステムの更改時に、どこまで踏み込めるか? • 新規開発なら、どこまでできるか? • メンバーへの教育、投資で、どこまで効果が得られるか? • そもそも必要なのか? 9 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 10

Slide 10 text

個人的な過去の実践例 • ある事業の基幹システムのリプレース • 開発初期の立ち上げメンバーとして参画。 • 基本的な技術スタックとアーキテクチャの構築、基本動作実装まで。(3ヶ月程度) • メイン機能は SaaS を利用し、補助機能の開発に関わる。 • PMからのオーダー 「要件を満たしつつ、私が最速で作れて引き継ぎもできれば何でも良い。」 • その時の私の頭の中 • AWS Amplify でやりきりたいけど、引き継ぎで詰みそう。 10 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 11

Slide 11 text

実際に選んだ技術スタック • フロントエンド • Vue.js + Amplify Hosting (WAF + CloudFront + S3) • Google Spreadsheet (GAS) [要件] • バックエンド • API Gateway + Lambda Functions (Node.js / TypeScript) • RDS Proxy + RDS PostgreSQL [要望] • 補助ツール • ノーコード/ローコードツールによるデータ集計、連携処理実装 [要件] • このツールでRDBを利用 [要望] 11 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 12

Slide 12 text

技術スタックの選択時に考えたこと • 自分の参画の制限 • 期間限定(3ヶ月) かつ、稼働時間の50% • 詳細の実装は、パートナーへ引き継ぎ必要 • 選択時には、どういう人に引き継げるかは未確定 • 補助ツールとの連携 • データ処理のメインはノーコードツール • RDSだと、そのツールで使いやすい • 引き継ぎの懸念 • フェーズ2はできる人だと思うが、、、という人に渡せる範囲であるべき • 離脱後は別業務が決まっているので、サポートは限定的になること確定 12 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 13

Slide 13 text

技術スタックの比較と選択 • データベース • DynamoDB ではなく RDS • API • AppSync (GraphQL) ではなく API Gateway (REST) • インフラ管理 • Amplify Custom ではなく AWS CDK • Amplify は Hosting のみ管理。 Amplify Hosting、 Lambda Functions、 AWS CDK の利用を チャレンジングな選択として採用。 13 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 14

Slide 14 text

結果として • 引き継ぎもそれなりにできた。 • プロジェクト自体も無事に完了し、 新システムは現在も問題なく稼働。 • ただ、この選択や思考で十分だったのか、 というところにいまいち自信が持てていない。 みなさんの Serverless 導入観点や判断ポイントを 教えてください!! 14 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 15

Slide 15 text

PR 15 Serverless Meetup Japan Virtual #26 / #serverlessjp

Slide 16

Slide 16 text

Amplify Boostup #2 Amplify のイベントを久々にやります!! 2023/03/17(金) 19:00〜21:00 CFP〆切は3/3! まだ間に合う!! 16 Serverless Meetup Japan Virtual #26 / #serverlessjp https://aws-amplify-jp.connpass.com/event/273121/

Slide 17

Slide 17 text

終 17 Serverless Meetup Japan Virtual #26 / #serverlessjp