Các loại auto scaling cơ bản được sử dụng trong Cloud Computing

923
13-11-2021
Các loại auto scaling cơ bản được sử dụng trong Cloud Computing

Auto scaling là phương pháp phổ biến được áp dụng trong công nghệ điện toán đám mây nhằm điều chỉnh tự động lượng tài nguyên Cloud server. Auto scaling được chia ra làm 2 loại phổ biến là Horizontal scaling và Vertical Scaling. 

1. Horizontal scaling

Horizontal scaling là 1 trong các loại auto scaling được áp dụng nhiều nhất. Nó còn gọi là kỹ thuật auto scaling theo chiều ngang sử dụng chiến lược gia tăng hiệu suất của dịch vụ bằng cách thêm nhiều phiên bản máy chủ hơn vào nhóm máy chủ hiện có để tải (load) có thể phân bố đồng đều.

Phương pháp horizontal scaling không thay đổi dung lượng mà thay vào đó là giảm tải cho từng máy chủ. Với sự hỗ trợ đắc lực của hệ thống tệp phân tán (distributed file system), clustering và load balancing, horizontal scaling đã phát huy tối đa vai trò của nó. 

Nhiều doanh nghiệp lựa chọn phương pháp horizontal scaling vì nó cung cấp khả năng gia tăng đồng thời I/O, cung cấp khả năng giảm tải trên các node hiện có và mở rộng dung lượng ổ cứng. Horizontal scaling cung cấp khả năng thêm nhiều máy chủ hơn vào nhóm hiện có một cách dễ dàng và tuân theo phân vùng dữ liệu, mỗi node chỉ chứa duy nhất 1 phần dữ liệu.

Giả sử 1 doanh nghiệp nào đó đang vận hành một trang web kinh doanh trên 1 máy chủ. Khi doanh nghiệp phát triển và lưu lượng truy cập vào trang web này tăng lên đáng kể sẽ làm gia tăng tải lên máy chủ và các node. Để giảm tải, doanh nghiệp có thể chọn 1  trong các loại auto scaling phổ biến như mở rộng quy mô theo phương pháp horizontal scaling bằng cách thêm vào 1 máy chủ khác có dung lượng tương đồng với máy chủ hiện có. Cuối cùng, với 2 máy chủ thì lưu lượng truy cập có thể được quản lý dễ dàng và hiệu quả hơn.

Horizontal Scaling đang được sử dụng bởi nhiều nhà cung cấp dịch vụ web khổng lồ như Google với Gmail và Youtube, Yahoo, Facebook, eBay, Amazon, v.v.

Horizontal scaling còn được gọi là scaling out. Phương pháp này có nhiều ưu điểm như: các công cụ có thể mở rộng dễ dàng, hỗ trợ tuyến tính khuếch đại công suất, khả năng chịu lỗi cao, dễ dàng nâng cấp…Tuy nhiên cũng phải kể đến một số nhược điểm của nó như: thiết kế về mặc kiến trúc rất phức tạp, phí cấp phép cao, chi phí tiện ích cao (làm mát, điện…) cũng như việc cần có thêm thiết bị mạng như bộ định tuyến và bộ chuyển mạch.

Các loại auto scaling cơ bản được sử dụng trong Cloud Computing - Ảnh 1.

2. Vertical scaling

Vertical Scaling là 1 trong các loại auto scaling thường được cá nhân, doanh nghiệp vừa và nhỏ sử dụng. Nó còn được gọi là phương pháp auto scaling theo chiều dọc. Vertical Scaling nỗ lực gia tăng công suất trên 1 máy chủ duy nhất. Các tài nguyên như sức mạnh xử lý, bộ nhớ, bộ nhớ và hơn thế nữa được thêm vào một đơn vị công việc hiện có.

Vertical Scaling thêm tài nguyên bằng cách tăng dung lượng của phần cứng hoặc phần mềm hiện có. Vì thế nó có thể giúp nâng cấp máy chủ mà không cần phải coding thủ công. Tuy nhiên nó bị hạn chế ở chỗ bạn chỉ có thể thêm tài nguyên tối đa bằng kích thước máy chủ mà thôi.

Giả sử 1 doanh nghiệp nào đó đang vận hành một trang web kinh doanh trên 1 máy chủ. Khi doanh nghiệp phát triển và lưu lượng truy cập vào trang web này tăng lên sẽ làm giảm đáng kể hiệu suất của máy chủ. Để giảm tải, doanh nghiệp có thể mở rộng tài nguyên bằng các loại auto scaling như thêm bộ xử lý CPU, RAM, dung lượng đĩa nhanh hơn, v.v. Đây chính là phương pháp vertical scaling nâng cao khả năng của cùng một máy chủ và node.

Vertical Scaling là phương pháp gia tăng sức mạnh của từng máy chủ để xử lý tải (load) ngày càng tăng. Nó bị hạn chế bởi công suất của một máy duy nhất. Ngoài ra không có phân vùng dữ liệu cũng như tất cả đều nằm trên 1 node duy nhất. Phương pháp này thường được sử dụng rộng rãi cho các ứng dụng của những doanh nghiệp vừa và nhỏ. Vertical scaling còn được gọi với cái tên khác là Scale-up. 

Ưu điểm lớn nhất của Vertical Scaling là giảm thiểu chi phí phần mềm, cách thực hiện dễ dàng, phí cấp phép thấp, chi phí tiện ích (điện, làm mát…) thấp hơn nhiều so với phương pháp Horizontal Scaling. Tuy nhiên nó cũng có nhiều nhược điểm như quy mô mở rộng bị giới hạn, rủi ro về thời gian chết, nguy cơ lỗi phần cứng và nguy cơ nhà cung cấp bị lock-in cao. 

Tóm lại, các doanh nghiệp phải xác định những gì phù hợp với yêu cầu kinh doanh của mình và nên hiểu sự khác biệt giữa hai phương pháp auto scaling này để xem liệu mục tiêu web, ứng dụng của mình có phù hợp với mô hình đã chọn hay không. Trong môi trường Cloud server thì bạn hoàn toàn có thể áp dụng horizontal scaling hoặc vertical scaling hoặc cả 2 với hiệu suất cao và không hề có thời gian chết nào cả.

SHARE