Moving to bare-metal cloud services for both native performance and elasticity


Ví dụ dễ hình dung cho kiến trúc multi-tenant trong ngữ cảnh của IaaS nói chung và OpenStack nói riêng trong trường hợp này là việc một physical/compute server sẽ chứa nhiều VM/container (gọi chung là instance) thuộc về nhiều tenant/user khác nhau. Điều này là có cái lợi là tăng hiệu quả sử dụng tài nguyên khi một compute server có cấu hình cao sẽ chạy được nhiều instance có flavor vừa và nhỏ. Nhưng mặt khác, chế độ multi-tenant sẽ phát sinh một số vấn đề liên quan tới chuyện instance của các tenant sẽ có yêu cầu khác nhau về performance/configuration của từng hardware component. Ví dụ, trên instance A chạy application *chỉ* đòi hỏi CPU mạnh (CPU-bound), instance B thì RAM-bound, còn instance C lại là I/O-bound.

Như vậy, để thỏa mãn yêu cầu của 3 instance đó thì có một workaround là tạo ra 3 availability zone (AZ) riêng biệt chứa các loại compute server thiên về CPU/RAM/IO-bound. Sau đó, user sẽ tạo ra các instance phù hợp với từng AZ. Tuy vậy, với các user đòi hỏi một môi trường hoàn toàn tách biệt về mặt physical (chứ không phải về mặt logical thông qua virtualization layer) để đảm bảo native performance và security thì workaround này chưa đáp ứng được. Ngoài ra, kiến trúc multi-tenant còn đặt ra vấn đề phức tạp trong quản lý, ví dụ, khi monitor system phát alert cho biết một instance đang gặp phải issue về CPU/RAM/IO thì nếu không có cơ chế auto live migration thì người admin phải chủ động xác định xem compute server nào thích hợp để chuyển instance đó qua.

Bare-metal là giải pháp đánh đổi lợi ích của multi-tenant thông qua virtualization lấy native performance, security và đạt được cả tính chất elasticity khi được tích hợp vào nền tảng cloud. Giờ đây một compute server sẽ chỉ chạy application thuộc về một single-tenant mà thôi. Đây là cách tiếp cận không mới, cả Rackspace, AWS và nhiều hosting provider khác đều có dịch vụ này từ vài năm trước. Chuyện Rackspace giới thiệu OnMetal, một bare-metal cloud service trong bài này có hai điểm mới:

(1) Hardware của bare-metal server được Rackspace thiết kế dựa trên các đặc tả của dự án mở Open Compute Project do Facebook khởi xướng vào năm 2011 mà Rackspace là một thành viên. Lợi ích của dự án này là giúp các công ty có hạ tầng lớn như Facebook hay Rackspace tiết kiệm chi phí khi phải mua các server phổ thông, đa dụng từ HP, IBM trong khi nhu cầu thực tế là cần các hardware chuyên dụng cho các mục đích khác nhau như CPU/RAM/IO-bound.

(2) Bare-metal server sẽ được provisoned & managed thông qua API của Ironic, một dự án con còn mới mẻ trong OpenStack mà Rackspace đang tích cực đóng góp.

PS: Các dạng workload theo phân loại của Rackspace:

+ RAM-bound: Caching, Search indexes, In-memory analytics,…

+ IO-bound: Online transaction processing (OLTP), NoSQL databases, Traditional SQL databases,…

+ CPU-bound: Web servers, Application servers, Queue processing, Load balancers,…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s