Chiến lược khả năng mở rộng là một kế hoạch với một quá trình hành động để tuân theo khi mô hình sử dụng các ứng dụng của bạn thay đổi.
Bạn có thể làm gì, bạn sẽ cần làm gì và bạn sẽ làm gì khi ứng dụng của bạn nhận thấy:
một (đáng kể) giảm bớt về số lượng khách hàng, người dùng, nhân viên, tài sản, v.v.
một (đáng kể) tăng về số lượng khách hàng, người dùng, nhân viên, tài sản, v.v. Bạn đã chuẩn bị cho:
- tăng từ từ
- tăng trưởng theo cấp số nhân
- một lần tăng đột biến lớn (và bạn có thể giảm quy mô lại sau đó không)
Có giới hạn nào vượt quá mà bạn không thể tăng hoặc giảm quy mô không?
Các tùy chọn của bạn dành riêng cho thiết kế và triển khai ứng dụng hiện tại của bạn nhưng các chiến lược điển hình nhất là:
- không làm gì cả - (cho đến khi mọi thứ vỡ ra)
- mở rộng quy mô (và ngược lại ít phổ biến hơn: thu nhỏ quy mô) - thay đổi kích thước của phiên bản/máy chủ của bạn: thêm/xóa CPU, bộ nhớ và bộ lưu trữ
- mở rộng quy mô - thay đổi số lượng máy chủ, triển khai hơn trường hợp, thay vì lớn hơn trường hợp
- làm điều gì đó hoàn toàn khác (phù hợp với nhu cầu của bạn nhất)
- biến nó thành vấn đề của người khác (giảm tải/thuê ngoài/tận dụng nền tảng hoặc giải pháp đám mây thay vì DIY)
- một sự kết hợp của những điều trên
- vân vân.
Một ứng dụng web ba tầng khá đơn giản: máy chủ web, máy chủ ứng dụng, máy chủ cơ sở dữ liệu có thể chạy trên máy tính xách tay của nhà phát triển hoặc một VPS. Khi tải nhiều hơn, bạn có thể nhận được một VPS lớn hơn (mở rộng quy mô) hoặc di chuyển từng máy chủ cơ sở dữ liệu và ứng dụng sang một VPS chuyên dụng (mở rộng quy mô). Sau đó, thêm bộ cân bằng tải và nhiều máy chủ web cũng như máy chủ ứng dụng hơn khi tải tăng lên (mở rộng quy mô hơn).