1.4K Views
February 24, 24
スライド概要
.NETラボ 勉強会 2024年2月 - AOAI, AD, ME, .NETなど -
https://dotnetlab.connpass.com/event/309012/
ヴイエムウェア株式会社 プリンシパルエンタープライズアーキテクト。Microsoft で13年間、テクニカルエバンジェリストとして .NET、Visual Studio、Windows、iOS、Android、Microsoft Azure 等の開発者向け最新技術啓発活動を実施。その後、Dell、Accenture、Elastic 等を通じて現職でも同様の活動を実施。 2019年4月〜2021年8月迄、内閣官房 IT 総合戦略室 政府 CIO 補佐官を兼務、2021年9月〜2024年3月迄、デジタル庁 PjM ユニット ソリューションアーキテクトを兼務。 2022年、企業向けに技術顧問、クラウド等開発技術トレーニング、技術マーケティング支援、エバンジェリスト業務、エバンジェリスト養成などを行う合同会社デベロッパーアドボケイトを設立、数社の技術顧問業務や、トレーニング等を実施。
Azure Spring Apps Enterprise 新フィットネス アプリのご紹介 - Azure OpenAI Service による AI アシスタント追加他 - 鈴⽊ 章太郎 プリンシパルエンタープライズアーキテクト ヴイエムウェア株式会社 2024/02/24 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
鈴⽊ 章太郎 X (Twitter) : @shosuz ヴイエムウェア株式会社 プリンシパルエンタープライズアーキテクト Microsoft で13年間、テクニカルエバンジェリストとして .NET、Visual Studio、Windows、iOS、Android、 Microsoft Azure 等の開発者向け技術啓発活動を 実施。その後 Dell、Accenture、Elastic での開発者 向け技術啓発活動等を経て現職。 モダンアプリケーション開発、マルチクラウド対応、アーキ テクチャ策定等を中⼼に、開発者向け最新技術啓発 活動中。 2019年4⽉〜2021年8⽉、内閣官房 IT 総合戦略室 政府 CIO 補佐官、2021年9⽉より、デジタル庁 プロジェクトマネージャーユニット ソリューションアーキテクト を兼務。 https://www.docswell.com/user/shosuz Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
プラットフォームの認知度を⾼め、開発者の準備態勢を整える さまざまな接点とそれらを増やす機会を探りつなげていく マルチクラウドの浸透 プラットフォームの認知 Spring の普及啓発 デベロッパーアドボカシー Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3
Agenda l Azure Spring Apps 概要 l Java/OpenAI/Azure Spring Apps AI ショッピング カートアプリ l Enterprise 向け新フィットネスストアアプリ l その他の新機能 l まとめ Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 4
Azure Spring Apps 概要 https://learn.microsoft.com/en-us/azure/spring-apps/ Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 5
Azure Spring Apps Spring Boot マイクロサービス向けの完全なマネージドサービス Azure のエコシステムとサービスの多くの選択肢と完全な統合 Azure Active Directory Azure Monitor DIY with Spring Boot 責務 Azure Database for MySQL Azure Spring Apps Service アプリケーションの統合、デバッグ Azure Cosmos DB CI/CD クラスタのビルドと管理 メトリクス ログ トレーシング サービス バインディング Managed Identities Service Principals Azure Spring Apps Service Runtime User Environment Azure Cache for Redis Spring Cloud ミドルウェアのホスト モニタリングとロギング Git リポジトリ Config Source App 1 App 2 App N Config Server Service Registry Lifecycle Mgmt. App Resiliency Log Stream Data Encryption Custom Domain SelfDiagnostics スケーリング パッチ Azure DevOps CI/CD サポート Azure Spring Apps agents GitHub お客様 VMware Microsoft Jenkins Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. Azure Kubernetes Service 6
Spring Boot マイクロサービス向けの完全なマネージドサービス Azure エコシステムの⼀部としてストレージ、データベース、監視など他の Azure サービスに簡単にバインドできる • • • • • ユーザーはインフラストラクチャの管理に煩わされることなく、アプリの構築と実⾏に集中できる Spring Boot アプリに JAR やコード、または Steeltoe アプリに ZIP ファイルをデプロイすると、Spring サービスランタイムと 組み込みのアプリ ライフサイクル サポートにアプリが⾃動的に接続される 監視が容易であり、デプロイ後、アプリのパフォーマンスを監視し、エラーを修正して、アプリケーションを迅速に改善できる Azure のエコシステムとサービスへの完全な統合 フルマネージド インフラストラクチャと組み込みのライフサイクル管理を備えたエンタープライズ対応性あり Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 7
Azure Spring Apps を使⽤する理由 アプリケーションを Azure Spring Apps にデプロイして得られる利点 l 既存の Spring アプリを効率的に移⾏し、クラウドのスケーリングとコストを管理 l Spring Cloud のパターンを使⽤したアプリの最新化により、俊敏性とデリバリーのスピードを向上 l クラウド規模で Java を実⾏し複雑なインフラストラクチャなしで使⽤率向上 l コンテナー化の依存関係なしで迅速に開発およびデプロイ l 運⽤ワークロードを効率的かつ簡単に監視 ※ Azure Spring Apps では、Java Spring Boot と ASP.NET Core Steeltoe の両⽅のアプリがサポート Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 8
Steeltoe とは︖ .NET 開発者がマイクロサービスやその他のクラウドネイティブなパターンを実装できるようにするライブラリ群 l Java 向けの Spring Boot と 似ており Spring Bootにインス パイアされている l .NET エコシステム向けに特別に 設計されており、.NET アプリ ケーション内で Spring ⾃体を 直接使⽤することはできない l 構成管理、サービスディスカバ リー、サーキットブレーカーなどの 機能を提供することで、マイクロ サービスの構築を容易にし、クラ ウド環境での .NET アプリケー ションの開発、デプロイ、管理を 容易にする Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 9
Java/OpenAI/Azure Spring Apps AI ショッピングカートアプリ https://learn.microsoft.com/en-us/samples/azuresamples/app-templates-java-openaispringapps/app-templates-java-openai-springapps/ Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 10
アプリケーションアーキテクチャ フロントエンド React アプリをコンテナアプリとしてホストする Azure Container Apps (環境) 及び Azure Spring Apps Standard コンサンプション及び専⽤プラン • AI ショッピング カート サービスを Spring アプリとして ホストする Azure Spring Apps • フロントエンドの Docker イメージをホストする Azure Container Registry • AI ショッピング カート サービスのデータを保存する Azure Database for PostgreSQL (フレキシブル サーバー) • 監視とログ記録を⾏う Azure Monitor • 栄養分析を実⾏し、トップ 3 のレシピを⽣成する Azure OpenAI • azd up コマンドを使⽤して作成される単⼀の リソース グループ (Azure OpenAI は別途デプロイ) デプロイは簡単︕ Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. https://learn.microsoft.com/en-us/samples/azure-samples/app-templates-java-openai-springapps/app-templates-java-openai-springapps/ 11
ソースコード https://github.com/azure-samples/app-templates-java-openai-springapps/tree/main/ Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 12
Azure OpenAI Service のデプロイ Portal で先にデプロイしておき (GPT-3.5 or GPT-4)、それを azd コマンド実⾏時にセットする # Set the environment variables for Azure OpenAI • azd env set azureOpenAiApiKey <replace-with-Azure-OpenAi-API-key> • azd env set azureOpenAiEndpoint <replace-with-Azure-OpenAi-endpoint> • azd env set azureOpenAiDeploymentId <replace-with-Azure-OpenAi-deployment-id/name> # To use GPT-3.5 Turbo model set this environment variable to false • azd env set isAzureOpenAiGpt4Model true Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 13
Demo Java/OpenAI/Azure Spring Apps AI ショッピングカートアプリ https://learn.microsoft.com/enus/samples/azure-samples/apptemplates-java-openai-springapps/ Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 14
Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 15
Azure Spring Apps ランディングゾーンアクセラレータ 多⾔語アプリケーションのデプロイ、Tanzu コンポーネントのサポート、SLA 保証を求める場合に最適 https://github.com/Azure/azure-spring-apps-landing-zone-accelerator l Azure Spring Apps ランディング ゾーン アクセラレータ Boot アプリケーションをデプロイするために使 ⽤できるAzure Spring Apps リファレンス アーキテク チャを作成する⼿順)を参照 (Spring l 運⽤対応インフラストラクチャのプロビジョニングと、Spring Boot および Spring Cloud アプリの Azure Spring Apps へのデプロイを合理化するように設計されたアーキ テクチャガイダンスを提供 l ワークロード所有者は、ランディング ゾーン アクセラレータ で提供されるアーキテクチャ ガイダンスを使⽤して、⾃信を 持って⽬標の技術的状態を達成 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 16
Enterprise 向け 新フィットネスアプリご紹介 https://learn.microsoft.com/ja-jp/azure/springapps/enterprise/quickstart-fitness-store-azureopenai Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 17
Azure Spring Apps Enterprise = Tanzu Application Platform as a Service Kubernetes 上の開発者体験を向上するアプリケーションプラットフォーム https://learn.microsoft.com/ja-jp/azure/spring-apps/overview#enterprise-plan デベロッパーの⽣産性向上 ⾼速なビルドと持続可能な 本番環境へのパス デベロッパーとインフラエンジニアの 仕事を調整 ↑ AKS、EKS、GKE、TKG、その他殆どの K8s クラスターで稼働 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 18
開発者の⽣産性向上 標準環境の構築により、開発チーム全体の標準化を促進、チームの⽣産性を向上 l プロジェクト開始にどれくらいの期間を要していますか︖ n 開発チームの標準ポータル l 開発環境の構築にどれくらいの期間を要していますか︖ n アプリケーションの標準テンプレート l プロジェクト標準はお持ちですか︖ n アプリケーションフレームワーク (Spring) n 開発者の⽣産性を阻害しない開発環境 • アプリケーションの標準テンプレート ü 多様な⾔語によるプロジェクトの標準テンプレートにより、 プロジェクトの開始をスムーズに ü 雛形のコードを⾃動⽣成 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. • 組織カタログ、API ポータル、ツールアドイン他 ü 標準 API やデータアクセスのためのポータルを提供 ü Visual Studio Code, Visual Studio, IntelliJ ⽤拡張機能 19
フィットネス ストア サンプル アプリの概要 https://learn.microsoft.com/ja-jp/azure/spring-apps/enterprise/quickstart-sample-app-acmefitness-store-introduction • ドメインごとに分割された次のサービスで構成 • • • • 4 つの Java Spring Boot アプリケーション: • カタログ サービス、使⽤可能な製品をフェッチする ための API • 決済サービス、ユーザーの注⽂に対する⽀払いを 検証および処理 • ID サービスは、認証されたユーザーへの参照を提 供 • Assist Service、フィットネスストアに AI 機能を 提供 1 つの Python アプリケーション: • カートサービス、購⼊⽤に選択されたユーザーの アイテムを管理 1 つの ASP.NET Core アプリケーション: • 注⽂サービス、ユーザーのカートにある製品を購⼊ するように注⽂ 1 つの NodeJS と静的 HTML のアプリケーション: • フロントエンド、他のサービスに依存するショッピング アプリケーション Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 20
フィットネス ストア サンプルアプリのデプロイ⼿順 https://learn.microsoft.com/ja-jp/azure/spring-apps/enterprise/quickstart-deploy-apps-enterprise • • • • • • • • アプリのビルドとデプロイ シングル サインオンの構成 Azure Database for PostgreSQL と Azure Cache for Redis を統合 Key Vault を使⽤してアプリケーション シークレットを読み込む アプリケーションをエンドツーエンドで監視 する 要求レートの制限を設定する 配置の⾃動化 Azure Open AI を統合する Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 21
Demo Enterprise 向け 新フィットネスアプリご紹介 https://learn.microsoft.com/ja-jp/azure/springapps/enterprise/quickstart-deploy-apps-enterprise https://learn.microsoft.com/ja-jp/azure/springapps/enterprise/quickstart-fitness-store-azure-openai Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 22
Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 23
その他の新機能 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 24
Microsoft - Azure Spring Apps Enterprise が Azure のコンピュート節約プランの対象となりました https://techcommunity.microsoft.com/t5/apps-on-azure-blog/azure-spring-apps-enterprise-is-now-eligible-for-azure-savings/ba-p/4021532 l Enterprise プランのすべての Azure Spring Apps リージョンは、Azure Savings Plan にコミットすると、⼤幅なコスト削減 (1 年間 で 20%、3 年間で 47%) の対象となります。 l 節約プランにコミットすると、使⽤するリソースを 1 時間あたりのコミットメント⾦額まで節約できます。⼀括で⽀払うか毎⽉⽀払うかを選 択できます。⼀番良いところ︖Savings Planをオンにしても、現在の設定やアプリが台無しになることはありません。すべてが通常通りに 実⾏されている間、節約を得ることができます。⼤規模なアプリを実⾏している場合、このプランで投資を最適化できます。これにより、 Azure Spring Apps Enterprise の使⽤にかかる全体的なコストが削減されます。 l Azure のコンピューティング節約プランがどのように機能するかの例を次に⽰します。1 年間の節約プランを購⼊し、1 時間あたり 5 ⽶ドル の⽀出をコミットすると、Azure はその節約プランを⾃動的に適⽤して、例の 1 時間あたり 5 ドルのコミットメントまでの使⽤量を時間 ベースでグローバルに計算します。Azure Spring Apps Enterprise の時間単位の使⽤量は、アクティブな使⽤量に対して次のように 課⾦されます。 l 1 時間あたり 5 ⽶ドル以下の使⽤量については、より低額の Saving Plan 価格で請求され、Saving Plan の時間単位のコミッ トメントの対象となります。使⽤量が少ない場合でも、1 時間ごとに 5 ⽶ドルを⽀払うことになることに注意してください。 l 特定の 1 時間の使⽤量が 5 ⽶ドルを超える場合、最初の 5 ⽶ドルの使⽤量は、より低額の Saving Plan 価格で請求され、 Saving Plan の時間単位のコミットメントによってカバーされます。5 ⽶ドルを超える⾦額は従量課⾦制で請求され、請求書に別 途追加されます。 l コンピューティング⽤の Azure 節約プランは、 同等の従量課⾦制料⾦と⽐較して、節約プランの割引が最も⼤きい 製品に最初 に適⽤されます (節約プランの価格については、価格表を参照してください)。アプリケーションの優先順位付けは、貯蓄プランへの 投資から最⼤限のメリットが得られるようにするために⾏われます。 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 25
VMware - 2023 年第 4 四半期の更新情報 https://tanzu.vmware.com/content/blog/what-s-new-in-azure-spring-apps-spring-cloud-gateway-updates-api-portal-features-and-more 最新の ASA-E 機能を発表できることを嬉しく思います。Enterprise プランでは以下が利⽤可能になりました。 •Spring Cloud Gateway はレスポンス キャッシュをサポートします。レスポンス キャッシュにより、サービスとクライアントは HTTP リクエストに対するレスポンスを 効率的に保存し、再利⽤できるようになります。メモリ サイズとキャッシュの有効期間を構成し、設定をルート レベルまたはグローバルに適⽤できます。詳細につい ては、「VMware Spring Cloud Gateway の構成」の「応答キャッシュの構成」セクションを参照してください。 •API ポータルは、トライアウト オプションの有効化/無効化をサポートします。 トライアウト機能を使⽤すると、API ポータルの中⼼的なビューを通じて API を試 すことができます。セキュリティ上の懸念がある場合は、この機能を簡単にオフにできるようになりました。詳細については、「VMware Tanzu の API ポータルを使 ⽤する 」の「API ポータルで API を試す」セクションを参照してください。 •サービス コネクタはアプリケーション レベルの設定をサポートします: この更新により、1 つのアプリケーション内の展開全体で共通の設定を効率的に構成できるよ うになります。詳細については、次の記事を参照してください。 • Azure Cosmos DB データベースを Azure Spring Apps のアプリケーションに接続する • Azure Cache for Redis を Azure Spring Apps のアプリケーションに接続する • Azure Database for MySQL インスタンスを Azure Spring Apps のアプリケーションに接続する • Azure Database for PostgreSQL を Azure Spring Apps のアプリケーションにバインドする •ビルド履歴の豊富な情報: アプリのビルド関連の問題をより適切にトラブルシューティングできるように、ビルド履歴にはすべてのビルドに関するより豊富な情報が 表⽰されるようになりました。詳細については、「Tanzu Build Service の使⽤」の「ビルド履歴」セクションを参照してください。 •計画されたメンテナンス (パブリック プレビュー) : Azure Spring Apps は、アプリケーションが依存するサーバー側コンポーネントに定期的にパッチを適⽤し、コン ポーネントが安全で最新であることを確認します。これらのコンポーネントには、JDK、Spring Cloud ミドルウェア、APM、ベース OS イメージ、ランタイム インフ ラストラクチャが含まれます。このようなパッチを有効にするには、アプリケーションを再起動する必要があります。計画メンテナンスを使⽤すると、特定の⽇にそのよ うな必須の再起動を⾏う時間をスケジュールできます。詳細については、「計画メンテナンス (プレビュー) を構成する⽅法」を参照してください。 •証明書の⾃動同期: Azure Spring Apps の⼀部の機能は、選択した証明書を使⽤してアプリケーションを保護します。証明書の⾃動同期により、Azure Key Vault で証明書をローテーションできるようになり、証明書は Azure Spring Apps に⾃動的に同期されます。この機能強化により、カスタム ドメインや TLS/SSL 設定などの機能の管理が容易になります。詳細については、「既存のカスタム ドメインを Azure Spring Apps にマップする」の「⾃動同期証明書」 セクションを参照してください。 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 26
リソースその他 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 27
リソース l AI Shopping Cart - App Template for Java, Azure OpenAI and Azure Spring Apps https://github.com/azure-samples/app-templates-java-openai-springapps/tree/main/ l フィットネス ストア サンプル アプリの概要 https://learn.microsoft.com/ja-jp/azure/spring-apps/enterprise/quickstart-sample-app-acme-fitness-storeintroduction l クイックスタート: Azure OpenAI を統合する https://learn.microsoft.com/ja-jp/azure/spring-apps/enterprise/quickstart-fitness-store-azure-openai l Quickstart: Integrate Azure OpenAI https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/spring-apps/enterprise/quickstart-fitness-storeazure-openai.md l Spring Unlocks the Power of AI Platform #Java #SpringBoot #AI #Kubernetes https://www.youtube.com/embed/wxgGoLohvsg l Azure Spring Apps Enterprise is now eligible for Azure savings plan for compute https://techcommunity.microsoft.com/t5/apps-on-azure-blog/azure-spring-apps-enterprise-is-now-eligible-forazure-savings/ba-p/4021532 Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 28
Thank You Broadcom Proprietary and Confidential. Copyright © 2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.