Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. 金森政雄 Solutions Architect, DevAx Amazon Web Services Japan G.K 開発者のためのAWS の始め方 2023年最新版
Slide 2
Slide 2 text
© 2023, Amazon Web Services, Inc. or its affiliates. 自己紹介 • 金森 政雄 Ø 所属/役職 : DevAx(Developer Acceleration) チーム ソリューションアーキテクト Ø 好きなサービス Amazon Elastic Container Service AWS Step Functions AWS Fault Injection Simulator
Slide 3
Slide 3 text
© 2023, Amazon Web Services, Inc. or its affiliates. このセッションでお話しすること • 皆さんのアプリケーション開発にクラウドがどのように役⽴つのか • AWS でアプリケーション開発を始めるときの選択肢のご紹介 • クラウドでのアプリケーション開発において意識していただきたいこと (本当は話したいけど)お話ししないこと • AWS のアカウントの作り⽅などの最も基礎的なところ • DevOps、セキュリティとガバナンスなどの実運⽤/⾃動化の話 3
Slide 4
Slide 4 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. 現代のアプリケーションに 求められるもの 4
Slide 5
Slide 5 text
© 2023, Amazon Web Services, Inc. or its affiliates. 質問 5 皆さんのアプリケーションは、 どのくらいの頻度でデプロイされていますか?
Slide 6
Slide 6 text
© 2023, Amazon Web Services, Inc. or its affiliates. 6 >150, 000, 000 Amazonにおける1年間のデプロイ数 平均すると1秒間に4.5回(0.21秒ごと)にデプロイ
Slide 7
Slide 7 text
© 2023, Amazon Web Services, Inc. or its affiliates. 8 デプロイ頻度 の低下 リリース速度 の低下 障害が増え、 復旧に時間 がかかる 低いアジリティの影響 0 20 40 60 RED YELLOW GREEN CIOによるIT プロジェクトのリスク評価 2021 (64% Risk) 6兆ドル以上 世界全体のIT障害のコスト
Slide 8
Slide 8 text
© 2023, Amazon Web Services, Inc. or its affiliates. 『 』 “…innovation is now recognized as the single most important ingredient in any modern economy…” イノベーション こそが近代経済において最 も重要な要素と考えられている。 競合よりも早く、新しい波を 創っていくことが重要
Slide 9
Slide 9 text
© 2023, Amazon Web Services, Inc. or its affiliates. イノベーションがビジネスを進化させる 新たなマーケット 新たな顧客価値 New economics 新たなデジタル製品とサービス
Slide 10
Slide 10 text
© 2023, Amazon Web Services, Inc. or its affiliates. Listen Idea Experiment Innovation Flywheel 実験がイノベーションを加速する
Slide 11
Slide 11 text
© 2023, Amazon Web Services, Inc. or its affiliates. ⽅法、プロセス、ツール、組織構造などが アジリティを阻害している DevOps は組織的な変化であり、 単なるツールの変更ではない 開発者はモダンな開発⼿法使⽤した、 モダンアプリケーションを構築できるようになる必要がある 開発者は拡張可能でセルフサービスな プラットフォームを必要とする ⾃動化とテストにより継続的なデリバリをサポートしないと、 ⾃信を持った開発は難しい アジリティが低下する理由...
Slide 12
Slide 12 text
© 2023, Amazon Web Services, Inc. or its affiliates. Self-service Platforms without Gatekeepers 何千人もの人々が大胆に実験や実行が可能な、 強力なセルフサービスプラットフォームを 作り出している そして、Amazonでもそれが使われている
Slide 13
Slide 13 text
© 2023, Amazon Web Services, Inc. or its affiliates. 16 Amazon Web Serviceとは
Slide 14
Slide 14 text
© 2023, Amazon Web Services, Inc. or its affiliates. Amazon が、ビジネス課題解決のために作り上げたITを 誰でもサービスとして利⽤できるようにしたもの ⼀般的にはクラウドコンピューティングと呼ばれている AWS (Amazon Web Services) とは
Slide 15
Slide 15 text
© 2023, Amazon Web Services, Inc. or its affiliates. クラウドとは新しいITリソース利⽤のカタチ 必要な時に、必要なだけ、低価格で ITリソースを提供
Slide 16
Slide 16 text
© 2023, Amazon Web Services, Inc. or its affiliates. Amazon Web Serviceとは データセンター ストレージ機器 サーバー ü 実際の使⽤分 のみ⽀払い ü 市場投⼊と 俊敏性の改善 ü 初期投資不要 ü スピード ü 容易なスケール アップ&ダウン ü 低額の変動費 サービス化 予め⼤規模に投資し準備する 必要な時に、必要なだけ、低価格で
Slide 17
Slide 17 text
© 2023, Amazon Web Services, Inc. or its affiliates. マネージドサービスで さらに運⽤コストを低減 ビジネスの本質ではない作業はAWSにアウトソースし 運用コストを削減、サービス開発やアプリ構築などの作業に注力 AWSサービスの一例 • ロードバランサー(Elastic Load Balancing) • Data Warehouse(Amazon Redshift) • Hadoop/Spark (Amazon EMR) • メールサービス (Amazon Simple Email Service) • VDI(Amazon WorkSpaces,Amazon AppStream 2.0) • IoT (AWS IoT) :
Slide 18
Slide 18 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWSサービスの本質はビルディングブロック。 サービスを組み合わせることで、 素早くアプリケーション構築が可能
Slide 19
Slide 19 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWS は幅広い選択肢を提供
Slide 20
Slide 20 text
© 2023, Amazon Web Services, Inc. or its affiliates. 200 以上のサービス AWS は幅広い選択肢を提供
Slide 21
Slide 21 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. どこから始めれば良い? 24
Slide 22
Slide 22 text
© 2023, Amazon Web Services, Inc. or its affiliates. やりたいこと別 AWS 開発の始め⽅ • よくあるWeb アプリケーションフレームワーク or コンテナ化されたWeb アプリケーションを開発したい • フロントエンド/モバイルのアプリケーションを開発したい • 開発環境やCI/CD が統合された開発環境が欲しい 25
Slide 23
Slide 23 text
© 2023, Amazon Web Services, Inc. or its affiliates. やりたいこと別 AWS 開発の始め⽅ • よくあるWeb アプリケーションフレームワーク or コンテナ化されたWeb アプリケーションを開発したい • フロントエンド/モバイルのアプリケーションを開発したい • 開発環境やCI/CD が統合された開発環境が欲しい 26
Slide 24
Slide 24 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWS サービスを組み合わせてインフラを構築 柔軟性が高い VPC (ネットワーク) Fargate (コンピュート) ECS (オーケストレーション) ALB (ロードバランサ) AWS Auto Scaling (オートスケール) CodeBuild (CI/CD) 手間がかかる
Slide 25
Slide 25 text
© 2023, Amazon Web Services, Inc. or its affiliates. 構築済みのインフラにすぐにデプロイ AWS App Runner インフラや AWS についての経験がなくても、 コンテナ化されたウェブアプリケーションや API を 簡単かつ迅速に AWS 上で動かせるサービス
Slide 26
Slide 26 text
© 2023, Amazon Web Services, Inc. or its affiliates. ソースコード リポジトリ 既存ツールを用いた コンテナイメージのビル ド コンテナイメージを ECR にプッシュ 開発チーム App Runner による アプリケーションのビルド自動実行 アプリケーションの デプロイ or AWS Copilot CLI からのデプロイにも対応 柔軟なアプリケーションのビルドとデプロイ
Slide 27
Slide 27 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWS App Runner の仕様概略 • ソースコード/イメージの変更を検知して⾃動でB/G デプロイ • トラフィック量に応じた⾃動スケール • ログとメトリクスの⾃動収集 • 任意のVPC への接続(DB などの閉域の資源への接続) • TLSの⾃動設定や各コンテナの独⽴した実⾏などのセキュリティ • VPC からのみアクセスできるプライベートエンドポイント • 環境変数やカスタムドメイン • 料⾦ -> コンテナインスタンス課⾦+ アドオン課⾦ ( https://aws.amazon.com/jp/apprunner/pricing/ を参照) 30
Slide 28
Slide 28 text
© 2023, Amazon Web Services, Inc. or its affiliates. デモ App Runner GitHub Repo GitHub コンテナインスタンス ロードバランサー ネットワーク (VPC) App Runner
Slide 29
Slide 29 text
© 2023, Amazon Web Services, Inc. or its affiliates. デモ コンテナインスタンス ロードバランサー ネットワーク (VPC) App Runner エンドユーザー デフォルトドメイン https://xxxxxxxx..awsapprunner.com
Slide 30
Slide 30 text
© 2023, Amazon Web Services, Inc. or its affiliates. デモ 33 Hello World と表⽰/出⼒ Node.js 製 3000 番ポート npm install で依存関係を解決 npm start で起動
Slide 31
Slide 31 text
© 2023, Amazon Web Services, Inc. or its affiliates. やりたいこと別 AWS 開発の始め⽅ • よくあるWeb アプリケーションフレームワーク or コンテナ化されたWeb アプリケーションを開発したい • フロントエンド/モバイルのアプリケーションを開発したい • 開発環境やCI/CD が統合された開発環境が欲しい 34
Slide 32
Slide 32 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWS Amplify フロントエンド開発者がアプリをビルド、デプロイ、スケールするためのツールを提供 ビルド バックエンドの 素早い構築 フロントエンドの シームレスな 作成と接続 デプロイ バックエンド スケール AWS CDK を使⽤した リソースの上書き、 追加、エクスポート
Slide 33
Slide 33 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWS Amplify 開発者のニーズに合わせて作られたツールやサービス AWS Amplify Studio • アプリのバックエンドを視覚的に構成 • データのモデル化 • 認証とクラウドストレージの設定 • AWS Amplify CLIをベースに構築 • AWS CDK を使⽤してカスタマイズし、 既存の CI/CD と統合可能 • 数⼗種類のビルド済みコンポーネント (ボタン、フォーム、など)を使って、 フロントエンド UI の視覚的な構築 • Figma からデザインを React のコードと してインポート AWS Amplify Libraries • アプリを新規または既存の AWS サービ スに接続 • 認証、ストレージ、REST、GraphQL、オ フライン、AI/ML、位置情報、関数などの ライブラリにより、機能豊富なアプリ ケーションを構築可能 • JavaScript、React、Angular、Vue、 React Native、Flutter、iOS、Android に対応 • ユースケース中⼼で、使いやすく、安全 なライブラリ AWS Amplify Hosting • Amazon の信頼性の⾼いコンテンツ デリバリーネットワークを通じて 提供される、Webアプリケーションの デプロイとホスティングのための フルマネージドサービス • 静的レンダリングとサーバーサイドレン ダリング(SSR)React、Angular、Vue 、Next.js • CI/CD ワークフローを内蔵 • フロントエンドとバックエンドを ⼀度にデプロイする Git ワークフロー
Slide 34
Slide 34 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWS Amplify を使ったビルド 12の機能カテゴリにわたるフルスタックデベロッパーの経験 ビルド AWS Amplify CLI AWS Amplify Studio AWS Amplify libraries 機能カテゴリ
Slide 35
Slide 35 text
© 2023, Amazon Web Services, Inc. or its affiliates. これからAmplify を始めてみようという⽅へ 40 AWS Hands-on for Begineers https://bit.ly/3I925oo • 短い動画での解説付きハンズオン • 無償で好きな時に始められます!
Slide 36
Slide 36 text
© 2023, Amazon Web Services, Inc. or its affiliates. やりたいこと別 AWS 開発の始め⽅ • よくあるWeb アプリケーションフレームワーク or コンテナ化されたWeb アプリケーションを開発したい • フロントエンド/モバイルのアプリケーションを開発したい • 開発環境やCI/CD が統合された開発環境が欲しい 41
Slide 37
Slide 37 text
© 2023, Amazon Web Services, Inc. or its affiliates. Amazon CodeCatalyst: 統合ソフトウェア開発サービス 42 ü マネージド ü オールインワン ü 統合されている ü セキュリティ重視 ü フレキシブル ü さらにもっと 計画 プロジェクト マネジメント コラボレーション コード ビルド テスト … デプロイ
Slide 38
Slide 38 text
© 2023, Amazon Web Services, Inc. or its affiliates. Amazon CodeCatalyst: メリット 43 プロジェクトの セットアップを加速 ⽇々のワークフロー を⾃動化 ⾃動化された環境 スムーズな コラボレーション
Slide 39
Slide 39 text
© 2023, Amazon Web Services, Inc. or its affiliates. プロジェクトの セットアップを加速 44 統合プロジェクトツール を数分でセットアップ 適切に設計された アプリケーションパターン のライブラリから選択 GitHub やJira を使い続けることも 既存のプロジェクトの 作業を継続することも
Slide 40
Slide 40 text
© 2023, Amazon Web Services, Inc. or its affiliates. ⽇々のワークフローを⾃動化 45 デプロイメントの⾃動化 セキュアなリリース⾃動化 ビジュアルエディター または YAML による作成 柔軟性に優れたマネージド コンピュートでビルド GitHub アクション との併⽤ テストとレポート作成を 効率化 ビルドの来歴 …
Slide 41
Slide 41 text
© 2023, Amazon Web Services, Inc. or its affiliates. ⾃動化された環境: 開発環境 46 必要に応じて環境の サイズを変更 コンテキストをすばやく 切り替える コードとして定義 オンデマンドで 起動 ⼈気の IDE を利⽤可能 ⾃分のコードだけに集中 開発環境の作成
Slide 42
Slide 42 text
© 2023, Amazon Web Services, Inc. or its affiliates. ⾃動化された環境: デプロイ環境 47 プロジェクト ブループリントで IaC を⽣成 サービスプロビジョニング を⾃動化 環境更新を追跡する コードのデプロイ を追跡する
Slide 43
Slide 43 text
© 2023, Amazon Web Services, Inc. or its affiliates. スムーズなコラボレーション 48 チームメイトを メールで招待 Issueの追跡 ⾃動通知を設定 プロジェクトの アクティビティを フォロー
Slide 44
Slide 44 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. これらのサービスを使えば アプリケーション開発が モダンになる?
Slide 45
Slide 45 text
© 2023, Amazon Web Services, Inc. or its affiliates. 最も重要なことは何か ビジネスエキスパートの要件を正しくサービスに反映すること モダンアプリケーションでビジネスをドライブする ビジネスのドメインモデルを正しく設計しコードに落とすこと これが最も重要なこと
Slide 46
Slide 46 text
© 2023, Amazon Web Services, Inc. or its affiliates. でもどうやって? o サービスが価値を提供するためにはビジネスについての理解が必要 o そのためにはビジネスを理解している⼈(ドメインエキスパート)の 知識が必要不可⽋ o ドメインエキスパートの要件を正しくサービスに反映させる必要がある o そのためには正しくドメインモデルの設計を⾏い、 実装コードに反映させる必要がある o ではドメインモデルを正しく設計するにはどうすれば良いのか
Slide 47
Slide 47 text
© 2023, Amazon Web Services, Inc. or its affiliates. ドメイン駆動設計 (Eric Evans - 2003) o ⾼品質なソフトウェアモデルを設計 するためのソフトウェア開発⼿法 o 設計における意思決定とドメイン 設計の議論における技術的な⽤語の 広義のフレームワークを提供 o ユビキタス⾔語 ー ビジネスドメイン エキスパートと開発者の間の意思疎通 として利⽤される⽤語によって モデリングと設計を⾏う o 戦略的な設計のためのガイドライン 境界づけられたコンテキスト、 蒸留、⼤規模な構造の考察
Slide 48
Slide 48 text
© 2023, Amazon Web Services, Inc. or its affiliates. AWS Developer Live Show - 「ドメイン駆動設計のススメ」 https://go.aws/3Q2nNgl 54 AWS公式YouTube Channel
Slide 49
Slide 49 text
© 2023, Amazon Web Services, Inc. or its affiliates. 境界づけられたコンテキスト 境界づけられたコンテキストは特定の モデルを適⽤できる限定された範囲。 コンテキストの境界を定めることで、 チームメンバーは何を⼀致させるべきで何 を独⽴して開発できるのかについての理解 を明確化し、共有できる。 https://www.martinfowler.com/bliki/BoundedContext.html Customer Ticket Product Product version Customer Product Territory Opportunity Pipeline Salesperson Defect Sales context Support context
Slide 50
Slide 50 text
© 2023, Amazon Web Services, Inc. or its affiliates. コンテキストマップ 境界つけられたコンテキストだけでは、ドメインの 全体像を⽰すことはできない。 コンテキストマップは、境界づけられたコンテキスト を統合することにより、異なるが関連するユビキタス ⾔語のマッピングを処理する。 DDDでは境界づけられたコンテキストを統合するため の7つのパターンを説明 • 共有カーネル (Shared Kernel) • 顧客/供給者の開発チーム (Customer/Supplier Development Teams) • 順応者 (Conformist) • 腐敗防⽌層 (Anticorruption layer) • 別々の道 (Separate ways) • 公開ホストサービス (Open/Host service) • 公表された⾔語 (Published language) Sales context Support context Marketing context
Slide 51
Slide 51 text
© 2023, Amazon Web Services, Inc. or its affiliates. 作成したモデルをコードに反映 • 戦術的DDD § ドメインモデルを実装に反映する § モデルと実装は繰り返し改善する § ドメインモデルがビジネスロジックに対する責務を持つ § ドメインモデルとインフラストラクチャを分離する – 依存関係逆転の原則により、ドメイン層をシステム的な関⼼ごとから分離 – ヘキサゴナル/オニオン/クリーンアーキテクチャ
Slide 52
Slide 52 text
© 2023, Amazon Web Services, Inc. or its affiliates. 参考: ヘキサゴナルアーキテクチャ 63 Domain Model Ports Adapters Primary Actor Secondary Actor HTTP Request Event Message Queue … File Storage Database Queue …
Slide 53
Slide 53 text
© 2023, Amazon Web Services, Inc. or its affiliates. 参考: ヘキサゴナルアーキテクチャ 64 Domain Model Ports Adapters Primary Actor Secondary Actor HTTP Request Event Message Queue … File Storage Database Queue … アプリケーションはポートによって接続される アダプタは外界との糊の役⽬を果たす アプリケーションの外側にあってアプリケーションを駆動する側を プライマリアクター、駆動される側をセカンダリーアクターと呼ぶ
Slide 54
Slide 54 text
© 2023, Amazon Web Services, Inc. or its affiliates. 参考︓ヘキサゴナルアーキテクチャのサンプルコード • ヘキサゴナルアーキテクチャを利⽤したLambda関数のドメインモ デルの実装Live § 動画︓ https://www.youtube.com/watch?v=whQ-P05QeDQ § 資料︓ https://pages.awscloud.com/rs/112-TZM-766/images/DEV- 09_LiveCoding_with_hexagonal_architecture.pdf • ヘキサゴナルアーキテクチャを利⽤した AWS Lambda のドメイン モデルオブジェクトサンプルコード https://github.com/aws-samples/aws-lambda-domain- model-sample
Slide 55
Slide 55 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. マネージドサービスを使うと ロックインにならない? 66
Slide 56
Slide 56 text
© 2023, Amazon Web Services, Inc. or its affiliates. マネージドサービス == ロックイン?? トラディショナル モノリシック Opsトイル “⾃由” モダン Fine-grained マネージドサービス “ロックイン” ⼀元的な⾒⽅では、不幸せかもしれない
Slide 57
Slide 57 text
© 2023, Amazon Web Services, Inc. or its affiliates. “ロックイン”にもさまざまな⾯がある • ベンダー • プロダクト • バージョン • アーキテクチャ • スキル • 法律 • メンタル
Slide 58
Slide 58 text
© 2023, Amazon Web Services, Inc. or its affiliates. それぞれ潜在的な切り替えコストを含んでいる • ベンダー • プロダクト • バージョン • アーキテクチャ • スキル • 法律 • メンタル https://martinfowler.com/articles/oss-lockin.html ベンダーAからBへの切り替えにかかるコストは? 他のプロダクトに移⾏するためのコストは? アップグレードの難しさは? リファクタリングの難しさは? ラーニングパスは?認知的負荷は? 調整や、規制⾃体の⾒直しは可能? 古くなった思い込みを捨てられるか?
Slide 59
Slide 59 text
© 2023, Amazon Web Services, Inc. or its affiliates. 違う側⾯から⾒ることで新しい気づきを得る OSSはベンダーロックインを緩和するが、 他の形式のロックインは残る (特にプロダクトとアーキテクチャ) メンタルのロックインは最も微妙で、 克服するのが難しくもある
Slide 60
Slide 60 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. プロバイダの変更 - サービスマッピング 71
Slide 61
Slide 61 text
© 2023, Amazon Web Services, Inc. or its affiliates. 複数のベンダが同じサービスを提供しているように⾒える 72 メッセージキュー サーバレス関数 NoSQL データベース “こちら” “あちら” 仮想マシン 🤔
Slide 62
Slide 62 text
© 2023, Amazon Web Services, Inc. or its affiliates. サービスアイコンの裏に隠れているもの Amazon EventBridge AWS、既存システム、 SaaS アプリケーション を通じて⼤規模な イベント駆動型アプリ ケーションを構築 • Global endpoints • API destinations • Archive and replay events • AWS Glue Schema Registry • Fully managed and scalable event bus • SaaS integration • Over 100 built-in event sources and targets • Decoupled event publishers and subscribers • Event filtering • Reliable event delivery • Automatic response to operational changes in AWS services • Scheduled events • Monitoring and auditing • Security and compliance 機能 (ドキュメントから抜粋) 加えて、サービスはそれだけで成⽴せずプラットフォームの⼀部である
Slide 63
Slide 63 text
© 2023, Amazon Web Services, Inc. or its affiliates. サービスマッピングはうまくいかない 74 ニーズとアイデア NG! 実⾏環境 “要求” 設計 “こちら” “あちら”
Slide 64
Slide 64 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. 抽象化のレイヤ 75
Slide 65
Slide 65 text
© 2023, Amazon Web Services, Inc. or its affiliates. いかなる問題も他のレベルの インダイレクションによって 解決できる。 David J. Wheeler The fundamental theorem of software engineering 76
Slide 66
Slide 66 text
© 2023, Amazon Web Services, Inc. or its affiliates. 共通の要素によって柔軟性を得られる Java “こちら” “あちら” API layer API layer HTTPS, JSON, OAuth, etc.
Slide 67
Slide 67 text
© 2023, Amazon Web Services, Inc. or its affiliates. ボトムアップの抽象化も実際にはうまくいかない 78 NG! ニーズとアイデア 実行環境 “要求” Magic layer Magic layer ?? 設計 “こちら” “あちら” ランタイムの違い 最⼩公分⺟
Slide 68
Slide 68 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. パターンによって 設計の意図を維持する 79
Slide 69
Slide 69 text
© 2023, Amazon Web Services, Inc. or its affiliates. サービスマッピングの問題点 80 ニーズとアイデア NG! 実⾏環境 “要求” 設計 “こちら” “あちら” 意図の 消失
Slide 70
Slide 70 text
© 2023, Amazon Web Services, Inc. or its affiliates. サービス利⽤に隠れた”意図”は何か? 81 メッセージフィルター メッセージトランスレーター コンテンツベースのルーター 受信者リスト ? https://www.enterpriseintegrationpatterns.com/ Amazon EventBridge
Slide 71
Slide 71 text
© 2023, Amazon Web Services, Inc. or its affiliates. プラットフォームのサービス だけを考えていると 設計の意図が失われ、 メンタルがロックインされる デザインパターンによって 意図を保つことができる 82
Slide 72
Slide 72 text
© 2023, Amazon Web Services, Inc. or its affiliates. 抽象化とスイッチングコストの⾒直し 84 NG! 意図の消失 ニーズとアイデア 実⾏環境 “要求” Magic layer Magic layer ?? 設計 “こちら” ランタイムの違い 最⼩公分⺟ “あちら”
Slide 73
Slide 73 text
© 2023, Amazon Web Services, Inc. or its affiliates. 抽象化とスイッチングコストの⾒直し 85 ニーズとアイデア NG! 実⾏環境 “要求” Magic layer Magic layer ?? 設計 意図の消失 最⼩公分⺟ “こちら” “あちら” 意図を保持 意義ある抽象化 ニーズにマッチする ランタイムの違い パターン デプロイ ⾃動化 CDK
Slide 74
Slide 74 text
© 2023, Amazon Web Services, Inc. or its affiliates. まとめ • まずは自分が作りたいものを素早く作れる サービスから初めてみましょう!! • 例) Web アプリ -> AWS App Runner フロント、モバイル -> AWS Amplify 開発環境を整えたい -> Amazon CodeCatalyst • 「どのサービスを使うか」ではなく、 「要求を実現するための」設計が大事 • パターンをうまく使って、 サービスの変更のコストは抑えましょう 86
Slide 75
Slide 75 text
© 2023, Amazon Web Services, Inc. or its affiliates. © 2023, Amazon Web Services, Inc. or its affiliates. Thank you! 87 Happy Coding!!