Từ lượng traffic và workloads mà hệ thống nhận và gửi đi mỗi ngày, ASG có thể “dự đoán” traffic và workloads trong tương lai cho những ngày tiếp theo. Điều này giúp ASG phản hồi tốt hơn bằng cách khởi chạy hoặc chấm dứt các instances một cách phù hợp. Thông thường, Predictive Scaling được sử dụng kết hợp với các loại scaling khác.



PredictCPUUtilizationAt15Percent (bạn có thể chọn bất kỳ tên nào)
{
"CustomizedLoadMetricSpecification": {
"MetricDataQueries": [
{
"Id": "cpu_sum",
"MetricStat": {
"Metric": {
"Namespace": "FCAJ Custom Metrics",
"MetricName": "WSCustomCPUUTILIZATION",
"Dimensions": [
{
"Name": "AutoScalingGroupName",
"Value": "FCAJ-ASG"
}
]
},
"Stat": "Sum"
},
"Label": "Total CPU Utilization in ASG",
"ReturnData": true
}
]
}
}
{
"CustomizedScalingMetricSpecification": {
"MetricDataQueries": [
{
"Id": "cpu_avg",
"MetricStat": {
"Metric": {
"Namespace": "FCAJ Custom Metrics",
"MetricName": "WSCustomCPUUTILIZATION",
"Dimensions": [
{
"Name": "AutoScalingGroupName",
"Value": "FCAJ-ASG"
}
]
},
"Stat": "Average"
},
"Label": "Average CPU Utilization in ASG",
"ReturnData": true
}
]
}
}

{
"CustomizedCapacityMetricSpecification": {
"MetricDataQueries": [
{
"Id": "capacity_avg",
"MetricStat": {
"Metric": {
"Namespace": "FCAJ Custom Metrics",
"MetricName": "WSCustomGroupInstances",
"Dimensions": [
{
"Name": "AutoScalingGroupName",
"Value": "FCAJ-ASG"
}
]
},
"Stat": "Average"
},
"Label": "Number of instances in ASG",
"ReturnData": true
}
]
}
}

Nếu bạn đã cấu hình 2.6 - Prepare metrics for predictive scaling trước đó, sau khi hoàn tất thiết lập, bạn sẽ thấy hai biểu đồ (charts) được hiển thị.

Tương tự như Dynamic scaling, cài đặt Pre-launch instances này sẽ ảnh hưởng đến thời điểm các instances được khởi chạy. Ví dụ: nếu ASG dự đoán có một đỉnh (peak) vào lúc 23:00, nó sẽ khởi chạy các instances vào lúc 22:59, theo cấu hình.
Kiểm tra kết quả.


Biểu đồ hiển thị theo múi giờ UTC+0, và chúng ta đang ở UTC+7, vì vậy bạn sẽ cần cộng thêm 7 giờ khi đọc các biểu đồ này.
Đầu tiên, hãy tập trung vào biểu đồ bên trái. Vào lúc 15:00 UTC (tức là 22:00 giờ Việt Nam), tổng tải là 1,565.465.

Để hiểu con số này đại diện cho điều gì, hãy nhìn vào biểu đồ bên phải.

Chúng ta có thể thấy rằng vào thời điểm đó, 10 instances được dự đoán sẽ được khởi chạy, và load có sự tương quan với các instances này.
Bạn cũng có thể kiểm tra các khoảng thời gian khác.

Chúng ta có thể kết hợp Predictive Scaling với Dynamic Scaling hoặc các loại scaling khác để tăng tính linh hoạt của ASG và độ tin cậy của hệ thống. Đối với các hệ thống có load ổn định theo thời gian, việc sử dụng predictive scaling cũng là một cách tiếp cận hợp lý.