Enterprise Distributed Application Service (EDAS) は、Alibaba Cloud 上でマイクロサービスアプリケーションのデプロイ、管理、ガバナンスを行うための PaaS (Platform as a Service) です。EDAS がデプロイパイプライン、サービスガバナンス、モニタリング、ライフサイクル管理を担うため、独自のアプリケーションプラットフォームの構築・維持に時間を費やすことなく、コードの記述に集中できます。
EDAS は、Spring Cloud、Apache Dubbo、High-speed Service Framework (HSF) のアプリケーションをサポートしています。アプリケーションコードを変更することなく、Elastic Compute Service (ECS) インスタンス、Container Service for Kubernetes (ACK) クラスター、またはハイブリッドクラウド環境にデプロイできます。
EDAS_mg_animation_Overview.mp4
EDAS の対象ユーザー
アプリケーション開発者:インフラストラクチャを管理することなく、マイクロサービスのデプロイと反復を行いたい開発者。EDAS がサービス登録、負荷分散、カナリアリリースを処理するため、ビジネスロジックに集中できます。
DevOps および運用チーム:分散環境全体で数百から数千のアプリケーションを管理する必要があるチーム。EDAS は、ECS および Kubernetes クラスター全体で集中監視、自動スケーリング、変更追跡を提供します。
IT 意思決定者:モノリシックアプリケーションをマイクロサービスにモダナイズしたり、既存のマイクロサービスワークロードをクラウドに移行したりするためのマネージドプラットフォームを評価している方。
主な機能
| 機能 | 説明 |
|---|---|
| コードまたはイメージからのデプロイ | EDAS コンソールまたは API オペレーションを通じて、WAR ファイル、JAR ファイル、またはコンテナイメージを送信します。 |
| 大規模なマイクロサービスのガバナンス | Spring Cloud、Dubbo、HSF アプリケーション全体で、サービスのクエリ、呼び出しのトレース、外れ値インスタンスの除外、サービス間トラフィックの認証を行います。 |
| 組み込みの可観測性によるモニタリング | Application Real-Time Monitoring Service (ARMS) との連携により、ヘルスダッシュボード、主要メトリック、設定可能なアラートルールが提供されます。 |
| 安全なリリース | 一括、フェーズド、またはカナリアリリースの戦略を選択します。 |
| 自動スケーリング | スケーリングルールを定義すると、EDAS がトラフィックパターンに基づいてキャパシティを調整します。 |
| CI/CD パイプラインとの連携 | Alibaba Cloud DevOps または Jenkins に接続して、ビルドとデプロイメントを自動化します。 |
仕組み
アプリケーションの開発:Spring Cloud、Apache Dubbo、または HSF を使用してアプリケーションを開発します。コードや構成を変更することなく EDAS にデプロイできます。
EDAS アプリケーションの作成:EDAS アプリケーションを作成し、ターゲット環境 (ECS クラスター、Kubernetes クラスター、またはハイブリッドクラウド) を選択します。
コードのデプロイ:コンソール、API、または CI/CD パイプラインを通じて、WAR ファイル、JAR ファイル、またはコンテナイメージをアップロードしてコードをデプロイします。
EDAS によるプロビジョニングと管理:EDAS が実行環境、サービス登録、モニタリングを自動的にプロビジョニングおよび管理します。
運用と反復:EDAS コンソールを使用して、パフォーマンスの監視、トラフィックの管理、更新のリリース、キャパシティのスケーリングを行います。
アプリケーション管理
アプリケーションを EDAS にデプロイすると、アプリケーションライフサイクル全体をカバーする統合管理レイヤーが提供されます。

