As a key product of the Alibaba distributed service architecture, EDAS provides a great variety of features ranging from application lifecycle management to service maintenance management.
Since 2007, in response to the demand for massive transformation of the Alibaba e-commerce platform to a distributed architecture, Alibaba has developed the distributed service frameworks HSF (High Speed Service Framework) and Dubbo.
Dubbo is a distributed service framework that provides high-performance and transparent RPC remote service calls. Dubbo is the core framework of Alibaba’s SOA service governance solution. Each day, over 2,000 services support over 3 billion access requests.
Built on a high-performance network communication framework, HSF is a distributed service framework for enterprise-level Internet architectures, providing various proven features such as service publishing, registration, calling, routing, authentication, service throttling, service degradation, and distributed tracing.
EDAS provides a complete runtime environment for Dubbo and Spring Cloud.
As the basic management unit in EDAS, an application usually involves multiple instances. On the EDAS console, you can perform full-lifecycle application management, including releasing, starting, stopping, scaling up, scaling down, and deleting applications. Leveraging Alibaba’s rich experience in operating and managing massive clusters, you can easily operate and maintain applications on thousands of instances. Also, you can group ECS instances and publish applications in batches based on the specified group. You can set the wait time between different batches of applications to determine whether or not to proceed with releasing of the remaining batches. Also, you can view publishing logs in real time.
On EDAS, applications can be published using WAR or JAR packages, images, and other modes.
The auto scaling capability detects the status (including CPU, memory, and load status) of each server in the cluster and scales up or scales down in real time based on the detected status. This helps ensure the service quality and improve the availability of the cluster system.
EDAS provides a unique primary and subaccount system for enterprise-level users.This allows you to build primary and sub-account relationships on the EDAS platform based on your enterprise’s setup at department, team, and project levels. At the same time, ECS resources are organized according to these primary and sub-account relationships, so that you can easily allocate resources.
Namespace is a resource isolation service provided by EDAS. Different namespaces are logically isolated from each other by nature.Namespaces help you completely isolate resources in different environments from each other, and you can use one account to manage them in unified mode.
Application lifecycle management generally involves R&D, O&M, instance resources, and other roles. Different roles are permitted to perform different application management operations.EDAS provides a role and permission control mechanism that allows you to define roles and assign permissions for different accounts.
Kubernetes is an open source system for automatically deploying, scaling up, scaling down, and managing containerized applications.
Kubernetes clusters are used to run Kubernetes applications. They are private clusters invisible to other users, which ensures more secure isolation between your container applications and other users’ applications.
Kubernetes applications are containerized applications deployed by Kubernetes. They are divided into stateful applications and stateless applications. The current version only supports stateless applications. A stateless application can have multiple pods to ensure high availability.
The high-speed service framework (HSF) is designed to ensure the reliability and security of each distributed service call.Strict authentication is implemented in every phase, from service registration and subscription to service call.
EDAS allows you to configure throttling rules for the services provided by each application, ensuring service stability.Throttling rules can be configured based on QPS and threads to ensure the system’s best operation stability during traffic peaks.
Contrary to service throttling, service degradation pinpoints and blocks poor services that your application calls. This feature ensures the stable operation of your application and prevents the functionality of your application from being compromised by dependency on poor services.EDAS allows you to configure downgrade rules based on the response time, preventing your application from depending on poor services during traffic peaks.
Our original automated stress testing tool makes performance stress testing part of your daily routine.All the traffic for automated stress testing is the actual data in the product environment. By controlling the weights of each service, you can perform online stress testing without degrading the stability.
EDAS EagleEye provides analysis of every service call, message sending, and database access occurred within the distributed system to help you identify system bottlenecks and risks precisely.
EDAS can fully monitor the service calls made by your application in terms of the QPS, response time, and error rate of your services.
Tenant-level service reports sort all services within the current tenant based on various metrics in tenant dimension, including service call volume in 24 hours, average time for calling services, and call error rate. They give a clear comparison among all services in the system.
EDAS can thoroughly monitor the running status of your application in terms of basic metrics, such as CPU, memory, workload, network, and disk.
Ali-Tomcat is a container that EDAS relies on to run services. It integrates service publishing, subscription, service call tracing, and other core functions. You can publish applications in this container in both development and runtime environments.
Pandora is a lightweight isolation container, that is, taobao-hsf.sar. It is used to isolate dependency between web applications and middleware products and between middleware products so that they do not affect each other. Plug-ins implementing service discovery, configuration push, call link tracing, and other functions are integrated in EDAS Pandora.By using these plug-ins, you can monitor, process, track, analyze, maintain, and manage services of EDAS applications in all dimensions.
EDAS Container is the basic container for running applications on EDAS. EDAS Container includes Ali-Tomcat and Pandora.
EDAS Container integrates the Alibaba middleware technology stack to greatly enhance the startup, monitoring, stability, and performance of containers.Also, EDAS Container is fully compatible with Apache Tomcat.