Những vấn đề phát sinh liên quan đến sự phụ thuộc của phần mềm vào môi trường của hệ thống khi chuyển giao sản phẩm, ứng dụng là rất lớn? Vậy đâu là cách giảm thiểu rủi ro này? Câu trả lời là công nghệ ảo hóa!Trong bài viết này, Viettel IDC sẽ chia sẻ về một công nghệ ảo hóa đang “làm mưa làm gió” trong cộng đồng cộng nghệ trong nước và thế giới hiện nay, đó là “Container”.

Container là gì?

Container là giải pháp để giải quyết vấn đề làm sao để chuyển giao phần mềm một cách đáng tin cậy (không phát sinh lỗi) giữa các môi trường máy tính khác nhau. Chẳng hạn như giữa máy tính của lập trình viên với máy của tester, giữa môi trường staging (hay còn được gọi là môi trường tiền thực tế) với môi trường thực tế hay thậm trí giữa máy chủ riêngđặt tại trung tâm dữ liệu với máy ảo trên Cloud.Containergiải quyết vấn đề trên bằng cách tạo ra một môi trường bị cô lập(isolated) chứa mọi thứ mà phần mềm cần để có thể chạy được bao gồm mã nguồn, các thư viện runtime, các thư viện hệ thống, các công cụ hệ thống,… (gọi là sự phụ thuộc hoặc các phụ thuộc) mà không bị các yếu tố liên quan đến môi trường hệ thống làmảnh hưởng tới cũng như không làm ảnh hưởng tới các phần còn lại của hệ thống.

Bạn đang xem: Container là gì

*

Xem thêm: Tải Game ít Dung Lượng Nhất, Cách Tải Game Tốn ít Dung Lượng Nhất

Đặc điểm kỹ thuật của Container

Mô hình kiến trúc của container bao gồm các thành phần chính là Server (máy chủ vật lý hoặc máy ảo), host OS (hệ điều hành cài đặt trên server) và các container.Mỗi một ứng dụng (App A vàApp B) sẽ có những sự phụ thuộc riêng của nó bao gồm cả về phần mềm (các dịch vụ hay thư viện) lẫn cả về phần cứng (CPU, bộ nhớ, lưu trữ).Các ứng dụng này sẽ đượcContainer Engine, một công cụảo hóa tinh gọn, được cài đặt trên host OS, nó sẽ cô lập sựphụ thuộc của các ứng dụng khác nhau bằng cách đóng gói chúng thành cáccontainer. Các tiến trình (process) trong mộtcontainer bịcô lập với các tiến trình của các container khác trong cùng hệ thống tuy nhiên tất cả các container này đều chia sẻ kernel của host OS (dùng chunghost OS).Với mô hình trên, sự phụ thuộc của ứng dụngvào tầngOS cũng như cơ sở hạ tầng được loại bỏ giúp việc triển khai phương pháp “deploy anywhere” (triển khai ở bất kỳ nơi đâu) của container được hiệu quả hơn. Thêm vào đó, do chia sẻ host OS nên container có thể được tạo gần như một cách tức thì, giúp việc scale-up & scale-down theo nhu cầu được thực hiện một cách nhanh chóng.

Xem thêm: Squat Là Gì

*

Chuyên mục: Hỏi Đáp