Nên chạy container của bạn ở đâu? Máy chủ vật lý hay máy ảo?

Bài viết xem xét sự khác biệt chính giữa việc chạy các container trong môi trường ảo hóa và trên các máy chủ vật lý và tập trung vào các điểm đánh đổi và quyết định chính.

Container là một đối thủ quan trọng và đang nổi lên như một phương thức triển khai ứng dụng. Mặc dù chúng chưa được sử dụng phổ biến nhưng hầu hết các doanh nghiệp đã triển khai các container ở đâu đó hoặc đang nghiên cứu khả năng của chúng.

Ưu điểm của chúng là tập trung vào khả năng trừu tượng hóa và tách mọi thứ cần thiết để chạy các ứng dụng ra khỏi phần cứng, và với tiềm năng rất lớn, các container instance được tạo và chạy theo yêu cầu, chúng có khả năng mở rộng tối đa.

Tất nhiên, các cụm container và nền tảng điều phối (container ochestration) được chạy trong môi trường máy chủ ảo, nhưng chúng không nhất thiết phải như vậy. Chúng cũng có thể chạy trực tiếp trên các máy chủ vật lý (bare metal). Trong bài viết này, chúng ta sẽ tìm hiểu về máy chủ vật lý và máy ảo (VM) và nơi chạy các container.

Các container đang chạy: máy chủ vật lý hay VM?

Container là một dạng ảo hóa, nhưng một trong đó ứng dụng và tất cả các microservices cần thiết cho chạy thực hiện của nó trên đầu trang của hệ điều hành máy chủ lưu trữ, chỉ với động cơ runtime chứa giữa hai người. Trong khi đó, môi trường máy chủ ảo hóa xem hypervisor chạy trên hệ điều hành máy chủ , với hệ điều hành khách ở trên cùng và các ứng dụng chạy trong các môi trường đó.

Hầu hết các câu hỏi xung quanh việc có nên chạy các container trên máy ảo hay trên máy chủ vật lý đều xuất phát từ thực tế cơ bản này.

Các yếu tố quyết định chính: Hiệu suất so với sự tiện lợi, và có lẽ cả chi phí

Quyết định có triển khai các trung tâm cơ sở hạ tầng container xoay quanh các yêu cầu về hiệu suất và sự thuận tiện hay không. Cách thuận tiện hơn để chạy bộ điều phối vùng chứa và các nút của chúng trên máy ảo, nhưng bạn sẽ mất một phần hiệu suất. Phải nói rằng, nếu bạn muốn đạt được những lợi ích về hiệu suất của máy chủ vật lý, bạn có thể cần phải vận hành môi trường tại chỗ của riêng mình và chuẩn bị thực hiện công việc cần thiết để bù đắp cho sự tiện lợi mà môi trường hypervisor mang lại.

Ngoài ra, chi phí có thể ảnh hưởng đến mọi thứ. Bởi vì các máy chủ vật lý có thể chạy hệ điều hành Linux nhẹ (chẳng hạn như Core OS hoặc các hệ điều hành hậu duệ của nó), chúng tránh được rất nhiều chi phí cấp phép hypervisor. Tất nhiên, điều đó cũng có nghĩa là họ bỏ lỡ chức năng nâng cao có sẵn từ môi trường ảo hóa.

Lợi ích và cái giá của ảo hóa

Đặt một lớp ảo hóa lên trên hệ điều hành chủ có nghĩa là thêm một lớp phần mềm vào môi trường, mang lại lợi ích cũng như hình phạt.

Trong môi trường ảo hóa, hypervisor mang lại nhiều chức năng và cho phép sử dụng phần cứng tối đa.

Lợi ích chính ở đây là khối lượng công việc có thể được di chuyển giữa các máy chủ một cách dễ dàng, ngay cả khi chúng không chia sẻ cùng một hệ điều hành máy chủ cơ bản. Đó là một điều hữu ích đối với các vùng chứa, đặc biệt là mong muốn cho tính di động của chúng giữa các vị trí, nhưng phụ thuộc vào hệ điều hành mà chúng được xây dựng. hệ điều hành máy chủ khác nhau.

Nhưng đồng thời, tất cả những điều về ảo hóa mang lại lợi ích cũng đi kèm với các hình phạt. Điều đó bắt nguồn từ thực tế là các tài nguyên vật lý của bạn chỉ đơn giản là phải thực hiện nhiều tính toán hơn do có thêm các lớp trừu tượng.

Điều đó có thể nhìn thấy rõ ràng nhất trong sự khác biệt về hiệu suất giữa các container chạy bằng máy chủ vật lý và trong môi trường ảo hóa. Các bài kiểm tra điểm chuẩn do Stratoscale thực hiện cho thấy rằng các container bằng máy chủ vật lý hoạt động tốt hơn từ 25% đến 30% so với trong máy ảo, do chi phí hiệu suất của ảo hóa.

Trong khi đó, môi trường VM có xu hướng có các tài nguyên – chẳng hạn như bộ nhớ được phân bổ khi khởi động – vẫn được cung cấp cho chúng. Diamanti , cung cấp nền tảng Kubernetes nhằm mục đích sử dụng trên máy chủ vật lý và trên đám mây, tuyên bố việc sử dụng tài nguyên có thể thấp tới 15% trong môi trường ảo hóa và nó có thể cắt giảm 5 lần sử dụng phần cứng.

Mặc dù những ưu điểm hiệu suất vốn có của máy chủ vật lý trên sự phức tạp gia tăng của ảo hóa, VMware, với nó Tanzu nền tảng Kubernetes, đã có những nỗ lực để giảm thiểu các chi phí.

Nhược điểm máy chủ vật lý

Đã nói tất cả những điều đó, có những nhược điểm đối với các container bằng máy chủ vật lý.

Điều quan trọng trong số này là môi trường vùng chứa phụ thuộc vào hệ điều hành, vì vậy một môi trường được xây dựng cho Linux sẽ chỉ chạy trên Linux. Điều đó có khả năng sẽ đặt ra giới hạn đối với việc di chuyển và có thể chống lại bạn trong đám mây, nơi máy chủ vật lý bị hạn chế và bạn có thể tìm thấy nó ở đâu, chi phí cao hơn. Cho rằng một trong những lợi thế chính của vùng chứa là có thể di chuyển khối lượng công việc giữa các trang web tại chỗ và đám mây, đó không phải là tin tốt.

Việc triển khai container bằng máy chủ vật lý cũng sẽ thiếu các tính năng đi kèm với các lớp phần mềm ảo hóa, chẳng hạn như khôi phục và ảnh chụp nhanh.

Việc triển khai các container bằng máy chủ vật lý cũng có thể gây khó khăn hơn trong việc giảm thiểu rủi ro thông qua dự phòng. Máy ảo cho phép bạn có khả năng phân chia các nút giữa chúng, trong khi khi các nút vùng chứa được cài đặt trên máy chủ vật lý, có thể sẽ có ít nút hơn và chúng sẽ ít di động hơn và ít chia sẻ hơn.

____
Bài viết liên quan
Góp ý / Liên hệ tác giả