Auto Scaling là một dịch vụ hoặc tính năng trong công nghệ điện toán đám mây (cloud computing) với khả năng tự động điều chỉnh số lượng tài nguyên máy tính. Nó cho phép tự động thay đổi số lượng các tài nguyên như máy chủ ảo, instance, hoặc container dựa trên tải hoặc các yếu tố khác, nhưng vẫn đảm bảo rằng ứng dụng vẫn hoạt động một cách hiệu quả và linh hoạt.
Khi lưu lượng truy cập hoặc công việc tăng lên, Auto Scaling tự động mở rộng hệ thống bằng cách triển khai thêm các tài nguyên. Ngược lại, khi lưu lượng giảm đi, nó giảm bớt số lượng tài nguyên để tiết kiệm chi phí và tối ưu hiệu suất. Điều này giúp đảm bảo rằng ứng dụng luôn có đủ tài nguyên để xử lý công việc mà không gây lãng phí hoặc thiếu tài nguyên.

Phương pháp Auto Scaling phổ biến
Hai phương pháp Auto Scaling phổ biến gồm có:
1. Lưu lượng truy cập trang (Front-end Site Traffic): Scale dựa trên số lượng yêu cầu đến (ví dụ: trang web, đối tượng, truyền dữ liệu)
2. Xử lý Back-end hàng loạt (Quy mô theo chiều ngang):
- Load-based Scaling – Scale dựa trên số lượng công việc đang đợi xử lý
- Time-based Scaling – Scale dựa trên thời gian đợi xử lý của công việc này
Ưu điểm của Auto Scaling
Auto Scaling mang lại một số ưu điểm quan trọng trong việc quản lý và vận hành các hệ thống điện toán đám mây và hệ thống điều khiển dựa trên đám mây:
- Tối ưu hiệu suất và khả năng mở rộng linh hoạt: Auto Scaling tự động điều chỉnh số lượng tài nguyên để đáp ứng với tải công việc hiện tại. Điều này giúp đảm bảo rằng hệ thống hoạt động ở mức độ tối ưu, ngay cả trong những thời điểm tăng trưởng hoặc giảm đi trong lưu lượng truy cập.
- Tiết kiệm chi phí: Auto Scaling cho phép tự động giảm bớt số lượng tài nguyên khi tải công việc giảm xuống. Điều này giúp tránh việc thanh toán cho các tài nguyên không cần thiết, giúp tiết kiệm chi phí vận hành hệ thống.
- Độ tin cậy cao hơn: Bằng cách triển khai Auto Scaling, bạn có thể tạo ra một hệ thống có khả năng chịu lỗi cao hơn. Khi một instance hoặc máy chủ gặp sự cố, Auto Scaling có thể tự động triển khai thêm tài nguyên để thay thế, giảm thiểu thời gian chết và tăng sự kiên nhẫn của ứng dụng.
- Dễ dàng quản lý: Auto Scaling giảm bớt công việc quản lý tay của nhà quản trị hệ thống. Thay vì phải thủ công điều chỉnh số lượng tài nguyên, Auto Scaling tự động thực hiện các thay đổi này dựa trên các quy tắc và điều kiện đã được thiết lập trước.
- Tăng sự linh hoạt và đáp ứng nhanh chóng: Auto Scaling cho phép hệ thống tự động thích ứng với các biến động trong lưu lượng truy cập hoặc yêu cầu công việc mà không cần sự can thiệp của con người. Điều này giúp tăng sự linh hoạt và đáp ứng nhanh chóng đối với các yêu cầu của người dùng.