Azure Spring Cloud アプリケーション サービスにお問い合わせください

Azure Spring Cloud アプリケーション サービスにお問い合わせください

[51CTO.com クイック翻訳] 近年、Javaは企業で広く使用され続けています。たとえば、LinkedIn は 500 を超える Java マイクロサービスを使用しており、Minecraft ゲーム クライアントは Java で記述されており、Yammer のバックエンドも Java で記述されています。 Microsoft の Azure クラウドにも、Java アプリケーションや Java 固有のアプリケーションと対話できるコンポーネントがいくつか含まれています。 Java エコシステムが徐々に Spring に支配されるようになるにつれて、Microsoft は Java コミュニティに積極的に参加するだけでなく、Azure Spring Cloud などのオープン ソース Java プロジェクトを立ち上げて、Java アプリケーションのサポートを強化し、Azure Cloud コンポーネントを統合していると言えます。

開発者の10人中6人がアプリケーション開発にSpringを使用している

Azure Spring Cloud は、Microsoft と VMware の共同作業によって構築された、Azure 製品ファミリの PaaS 製品です。 Spring Boot を利用することで、Spring Cloud は Azure クラウド コンポーネントと統合し、ユーザーにシームレスなクラウド ネイティブ アプリケーション開発エクスペリエンスを提供できます。

完全に管理されたクラウド サービスである Azure Spring Cloud は、完全に管理された AKS クラスターによって強化されています。したがって、クラウド内でマイクロサービスを構築、デプロイ、管理するための真のサーバーレス エクスペリエンスを提供できます。

クイックスタート