言語とランタイムのサポート
EDAS は Java アプリケーションをネイティブで実行します。Kubernetes 環境では、EDAS は PHP、Node.js、C++、Go で構築されたアプリケーションもサポートします。
インフラストラクチャのオプション
| 環境 | 最適な用途 |
|---|---|
| ECS クラスター | VM ベースのワークロード、従来のデプロイモデル |
| ACK (Kubernetes) クラスター | コンテナ化されたワークロード、クラウドネイティブアーキテクチャ |
| ハイブリッドクラウドクラスター | オンプレミスとクラウド環境にまたがるワークロード |
EDAS は ECS と ACK の両方とシームレスに連携しているため、アーキテクチャに合ったインフラストラクチャを選択し、ニーズの進化に応じてそれらの間で移行できます。
デプロイとリリース
EDAS コンソール、API オペレーション、またはプラグインを通じてアプリケーションをデプロイします。EDAS は 3 つのデプロイフォーマットをサポートしています:
| フォーマット | ユースケース |
|---|---|
| WAR ファイル | 従来の Java Web アプリケーション |
| JAR ファイル | Spring Boot およびスタンドアロン Java アプリケーション |
| コンテナイメージ | Kubernetes ベースのデプロイメント |
更新のために、EDAS は 3 つのリリース戦略を提供します:
| 戦略 | 仕組み |
|---|---|
| 一括リリース | すべてのインスタンスを同時に更新します。 |
| フェーズドリリース | 影響範囲を減らすために、インスタンスをバッチで更新します。 |
| カナリアリリース | 完全なロールアウトの前に、トラフィックのわずかな割合を新しいバージョンにルーティングします。 |
Alibaba Cloud DevOps または Jenkins を使用してデプロイメントを自動化し、継続的インテグレーションと継続的デリバリー (CI/CD) を実現します。
ライフサイクルオペレーション
EDAS は、各アプリケーションに対して次のライフサイクルオペレーションをサポートしています:
起動と停止
リリース
スケールアップとスケールダウン
削除
これらのオペレーションは、単一のコンソールから数千のアプリケーションにわたって機能します。
モニタリングとアラート機能
EDAS は ARMS と連携して、リアルタイムのアプリケーション監視を実現します:
アプリケーションのヘルス状態とパフォーマンスメトリックを追跡します。
アラートルールを設定して、異常を早期に検出します。
トレースデータにドリルダウンして問題を診断します。
運用とメンテナンス
ライフサイクル管理に加えて、EDAS は追加の O&M (運用とメンテナンス) 機能を提供します:
| 機能 | 説明 |
|---|---|
| アプリケーションアクセス管理 | 各アプリケーションにアクセスおよび変更できるユーザーを制御します。 |
| 自動スケーリング | トラフィックまたはカスタムメトリックに基づいてインスタンス数を調整します。 |
| スロットル処理および機能低下 | トラフィックスパイクやカスケード障害からサービスを保護します。 |
| 負荷分散 | 正常なインスタンスにトラフィックを分散します。 |
| 変更追跡 | すべての構成とデプロイメントの変更を監査します。 |
| イベントセンター | システムイベントと運用アラートを 1 か所で表示します。 |
| ログ管理 | アプリケーションログを収集、検索、分析します。 |
マイクロサービスガバナンス
EDAS は、サポートされている 3 つすべてのフレームワークにわたるマイクロサービスアプリケーションに対して、組み込みのガバナンスを提供します。
サポートされているフレームワーク
| フレームワーク | 説明 |
|---|---|
| Spring Cloud | サービス検出、構成管理、負荷分散を備えた、広く採用されている Java マイクロサービスフレームワーク。 |
| Apache Dubbo | 分散サービスアーキテクチャを構築するためのパフォーマンス専有型 RPC フレームワーク。 |
| HSF | High-speed Service Framework は、Alibaba が開発した、大規模分散システム向けに最適化されたフレームワークです。 |
これらのフレームワークのいずれかで構築されたアプリケーションは、コードを変更することなく EDAS にデプロイできます。EDAS はサービス登録とサービス検出を自動的に処理します。
ガバナンス機能
| 機能 | Spring Cloud | Apache Dubbo | HSF |
|---|---|---|---|
| グレースフルシャットダウン | サポート | サポート | サポート (グレースフルリリース) |
| カナリアリリース (Kubernetes) | サポート | サポート | -- |
| カナリアリリース (ECS) | サポート | サポート | -- |
| 外れ値の除外 | サポート | サポート | サポート |
| トレースクエリ | -- | -- | サポート |
| サービスクエリ | サポート | サポート | サポート |
| サービス認証 | サポート | サポート | サポート |
クラウドサービス連携
EDAS は、他の Alibaba Cloud サービスと 2 つの方法で連携します:
| 連携タイプ | 仕組み | 管理場所 |
|---|---|---|
| サービス連携 | クラウドサービスは EDAS と並行して独立して動作します。 | クラウドサービス独自のコンソールで。 |
| コンポーネント連携 | クラウドサービスは EDAS に直接埋め込まれます。 | EDAS コンソールで。 |
このデュアルモデルにより柔軟性が得られます。緊密に連携されたサービスの集中コントロールプレーンとして EDAS を使用しながら、スタンドアロンのクラウドサービスにはネイティブインターフェイスを通じて接続できます。
権限管理
EDAS は、エンタープライズグレードの権限管理システムを提供します。これにより、アプリケーション、リソース、データを分離し、アクセス制御を強制できます。これにより、アプリケーションのセキュリティが確保されます。
導入事例
中国郵政
中国郵政は、省ごとに自社構築していたシステムから、EDAS 上の分散マイクロサービスアーキテクチャに移行しました。新世代の速達システムは、2018 年の「独身の日」セール期間中に 1 日あたり数十億のサービスコールを処理し、大量のトラフィックにもかかわらずスムーズなサービスを提供しました。
フォード・モーター
フォード・モーターは、EDAS 上にマイクロサービス PaaS プラットフォームを構築し、新しいリテール事業を強化しました。オンラインとオフラインのチャネルを統合し、統一された顧客体験を実現しています。このプラットフォームは、マイクロサービスガバナンス、O&M とモニタリング、ライフサイクル管理に EDAS を使用しています。
FASTFISH
FASTFISH は、EDAS 上に業界初の分散型業務システムを構築し、以前は断片化していたプロダクトおよびチャネルシステムを統合しました。その結果、処理効率が 25 倍向上し、反復サイクルが短縮され、研究開発コストが削減されました。