So sánh giữa máy chủ vật lý, VPS và Docker

Bài viết này là phần 3 trong 4 phần của serie bài viết Giới thiệu chung về Docker

ToiVietBlog - Bài viết này sẽ nói về sự khác nhau giữa máy chủ vật lý (physical server), VPS (virtual private server) và Docker.

Hẳn các bạn làm trong lĩnh vực CNTT đều khá quen thuộc với máy chủ vật lý và VPS.

Máy chủ vật lý đơn giản là một máy tính chuyên dụng. Nó có cấu hình cao và chuyên dùng để xử lý các ứng dụng tải lớn 24/7.

VPS là những máy chủ ảo. Nó được tạo ra trên các máy chủ vật lý thông qua các trình ảo hóa.

Trên máy tính cá nhân, bạn cũng có thể tạo các máy ảo (virtual machine) thông qua các phần mềm như VirtualBox, VMware Workstation. Máy ảo này cũng mô phỏng cách hoạt động của VPS trên hệ thống của các provider.

Kiến trúc máy chủ vật lý và máy chủ ảo

Bạn hãy nhìn hình ảnh minh họa dưới đây.

su-khac-nhau-giua-may-chu-vat-ly-vps-va-docker-01 So sánh giữa máy chủ vật lý, VPS và Docker
Kiến trúc truyền thống của máy chủ vật lý và máy chủ ảo.

Kiến trúc máy chủ vật lý

Bạn hãy nhìn bên trái hình ở trên. Với máy chủ truyền thông, chúng ta chạy 3 App trên chung một bộ thư viện. Các thư viện này được cài đặt trên OS của máy chủ. Điều này hầu hết mọi người đều quen thuộc, nó cũng giống như khi bạn cài chiếc laptop của mình vậy.

Nhược điểm của kiến trúc này là nếu App thứ 4 sử dụng một bộ thư viện khác xung đột hoặc không có trên máy chủ này. Vậy thì App thứ 4 này không thể hoạt động được.

Kiến trúc máy chủ ảo

Bây giờ bạn hãy nhìn phía bên phải của hình ở trên. Với các máy chủ ảo/máy ảo, chúng ta giải quyết được vấn đề của máy chủ vật lý.

Đó là chúng ta thông qua phần mềm ảo hóa (hypervisor) để tạo ra các máy ảo nằm trên máy chủ vật lý. Điều này cho phép ta cài OS riêng biệt cho các máy ảo này. Và thông qua đó, ta có thể cài các bộ thư viện riêng biệt cho từng máy ảo.

Ví dụ, một máy chủ vật lý bạn chỉ chạy Ubuntu server hoặc CentOS. Nhưng khi ảo hóa, bạn có thể tạo ra một máy chủ Ubuntu server riêng, một máy chủ CentOS riêng. Và bạn tiến hành cài đặt ứng dụng của mình lên các máy ảo này một cách riêng biệt.

Nhược điểm của kiến trúc này đó là:

  • Tài nguyên hạn chế và tiêu tốn: số lượng cũng như cấu hình máy ảo hoàn toàn phụ thuộc vào máy chủ vật lý. Máy ảo được tạo ra cũng tiêu tốn tài nguyên nhiều hơn là tạo ra một container.
  • Thời gian thao tác: với những bạn mới làm quen với việc tạo máy ảo, bạn có thể sẽ tốn nhiều thời gian cho việc này. Tạo máy ảo, cài đặt OS cho máy ảo, cài đặt thư viện cho ứng dụng, triển khai ứng dụng.

Kiến trúc của Docker

Docker là một hệ thống quản lý container, nó giúp chúng quản lý Linux Container (LXC) trở nên dễ dàng hơn.

Giờ ta sẽ xem kiến trúc của Docker như thế nào.

su-khac-nhau-giua-may-chu-vat-ly-vps-va-docker-02 So sánh giữa máy chủ vật lý, VPS và Docker
Kiến trúc của Docker.

Bạn hãy nhìn kiến trúc của Docker ở trên. Bạn có nhận thấy sự khác biệt?

Layer “docker” đã thay thế cho layer “hypervisor” ở kiến trúc máy ảo. Tuy nhiên, trong kiến trúc của Docker không có layer “Guest OS” cho từng máy ảo.

Đây là điểm khác biệt lớn giữa vps và docker.

Máy ảoDocker
Tạo máy ảo độc lập thông qua ảo hóa (hypervisor)Tạo container độc lập thông qua docker
Cài guest OS cho từng máy ảoKhông cài guest OS, sử dụng trực tiếp kernel của Linux host
Cài đặt thư viện và app độc lập trên các máy ảoCài đặt thư viện và app độc lập trong các container
Kích thước file máy ảo lớnKích thước file container nhỏ

Docker sử dụng trực tiếp kernel của Linux host, vì vậy mà các container có thể chạy full tính năng như đang chạy trên một máy chủ Linux thông thường.

Nhờ vào việc không cần cài đặt guest OS, kích thước của container cũng trở nhỏ hơn nhiều. Nhờ vào đó mà bạn có thể tạo và xóa các container rất nhanh chóng.

Kết luận

Qua bài viết này thì bạn có thể biết được điểm khác biệt giữa 3 kiến trúc hệ thống hiện nay: máy chủ vật lý, vps và docker. Khi hiểu được kiến trúc của Docker được xây dựng thế nào, bạn có thể đào sâu hơn về nó.

Tiếp tục đọc serie bài viết«« Phần trước: Giới thiệu về DockerPhần tiếp theo: Cài đặt docker trên Ubuntu 18.04 »»
0 0 votes
Article Rating
Nhấn vào đây để đánh giá bài này!
[Tổng: 1 - Trung bình: 5]

If you appreciate what we share in this blog, you can support us by:
  1. Stay connected to: Facebook | Twitter | Google Plus | YouTube
  2. Subscribe email to recieve new posts from us: Sign up now.
  3. Start your own blog with SSD VPS - Free Let's Encrypt SSL ($2.5/month).
  4. Become a Supporter - Make a contribution via PayPal.
  5. Support us by purchasing Ribbon Lite Child theme being using on this website.

We are thankful for your support.

«« »»
Theo dõi
Thông báo về
guest
0 Comments
Inline Feedbacks
View all comments