Enterprise Distributed Application Service (EDAS) は、Alibaba Cloud のエンタープライズ向けインターネットアーキテクチャソリューションの中核プロダクトです。Alibaba Cloud のミドルウェアチームが開発した多数のプロダクトのひとつであり、エンタープライズ向けクラウドコンピューティング市場に多機能なソリューションを提供します。
優れた安定性と信頼性を備え、EDAS は Alibaba Cloud の大規模アプリケーションシステムの 99% 以上をサポートしています。会員、取引、商品、データストア、物流、カスタマーレビューなど、すべての重要なオンラインシステムが対象です。Alibaba Cloud の分散サービスアーキテクチャの重要な構成要素として、EDAS はライフサイクル全体の管理やアプリケーションの運用保守をはじめ、さまざまな機能を提供します。
メリット

-
信頼性
Alibaba Cloud 内で 10 年以上にわたり使用・検証されてきたコアプロダクト
Alibaba の主要なオンラインアプリケーションすべての安定稼働を確保
ダブル 11 などの高トラフィックシナリオにも対応
各サービス呼び出しに対する堅牢な認証メカニズム (権限付与 / セキュリティ / 信頼性チェック) を提供

-
包括性
アプリケーションのライフサイクル管理に対応した完全な PaaS プラットフォーム
分散サービスを効率的に管理するための包括的なソリューション群
アプリケーション診断システムにより問題を迅速に特定
オンラインストレステストとキャパシティプランニングにより、運用パフォーマンスメトリクスとリアルタイムモニタリングに容易にアクセス
オートスケーリングにより予期しないトラフィックピークにも容易に対応

-
深いインサイト
詳細かつグローバルなメトリクスレポート
包括的なモニタリングと診断を実行
すべての分散呼び出しを追跡
各システムの依存関係を分析し、潜在的なボトルネックを特定