簡単にするために、有効な Azure サブスクリプション アカウントが既にあること、およびビルドおよび依存関係管理ツールとして Maven (https://maven.apache.org/) を選択していることを前提としています。

Spring Boot + Spring Cloud アプリケーションを Azure Spring Cloud にデプロイするには、以下の手順に従ってください。

  • Azure ポータルを通じて新しい Azure Spring Cloud インスタンスを作成します。
  • Azure CLI をダウンロードしてインストールしてください。
  • Azure Spring Cloud 拡張機能を追加するには、コマンド「az extension add -n spring-cloud -y」を使用します。 Azure CLI のバージョンが異なるため、spring-cloud コマンド セットが既定の Azure CLI コマンドに追加されている可能性がありますが、この手順は必ずしも必要ではありません。
  • 「az configure --defaults group={resource_group}」と「az configure --defaults spring-cloud={asc_instance}」を使用して、リソース グループと Azure Spring Cloud インスタンスの既定値を設定します。
  • 以下に示すように、Azure Spring Cloud Client の依存関係をプロジェクトに含めてください。ローカルで開発された依存関係によってこれらが「汚染」されないように、別の設定ファイルで実行することをお勧めします。
  1. <プロフィール>  
  2. <プロフィール>  
  3. <id>クラウド</id>
  4. <依存関係>
  5. <依存関係>
  6. <グループ ID>com.microsoft.azure</グループ ID>
  7. <artifactId>spring-cloud-starter-azure-spring-cloud-client</artifactId>
  8. <バージョン>2.2.0</バージョン>
  9. </依存関係>
  10. </依存関係>
  11. </プロフィール>
  12. </プロフィール>
  • 前の手順で追加したプロファイルを有効にし、コマンド mvn clean package -Pcloud を使用してアプリケーションをビルドします。
  • az spring-cloud app create -n {my-app} を使用して、Azure Spring Cloud インスタンスに新しい Azure Spring Cloud アプリケーションを作成します (これは初回のみ実行する必要があります)。
  • 次のコマンドを使用して、アプリケーションを Azure Spring Cloud にデプロイします。
  1. az spring-cloud アプリのデプロイ -n {my-app}  
  2. --jar-path ターゲット/my-app.jar  

コードは一切使用せず、プロジェクトへの影響も最小限に抑え、わずか数分で最初のアプリケーションを完全に管理された AKS クラスターにデプロイできました。

分散トレース

Azure Application Insights でのアプリケーション マッピングの例

Azure Spring Cloud は、すぐに使用できるアプリケーション向けの分散トレース機能を提供します。受信要求がシステムにどのように流れるか、コンポーネントが相互にやり取りする方法、サンプリングされた呼び出しのトレース、呼び出しの出力と期間に関する情報を示す完全な「アプリケーション マップ」を構築するために、Azure Application Insights に大きく依存しています。

依存する Azure Application Insights の既存のインスタンスを指定するか、分散トレースの設定を有効にして、Azure Spring Cloud 専用の新しい Azure Application Insights インスタンスを作成することができます。

ログ保存


診断設定の例、ログとメトリックを Log Analytics にリダイレクトする

Azure Spring Cloud は、Log Analytics、Azure Storage、または Azure Event Center を通じて、ログとさまざまなメトリックの収集と保存を提供します。診断設定を使用して、ログとメトリックを保存する方法を指定し、この機能を有効にすることができます。

実際には、最も一般的なアプローチは、すべてのログとメトリックを Azure Log Analytics ワークスペースに送信し、強力な Log Analytics クエリ言語を使用して、収集されたデータに対して特定の正確な履歴情報チェックを実行することです。

Log Analytics をクエリするために、特別なテーブル AppPlatformLogsForSpring を使用することもできることにも言及しておく価値があります。このテーブルには、Azure Spring Cloud にデプロイされたさまざまなアプリケーションからのすべてのログが含まれています。

ログ追跡

Azure Spring Cloud の 1 月のアップデートによると、次のコマンドを実行することで、ストリーミング ログをリアルタイムでターミナルに送信できるようになりました。

  1. az spring-cloud アプリ ログ--name {アプリ名} --resource-group {リソース グループ} --service {asc-instance} -f  

開発中、この機能は、アプリケーションの動作を検証したり、「本番環境のような環境」で問題を解決したりするのに非常に役立ちます。

監視と警告

https://devblogs.microsoft.com/java/whats-new-in-azure-spring-cloud-jan-update/

Azure Spring Cloud では、1 月のアップデートでアラート ルールを作成する機能も追加されました。ユーザーが次のことを達成するのに役立ちます。

  • アプリケーションから関連するメトリックを抽出して分析します。
  • これらのインジケーターの設定条件に基づいて、アラームなどのアクションがトリガーされます。
  • アラートの実行方法を定義します (警告メールを送信するなど)。

さらに、これらの主要機能の設定は複雑ではありません。

集中構成

クラウドネイティブ アプリケーションに集中的な構成が必要な場合、Spring ユーザーは Spring Cloud Config Server を使用する必要があることがよくあります。 Azure Spring Cloud を使用する場合、Spring Cloud Config Server を自分で構築してデプロイする必要はありません。代わりに、自動デプロイメントを構成するだけで、あとは Azure Spring Cloud によって管理される Spring Cloud Config Server に完全に任せることができます。

完全に管理された Spring Cloud Config Server の構成例

さらに、Spring Cloud Config Server に接続する必要のあるアプリケーションでは、構成は必要ありません。 spring-cloud-starter-config の依存関係を準備するだけで済みます。 Azure Spring Cloud では、すべてのクライアント アプリケーションがデプロイ時に自動的に構成され、上記の完全に管理された Spring Cloud Config Server に安全に接続できるようになります。

サービス検出

アプリケーションは完全に管理されたサービスレジストリに登録されます

サービス検出は集中型構成と非常に似ており、すぐに使用できるサービスを提供します。つまり、完全に管理された Spring Cloud Eureka Server が常にバックグラウンドで実行され、クライアントがサービス レジストリに登録しやすくなります。

同様に、クライアント アプリケーションは、構成なしで上記の Spring Cloud Eureka Server と対話できます。 spring-cloud-starter-netflix-eureka-client 依存関係を含めるだけで済みます。

サービスバインディング

Azure Cosmos DB バインディングの設定

Azure Spring Cloud には、「サービス バインディング」と呼ばれる非常にユニークな機能があります。これにより、アプリケーションは、接続を確立するための資格情報を提供することなく、Azure Cosmos DB、Azure Cache for Redis、Azure Database for MySQL などの Azure クラウド コンポーネントと対話できるようになります。アプリケーションのサービス バインディングを作成すると、Azure Spring Cloud によって、実行時に一致する Azure サービスに接続できるようにするプロパティが自動的に挿入されます。

スケールアップ

Azure ポータルまたは同等の Azure CLI コマンドを使用して、必要に応じて Azure Spring Cloud 上のアプリケーションのリソースを簡単に拡張できます。上図に示すように、「標準」の拡張課金方法を使用できます。つまり、アプリケーションあたりの vCPU の最大数は 4 で、アプリケーションに割り当てられるメモリの最大 GB 数は 8 です。次に、このベースに基づいて垂直拡張を展開できます。

スケールアウト

Azure Spring Cloud でアプリケーションを手動でスケーリングする

同様に、Azure ポータルまたは同等の Azure CLI コマンドを使用して手動で水平スケーリングを実行し、特定の時点に存在するインスタンス レプリカの合計数 (最大 500 個) を指定することもできます。

平均 CPU 使用率が 10 分以上 70% 以上になる場合は、アプリケーションをスケールアウトする必要があります。

さらに興味深いのは、メトリックをリアルタイムで収集して分析する自動プロセスに基づいてアプリケーションをスケーリングすることを選択できることです。 「監視とアラート」セクションで説明したように、任意のメトリックを選択してトリガー条件を設定できます。この条件が満たされると、ユーザー定義の水平スケーリング操作 (たとえば、インスタンスの数を 1 つ増やす) がトリガーされます。

最小、最大、デフォルトの自動スケーリング制限を設定する

上の図に示すように、特定のアプリケーションに対して、インスタンスの最小数、最大数、およびデフォルト数を含めた自動拡張のトリガー メカニズムのセットを設定する必要があります。

可用性

数回クリックするだけで本番環境にデプロイできます

Azure Spring Cloud を使用すると、ダウンタイムを最小限に抑えることが容易になります。まず、「標準」Azure Spring Cloud 層は、「少なくとも 99.9% の可用性」というサービス レベル アグリーメントに準拠しています。第二に、数回クリックするだけでブルー/グリーンデプロイメントを実行できるため、開発者は「本番環境のような」環境で機能を検証でき、エンドユーザーへの影響を最小限に抑え、アップデートをリリースする際のダウンタイムを排除できます。

請求する

Azure Spring Cloud は、スケーラビリティを「経済的に」実現することを基本に、ユーザーのさまざまな実際の使用シナリオに対応するために「従量課金」モデルを採用しています。

「標準」課金モデルの説明

具体的には、基本料金では、ユーザーは 1 時間あたり最大 16 個の vCPU と 32 GB のメモリを使用できます。超過分については時間単位で請求されます。

サービス概要

一般に、Azure Spring Cloud は次のサービスを提供できます。

  • 開発サイクルを短縮し、実稼働環境への展開を容易にします。
  • インフラストラクチャ管理のオーバーヘッドが減ることで、開発者は Kubernetes クラスターではなくソフトウェア アプリケーションに集中できるようになります。
  • SLA と簡単に実装できるブルー/グリーン デプロイメントにより、ダウンタイムを大幅に削減します。
  • ネットワーク管理タスクは、Microsoft の安全なネットワークに完全に委任されます。
  • 弾力性と拡張性に優れたインフラストラクチャと、柔軟なマッチング課金モデルの両方を提供します。

役に立つリソース

Azure Spring Cloud について詳しく知りたい場合は、次のリソースを参照してください。

  • Azure Spring Cloud 公式ドキュメント (https://azure.microsoft.com/en-us/services/spring-cloud/)
  • Azure Spring Cloud トレーニング ドキュメント (https://github.com/microsoft/azure-spring-cloud-training)
  • ジョシュ・ロングとジュリアン・デュボアによる「Bootiful Azure Spring Cloud」(https://www.youtube.com/watch?v=WAuGojnf2lA)

結論は

Azure Spring Cloud は、迅速に構築、展開、管理できるクラウド アプリケーション サービスです。豊富な機能をすぐに楽しむために、多くの労力を費やす必要はありません。現在のアプリケーションが Azure Spring Cloud と同じテクノロジ スタックに依存している場合は、ぜひ試してみる価値があります。

原題: Azure Spring Cloud: 包括的な概要、著者: Domenico Sibilio

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  高度なクラウド アプリケーション: Amazon Web Services の AI イノベーションの実践

>>:  VMware、企業のアプリケーション近代化を支援する製品ポートフォリオを強化

推薦する

スマートな経費管理は財務の変革とイノベーションを促進します。 SAP Concur と IDC が共同で中国スマート経費管理業界レポートを発表

出張・経費管理ソリューションの世界的マーケットリーダーであるSAP Concurと、国際的に有名な分...

北京に拠点を置く電子商取引企業は、価格詐欺の再発を防ぐためにプロモーションを規制する必要がある。

昨日の夕方、「ダブル11」が近づく中、北京市発展改革委員会が北京の電子商取引企業に販促指導通知を発行...

サイトの内部リンクの構築はサイトの基礎です。基礎を固める鍵は「構築」にあります

多くの SEO 担当者は、「コンテンツは王様、外部リンクは女王様」が SEO 業界のスローガンである...

Google、Microsoftなどが共同で「オープンウェブ標準」ウェブサイトを立ち上げ

海外メディアの報道によると、マイクロソフト、グーグル、アップル、アドビ、フェイスブック、HP、ノキア...

SEOの基礎を学ぶ初心者におすすめのSEO本10選

2011年以降、インターネット上でSEO最適化のトレーニング機関が数多く設立され、クラスを開設して受...

InspurとOdooが中小企業向けSaaS市場を共同で開発する合弁会社を設立

4月16日、Inspur TongsoftとOdooは共同で戦略的提携を発表した。両者は中国に合弁会...

Kubernetes Pod を正常に再起動する方法

解決策1さまざまな環境に多数の Pod があるため、手動で 1 つずつ再起動することは不可能です。こ...

Hehe Informationはテクノロジーと温かさでAIを活用し、世界とつながる

2020年は特別な年になる運命にあります。 COVID-19パンデミックが2四半期続く中、世界経済は...

インバウンドマーケティングで有料顧客を獲得する方法

時には、投稿コメントやブログのリカバリなどを行ったり、ソーシャルメディアやコミュニティで何千もの同様...

インターネット業界のクラウドへの道

ビジネスの急速な成長に伴い、インターネット業界では通常、急速なビジネスの変化と製品の急速な反復および...

totyun: カンボジアCN2 VPSの簡単なレビュー、中国電信の双方向CN2、中国聯通と中国移動も最適化されている

Totyunは今年9月にカンボジアデータセンターでカンボジアVPSをすでに立ち上げており、カンボジア...

Cert-Manager は K8s サービスドメイン名証明書の自動更新を実装します

導入Cert-Manager [1]は、Kubernetesクラスター内のTLS証明書の管理を自動化...

ウェブサイトのログ分析、ウェブサイト上のSEO問題の調査と分析

SEO を始めた頃から、上司は私にこう言い聞かせてきました。「科学的な SEO を行うには、トラフィ...

B2B2C ビジネスモデル研究: 制御と制御不能の間

C2C は間違いなく最も自由なモデルです。しかし、自由には代償が伴います。それは、コントロールを失う...

元斉森林のブランドマーケティングを説明する12,000語

飲料業界の専門家とコミュニケーションをとる過程で、私たちは一連の興味深い視点を観察しました。巨大飲料...