This document defines and explains the special names and terms related to EDAS, so that you can better understand EDAS and how to use it.
EDAS Container is the basic container for running applications on EDAS.EDAS Container includes Ali-Tomcat and Pandora.
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.
Derived from Pandora, the more lightweight Pandora Boot can directly start a Pandora environment in IDE based on Pandora and FatJar, greatly improving the development and commissioning efficiency. It deeply integrates with Spring Boot AutoConfigure to provide your the convenience of the Spring Boot framework.
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. This solution is widely used in various member sites of Alibaba Group.
EDAS is the core product in Alibaba enterprise-level Internet architecture solutions. With the many proven distributed products developed by Alibaba’s middleware team as its core basic components, this product provides a high-availability distributed solution for the enterprise-level cloud computing market.EDAS makes full use of Alibaba Cloud’s resource management and service systems and introduces the entire sophisticated distributed computing product of the middleware team. It helps enterprise-level customers easily build large-scale distributed application service systems.
EDAS Agent is the Daemon program installed on ECS instances to implement communication between the EDAS cluster and the applications deployed on the corresponding ECS instances. It is used for application management, status reporting, and information retrieval. It also serves as the communication channel between the EDAS console and your applications.
EDAS RPC service
The EDAS RPC service provides support for the Dubbo framework.This application was developed using the Dubbo framework and deployed using the WAR method. It can seamlessly perform application deployment and management, and uses all the service governance and data operations functions provided by EDAS.
EDAS application life cycle
As the basic management unit in EDAS, an application usually involves multiple instances.EDAS provides a comprehensive application life cycle management mechanism, covering the entire process from application publishing to operation, including application creation, deployment, startup, rollback, resizing, shutdown, and removal.
FatJar (also known as executable JARs) is an archive of compiled classes and dependency JARs for running the code. The application can be run with the Java -jar command.
The auto scaling capability detects the status (including CPU, RT, and load status) of each server in the cluster and scales up or scales down in real time based on the deleted status. This helps ensure the service quality and improve the availability of the cluster system.
The billing account is a primary account used to buy the EDAS product. One billing account can be bound to a maximum of five primary accounts.
Built on a high-performance network communication framework, HSF is a distributed service framework for enterprise-level Internet architectures, providing various features such as service publishing, registration, calling, routing, authentication, service throttling, degradation, and call link tracing.
EDAS collects data from the ECS instance on which the application is running, to monitor the instance based on basic metrics, such as CPU, memory, load, network, and disk size.Data in all monitoring views is collected and processed in the unit of application.
Configuration push is a function provided by EDAS to centrally manage distributed system configuration information on the EDAS Console. It can add, modify, and delete configurations in real time and can push configuration updates globally or within a specific application.
EDAS provides detailed troubleshooting and performance analysis of applications, which collects statistics and method tracing of the single instance on which the application is running from a range of dimensions, including JVM heap memory, non-heap memory, class loader, thread, and Tomcat connector.
EDAS EagleEye Monitoring System
The EDAS EagleEye monitoring system tracks and analyzes the service calls, sent messages, and database accesses of the distributed system to help you precisely identify the bottlenecks and risks of the system.
This function puts all ECS instances for an application in a group so that you can deploy different application package versions for the ECS instances in different groups.The instance grouping is a feature on EDAS designed to manage instances for an application by group. By grouping the instances for the application, you can maintain it through beta release, A/B testing, and gated release. You can quickly improve your maintenance efficiency by performing application lifecycle management, and resource monitoring and alerting by group.
Application monitoring accurately reflects the real-time traffic and history information of an application, allowing you to monitor the application health status and quickly discover and locate problems.
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.
Pods are the smallest deployment units and billing units in Kubernetes, which comprise one or more containers based on the application scenario. When one pod comprises multiple containers, these containers share the compute resources, storage space, IP addresses, and ports of the pod. You can limit the proportion of computing resources allocated for each container.The pod can remove and create a stateless application at any time. When a pod has an exception, the system deletes the pod and creates a new one to keep the total number of pods for the service unchanged. This allows to clear an exception flexibly without affecting service availability.
Lightweight configuration center
EDAS lightweight configuration center can be run locally and includes features of service discovery and configuration management.
Collated logs are logs that are merged and sorted in a similar format in a single application.
EDAS method tracing adopts the JVM bytecode enhancement technique when recording the time consumption and sequence during the entire call process of the selected method, allowing you to check the execution sequence while execution is in progress.
Application runtime environment
It is the environment where the application runs, namely, EDAS Container. It includes HSF and Pandora.
EDAS application instance quota
This quota sets the maximum number of instances for all applications held by the primary account and its sub-accounts.When the payment account allocates a quota to each primary account, the sum of the quotas of all primary accounts bound to the payment account cannot be greater than the total application instance quota of the payment account.
IaaS basic monitoring
This is one of EDAS’s monitoring functions. It monitors application running statuses and performs detailed monitoring of basic metrics, such as CPU, memory, load, network, and disk metrics.
Distributed link tracing
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.
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.
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.
Service call monitoring
This is another EDAS monitoring function. It can fully monitor the service calls made by your application in terms of the service QPS, response time, and error rate.
EDAS allows you to configure throttling rules for the services provided by each application to ensure service stability. Throttling rules can be configured based on QPS and threads to ensure the system’s best operation stability during traffic peaks.
Automated stress testing
The original automated stress testing tool helps you make performance stress testing a part of your daily routines.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.