Máy chủ Auto Scaling trong Magento 2: Tạm biệt downtime website bán hàng
Bạn đang lên kế hoạch cho một chương trình khuyến mãi lớn và bạn hy vọng sẽ tăng gấp đôi hoặc thậm chí gấp ba lượng truy cập vào cửa hàng của bạn ngay lập tức? Hãy xem xét việc Auto Scaling (mở rộng quy mô tự động) hoặc bạn sẽ gặp rủi ro downtime ngay khi khởi chạy quảng cáo - một phần quan trọng nhất trong chiến dịch của bạn!
Trong bài viết này, Bizfly Cloudsẽ giúp bạn hiểu cách tự động mở rộng quy mô hoạt động trong Magento 2. Và tại sao đó là lựa chọn tốt nhất cho dù bạn đang chạy các chương trình khuyến mãi theo dịp hay thường xuyên trên cửa hàng Thương mại điện tử của mình.
Bạn tạo ra các chương trình khuyến mãi vì bạn muốn tăng doanh thu. Và điều đó bắt đầu bằng việc thu hút nhiều người hơn đến trang web để xem các sản phẩm của bạn. Nhưng điều gì sẽ xảy ra nếu trang web của bạn bị đóng băng ngay sau khi chương trình khuyến mãi bắt đầu vì tài nguyên máy chủ của bạn không thể xử lý sự gia tăng đột ngột của lưu lượng truy cập?
Bạn không cần phải bỏ ra chi phí nâng cấp khổng lồ chỉ để phục vụ một chương trình khuyến mãi duy nhất hoặc thậm chí một chương trình khuyến mãi mỗi tháng. Tự động mở rộng quy mô (Auto Scaling) sẽ giúp bạn tiết kiệm những chi phí không cần thiết mà vẫn giúp cho cửa hàng của bạn hoạt động trơn tru như bình thường.
Auto Scaling trong Magento 2 qua ReadyMage
ReadyMage là một nền tảng phát triển cho phép bạn phân phối các dự án với Magento trong backend và ScandiPWA trong frontend người dùng nhanh hơn bạn có thể tưởng tượng. ReadyMage hosting được tạo trên Kubernetes, cho phép nó cung cấp các tính năng tự động mở rộng quy mô giúp xử lý mọi nhu cầu biến động về tài nguyên trong cửa hàng Thương mại điện tử của bạn.
Trong ReadyMage, tài nguyên của các thành phần cơ sở hạ tầng — MySQL, Front-end, Back-end, Varnish, ElasticSearch — được lưu trữ trên các pod. Khi đến lượt, các pod sẽ chạy trên các nod là các máy chủ ảo.
Tại sao cần Auto scaling?
Hãy tưởng tượng bạn có một phiên bản sản xuất với tài nguyên máy chủ được cài đặt để chỉ xử lý lưu lượng truy cập thông thường. Một khi thời gian quảng cáo bán hàng bắt đầu và lưu lượng truy cập tăng lên, chúng ta đều mong muốn quản lý được trang web mà không bị downtime. Nhưng đồng thời, chúng ta cũng muốn giữ tài nguyên mặc định ở mức thấp để không cần phải chi trả cho những tài nguyên không được sử dụng. Đây là lúc Auto scaling phát huy vai trò của mình.
Với cơ sở hạ tầng ReadyMage, chúng ta có thể tránh giữ giới hạn tài nguyên của một pod cao hơn mức cần thiết bình thường trong khi vẫn có thể tự động chỉ định nhiều tài nguyên máy chủ hơn khi nhu cầu tăng lên.
Case study thực tế
Một cửa hàng sản phẩm làm đẹp quốc tế được host trên ReadyMage đã có một lượng truy cập tăng vọt gấp 3 lần khi khởi động một chương trình khuyến mãi lớn.
Vào lúc 8 giờ tối, khi lưu lượng truy cập bắt đầu tăng lên, cơ sở hạ tầng đằng sau ReadyMage bắt đầu tạo từng nhóm một cho đến khi tổng lượng CPU có thể xử lý tất cả lưu lượng đến. Sau 1h sáng khi lưu lượng truy cập bình thường, các nhóm không sử dụng sẽ được thu nhỏ lại.
Làm thế nào nó hoạt động?
ReadyMage có thể tự động mở rộng quy mô cho các nhóm (pod) front-end và back-end.
Chia tỷ lệ ngang cho phép tự động tăng hoặc giảm số lượng các pod đang chạy khi việc sử dụng ứng dụng của bạn thay đổi. Biểu đồ dưới đây cho thấy mức sử dụng CPU cho một trang web khác:
Khi tài nguyên đã tiêu thụ của bạn đạt đến giới hạn HPA (Horizontal Pod Auto scaling) - đường màu xanh lục trên biểu đồ ở trên, ReadyMage tạo điều kiện thuận lợi cho việc tạo các bản sao pod mới cho cùng một thành phần cơ sở hạ tầng và phân phối lưu lượng như nhau giữa tất cả các pod.
Giới hạn HPA được tính toán theo chương trình dựa trên lượng tài nguyên được yêu cầu được đặt cho pod - đường màu vàng trên biểu đồ ở trên. Trong ReadyMage, HPA là 75% số lượng này. Nó nhỏ hơn giới hạn pod vì mục đích an toàn — do đó, nếu việc thiết lập bản sao pod mất nhiều thời gian hơn mức lý tưởng, pod hiện tại vẫn sẽ có một số tài nguyên khả dụng trong khi chờ bản sao sẵn sàng.
Ở biểu đồ trên, bạn sẽ thấy rằng tổng giới hạn là 0,80 CPU và HPA là 0,75 CPU. Vào lúc 1:05 sáng, tài nguyên được sử dụng đạt đến giới hạn HPA nên một bản sao mới của cùng một pod đã được tạo.
Đối với việc thu nhỏ quy mô, lưu lượng truy cập được kiểm tra 5 phút một lần cho các pod front-end và back-end. Nếu tổng số CPU đã tiêu thụ có thể được xử lý bởi ít pod hơn, thì việc phân bổ tài nguyên sẽ được thu nhỏ bằng cách loại bỏ các pod không sử dụng.
Biểu đồ dưới đây cho thấy rằng một pod bổ sung đã được tạo lúc 1:05 sáng nhưng sau đó bị loại bỏ lúc 1:10 sáng do hệ thống phát hiện ra rằng các tài nguyên bổ sung không còn cần thiết nữa.
Do đó, khi lưu lượng truy cập trang web trở lại bình thường, tài nguyên sẽ phân bổ trở về mức mặc định. Vì vậy, không cần phải trả tiền cho nhiều tài nguyên hơn mức cần thiết.
Auto Scaling là một tính năng hỗ trợ được tính hợp sẵn trong hệ thống Cloud Server của BizFly Cloud, cho phép tự động mở rộng hoặc thu hẹp tùy thuộc vào quy mô hoạt động của khách hàng tại thời điểm cụ thể, giúp khách hàng của BizFly Cloud trải nghiệm một nền tảng không chỉ mạnh mẽ mà còn vô cùng linh hoạt, tiện lợi. Đăng ký dùng thử miễn phí tại đây!