From Containers to Cloud Native — Ultimate Elasticity

  • Management of multiple clusters: It supports the unified management of clusters in different regions or even on/offline the cloud.
  • Security compliance: Alibaba Cloud attaches great importance to enterprise security compliance: This service supports various financial enterprises.
  • Hybrid cloud and multiple clouds: With Apsara Stack and Apsara Stack Agility, Alibaba Cloud supports the implementation of hybrid cloud platforms. Container Service strengthens the application management in the hybrid cloud environment.
  • Elasticity: Today we will go into detail about the progress in elasticity.
  • Application lifecycle: In addition to the integration of features (such as container logs, monitoring, and alerting) into Alibaba Cloud, Alibaba Cloud Kubernetes also has many enhancements that allow you to manage and publish containerized applications in a safer and more controllable way.
  • A large amount of online businesses experience obvious peaks and valleys of business traffic. For example, most business service websites experience peak traffic during day while entertainment websites experience business peaks at night. Online business also experiences instantaneous traffic peaks.
  • Most offline computing tasks (such as machine learning and gene sequencing tasks) are not sensitive to the scheduling time. Instead, these tasks are cost-sensitive.
  • Timing tasks are sensitive to the scheduling stability.
  • Collection of monitoring metrics
  • Aggregation of monitoring metrics to determine if scaling criteria are triggered
  • Execution of the scaling action
  • Resource dimension: It ensures that the size of cluster resource pools matches the overall capacity planning. Pod events that are not scheduled due to insufficient resources are the criteria for triggering resource scheduling.
  • Application dimension: It ensures that application loads are within the planned capacity.
  • Horizontal scaling (scale out/in)
  • Cluster Autoscaler (CA) -> Automatically adjust the size of resource pools (worker nodes)
  • Horizontal Pod Autoscaler (HPA) -> Automatically adjust the number of pod replicas
  • Vertical scaling (scale up/down)
  • Support like this is not available for resource pools
  • Vertical Pod Autoscaler (VPA) — Automatically adjust the allocation of application resources
  • Resource metrics: provided by Metrics Server (v2beta1)
  • Custom metrics: provided by the Prometheus adapter (v2beta1)
  • External metrics: provided by external providers and mainly used as the trigger criteria within non-k8s clusters (v2beta2)
  • Multiple ASGs, multiple availability zones, and multiple instance types optimize the success rate of auto scaling and cost.
  • The resource placeholder mode provides buffer pools to support smoother load scaling.
  • Simulating grouping tags and scheduling policies supports more flexible scheduling and scaling.
  • Timed scaling and scaling of monitoring metrics support more comprehensive custom scaling.
  • Spot instance ASGs reduce the cost of resources.
  1. A user configures a VPA policy.
  2. VPA Recommender continuously obtains monitoring information from Prometheus and the metrics server. It also obtains events such as banishing and OOM events from cluster events.
  3. Based on the algorithm prediction model, VPA Recommender computes container resources according to historical monitoring information. If a pod is found to have been assigned insufficient resources, the resource request of the recommended container is provided to VPA. (Note: VPA only focuses on requests, and no limit is set by default.) In this example, the application memory usage exceeds the water mark.
  4. VPA Updater listens to recommended resources for the pod, executes the update command and deletes the pod.
  5. Deployment Controller initiates the pod re-creation operation.
  6. VPA Admission Controller intercepts the Spec that is used to create a pod, obtains VPA suggestions and modifies and adjusts resources. In this example, the memory usage is increased.
  7. Use the updated request resource configuration for the pod to create a pod.

Elastic Container Instance

Alibaba Cloud Elastic Container Instance (ECI) is a container-oriented lightweight virtualization implementation. Its internal agent is responsible for a variety of features such as the pod lifecycle management, startup sequence of containers, health check, process guarding, reporting of monitoring information. The bottom layer of ECI can be based ECS virtual machines or X-Dragon + lightweight virtualization technologies.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com