-
オープン性
オープンソースの多数のインターネットミドルウェアコンポーネントを採用
Apache 互換
オープンソースソフトウェアで容易に代替可能
機能
-
Apache Tomcat コンテナとの完全互換
EDAS でアプリケーションを実行する基本コンテナである EDAS Container は、Aliware スタックと統合し、コンテナの利用、モニタリング、安定性、パフォーマンスを大幅に強化します。また、Apache Tomcat との完全な互換性も備えています。
-
アプリケーション中心のミドルウェア PaaS
アプリケーションの基本管理と運用保守
EDAS コンソールからアプリケーションのライフサイクル全体を一元管理できます。作成、デプロイ、起動、停止、スケールアップ、スケールダウン、削除などの操作に対応しています。Alibaba Cloud の大規模クラスター運用保守の豊富な実績を活用し、数千インスタンスにデプロイされたアプリケーションもスムーズに管理できます。
オートスケーリング
EDAS では、アプリケーションの手動および自動でのスケールアップ・スケールダウンに対応しています。CPU、メモリ、ワークロードのリアルタイムモニタリングにより、秒単位でスケーリングできます。
主アカウントとサブアカウントの体系
EDAS では、組織、チーム、プロジェクトのニーズに応じて、主アカウントとサブアカウントの関係を構築できます。同時に、ECS リソースは主アカウントとサブアカウントの関係に基づいて整理されるため、リソースの迅速な割り当てが可能です。
ロールと権限の管理
アプリケーションの運用保守には、開発者、DevOps エンジニア、マシンリソース管理者など、さまざまな担当者が関わります。異なるロールがそれぞれの管理業務を遂行する必要があるため、EDAS ではロールと権限の管理機能を提供しており、アカウントごとに機能の定義や権限の割り当てが可能です。
分散サービスフレームワーク
2007 年、Alibaba の E コマースプラットフォームを分散アーキテクチャへ大規模に移行するニーズに対応するため、分散サービスフレームワークとして HSF (High-Speed Service Framework) と Dubbo が開発されました。HSF は高性能ネットワーク通信フレームワーク上に構築された分散サービスフレームワークであり、インターネットアーキテクチャを必要とする企業向けに設計されています。サービスのリリース、登録、呼び出し、ルーティング、認証、ボリューム制御、オートスケーリング、リンクトラッキングなど、多数の実績ある機能を備えており、Alibaba Cloud のサービス基盤として活用されています。
分散設定管理
集中型システムから分散ネットワークへの移行に伴い、各マシンの情報管理や設定には新たな課題が生じます。EDAS は、EDAS コンソールからすべての設定を一元的に管理できる効率的な方法を提供します。さらに、コンソール上で設定を変更すると、数秒以内に各マシンへ変更が通知されます。
分散タスクスケジューリング
SchedulerX により、スタンドアロンおよび分散タスクの設定とスケジューリングが可能です。各タスクの実行期間の管理や稼働履歴の照会にも対応しています。
Global Transaction Service
Global Transaction Service (GTS) は、分散環境でのデータ整合性の課題を解決するための、高性能で信頼性とアクセシビリティに優れた分散トランザクションミドルウェアです。EDAS と GTS を組み合わせることで、分散データベーストランザクション、マルチデータベーストランザクション、メッセージングトランザクション、サービスリンクトランザクション、およびこれらの任意の組み合わせを豊富なポリシーで迅速に実装できます。高い可用性、パフォーマンス、セキュリティを確保します。
-
運用保守とサービスガバナンス
サービス認証
High-speed Service Framework (HSF) は、分散サービス呼び出しの信頼性とセキュリティを確保するために設計されています。サービス登録からサービスサブスクリプション、サービス呼び出しまで、すべてのフェーズでサービス認証が適用されます。
サービススロットリング
EDAS では、各アプリケーションが提供するサービスに対してスロットリングルールを設定でき、サービスの安定性を確保します。QPS やスレッドに基づいたスロットリングルールを設定することで、トラフィックピーク時にもシステムの最適な安定稼働を実現できます。
サービスデグレーション
サービススロットリングとは対照的に、サービスデグレーションはアプリケーションが呼び出す外部サービスのうち、パフォーマンスの低いサービスを特定してブロックします。この機能により、アプリケーションの安定稼働が確保され、パフォーマンスの低い外部サービスによる遅延を防止できます。EDAS では、応答時間に基づいてデグレーション設定を行うことで、トラフィックや利用のピーク時にサービスの弱い部分への依存を防止できます。
自動ストレステスト
独自の自動ストレステストツールにより、パフォーマンスストレステストを日常業務の一部として組み込めます。自動ストレステストのトラフィックはすべて本番環境の実データを使用します。各サービスの重み付けを制御することで、安定性を損なうことなく、本番環境でのオンラインストレステストを実施できます。
キャパシティプランニング (BETA)
パフォーマンスストレステストが日常業務になれば、アプリケーションのパフォーマンスメトリクスをすぐに確認でき、それらのパラメータとシステムの現在の稼働状況に基づいて、精度の高いキャパシティプランニングを実行できます。
-
包括的なモニタリングとデジタルオペレーション
分散リンクトラッキング
EDAS EagleEye は、分散システム内で発生するすべてのサービス呼び出し、メッセージ送信、データベースアクセスを分析し、システムのボトルネックやリスクを正確に特定できます。
サービス呼び出しモニタリング
EDAS は、アプリケーションのサービス呼び出しを QPS、応答時間、エラーレートの観点から適切にモニタリングできます。
IaaS 基本モニタリング
EDAS は、CPU、メモリ、ワークロード、ネットワーク、ディスクなどの主要メトリクスについて、アプリケーションのステータスを徹底的にモニタリングします。
仕組み
-
アプリケーションのリリースと管理
-
分散システムの構築
-
データを活用したシステム稼働状況の分析
アプリケーションのリリースと管理
クラウド環境では、アプリケーションのリリースと管理が複雑になりがちです。ローカルで開発したアプリケーションは、適切なサーバーにそれぞれデプロイし、各サーバーにログオンしてデプロイする必要があります。また、トラフィックの増加に応じてアプリケーションの再起動やスケールアップも求められます。
こうしたシナリオに対して、EDAS はアプリケーションのリリースと管理のための視覚的に使いやすいプラットフォームを提供しています。クラスターの規模を問わず、Web コンソール上でアプリケーションのライフサイクル全体を効率的に管理できます。
分散システムの構築
集中型システムから分散システムに移行する際、システム間の信頼性の高い呼び出しを確保することは常に課題となります。ネットワーク通信やシリアライゼーションプロトコルの設計など、技術的な詳細の検討も必要です。
EDAS は高性能な RPC フレームワークを提供しており、サービスディスカバリー、サービスルーティング、サービス呼び出し、サービスセキュリティなどの技術的な詳細を体系的に考慮しながら、分散システムを構築できます。
データを活用したシステム稼働状況の分析
アプリケーションを開発しデプロイした後、CPU 使用率やマシンのワークロード、メモリ使用量、ネットワークトラフィックなど、アプリケーションの状態をモニタリングする必要があります。しかし、こうした基本的なモニタリングだけではすべてのビジネスニーズに対応できません。たとえば、システムの動作が遅い場合にボトルネックを特定したり、エラーをトラブルシューティングしたりできません。
こうした課題を解決するために、EDAS は一連のデジタルオペレーションコンポーネントを提供しています。分散システム内のあらゆる要素やサービスを正確にモニタリング・追跡し、デジタル分析によってボトルネックを特定できます。
