Bài 11: Autoscaling và Cloud Load Balancing là gì?

Search for a command to run...

No comments yet. Be the first to comment.
Ở bài 2, chúng ta đã tìm hiểu về mô hình cơ sở hạ tầng dưới dạng dịch vụ hay IaaS. Trong bài này, chúng ta sẽ tìm hiểu tiếp về giải pháp IaaS của Google Cloud là Compute Engine. Compute Engine là gì? Compute Engine có thể tạo và chạy các máy ảo trên ...
Ngày 7 tháng 3 vừa qua, mình có cơ hội đồng hành cùng với GDGoC SGU trong sự kiện Study Jams 2026 với tư cách là Speaker. Chủ đề mình mang đến lần này là "Prompting & Google AI Studio". Thực tế, việc

Nhiều người hay hỏi mình, học An toàn thông tin (ATTT) sao không đi làm Pentest hay SOC cho ngầu, mà lại đâm đầu vào làm Backend? Thực ra, lúc đầu mình cũng định thế. Nhưng rồi cái duyên với Backend đến trước. Đến nay, mình đang là sinh viên năm cuối...

Ở bài 2, chúng ta đã tìm hiểu về mô hình cơ sở hạ tầng dưới dạng dịch vụ hay IaaS. Trong bài này, chúng ta sẽ tìm hiểu tiếp về giải pháp IaaS của Google Cloud là Compute Engine. Compute Engine là gì? Compute Engine có thể tạo và chạy các máy ảo trên ...

Trong bài này, chúng ta sẽ tìm hiểu cách Google Compute Engine hoạt động, đặc biệt là mạng ảo (virtual networking). Nhưng trước tiên, chúng ta cần biết Virtual Private Cloud hay VPC là gì? VPC là gì? Virtual Private Cloud hay VPC là một giải pháp bảo...

Bạn có bao giờ thắc mắc những ứng dụng phục vụ hàng triệu người dùng hoạt động như thế nào chưa? Chắc server của họ phải mạnh lắm mới có thể xử lý hết lưu lượng truy cập khổng lồ như vậy đúng không? Server của họ cũng mạnh nhưng để giảm tải thì họ sẽ sử dụng nhiều server cùng lúc chứ không all in hết trên một server. Trong bài này, chúng ta sẽ tìm hiểu về Autoscaling và Load Balancing. Từ đó bạn có thể biết được cách chia lưu lượng truy cập vào từng server và cách họ mở rộng quy mô server của mình nhé.

Compute Engine có một tính năng gọi là Autoscaling, giúp thêm hoặc xoá máy ảo dựa trên số liệu của ứng dụng. Tính năng này còn giúp cân bằng lưu lượng truy cập (traffic) giữa các máy ảo. Ví dụ: nếu CPU của ứng dụng tăng lên 80% thì Autoscaling sẽ khởi động thêm một máy ảo nữa để chia đôi công việc xử lý.
Trên thực tế, bạn có thể cấu hình các máy ảo rất lớn bằng Compute Engine, rất phù hợp cho các công việc phân tích cần sử dụng nhiều CPU. Nhưng hầu hết người dùng đều tiếp cận theo hướng mở rộng quy mô chứ không phải tăng quy mô.
Số lượng CPU tối đa trên mỗi VM đều phụ thuộc vào dòng máy ảo và zone. Bạn có thể tìm thêm các thông số kỹ thuật cho các loại máy VM hiện có tại đây.
Vậy là chúng ta đã tìm hiểu qua về Autoscaling, nhưng làm cách nào để người dùng sử dụng ứng dụng khi số lượng máy ảo của ứng dụng đó sẽ thay đổi theo thời gian. Tại thời điểm này thì ứng dụng sử dụng 4 máy ảo, nhưng thời điểm khác ứng dụng sử dụng 40 máy ảo thì sao?
Vấn đề này sẽ được giải quyết bằng Cloud Load Balancing. Nhiệm vụ của Load Balancing là phân phối lưu lượng người dùng giữa nhiều instance của ứng dụng. Bằng cách phân tán lưu lượng truy cập, Load Balancing giúp ứng dụng giảm nguy cơ gặp các vấn đề về hiệu năng.
Cloud Load Balancing là dịch vụ được quản lý toàn diện, tất cả lưu lượng truy cập đều được xác định bằng phần mềm. Load Balancing không chạy trong máy ảo của bạn nên bạn không cần lo về việc mở rộng quy vô hoặc quản lý chúng.
Bạn có thể đặt Load Balancing ở trước tất cả lưu lượng truy cập như HTTP/HTTPS, TCP, SSL cũng như UDP. Cloud Load Balancing có thể cân bằng tải giữa nhiều region, giúp chuyển lưu lượng truy cập nếu backend không ổn định. Nó còn phản ứng rất nhanh với những thay đổi trong mạng của người dùng, tình trạng backend, và các điều kiện khác.

VPC cung cấp một bộ tùy chọn Load Balancing. Nếu bạn cần cân bằng tải theo region cho ứng dụng web, hãy sử dụng Global HTTP(S). Đối với lưu lượng truy cập liên quan đến tầng socket, bạn có thể sử dụng Global SSL Proxy. Nếu là lưu lượng TCP, hãy sử dụng Global TCP Proxy. Nếu bạn muốn cân bằng tải lưu lượng UDP hay bất kỳ port nào thì bạn có thể sử dụng Regional Load Balancing. Điểm chung của tất cả dịch vụ trên là chúng đều dành cho lưu lượng truy cập vào mạng Google từ Internet.
Nhưng nếu bạn muốn cân bằng lưu lượng bên trong dự án của mình thì sao? Ví dụ như giữa lớp Presentation và lớp Business. Bạn có thể sử dụng bộ cân bằng tải nội bộ theo region, Regional internal. Nó chấp nhận lưu lượng truy cập trên địa chỉ IP nội bộ của Google Cloud và cân bằng tải trên các máy ảo Compute Engine.
Cuối cùng, bộ cân bằng tải Internal HTTP(S) là bộ cân bằng tải layer 7 dựa trên proxy. Nó cũng cho phép bạn chạy và mở rộng quy mô dịch vụ của mình bằng địa chỉ IP cần bằng tải nội bộ.
Internal HTTP(s) LB là dịch vụ được quản lý dựa trên proxy mã nguồn mở, Envoy. Điều này cho phép nó kiểm soát lưu lượng dựa trên các thông số HTTPS. Sau khi Load Balancing được cấu hình, nó sẽ tự động phân bổ proxy Envoy để đáp ứng nhu cầu lưu lượng của bạn.
Và đó là tất cả về Autoscaling và Cloud Load Balancing trong Google Cloud.