08/01/2024 - 09:37 PM 178 lượt xem Cỡ chữ Tổng quan Containers và Máy ảo “Virtual machines (VMs)” là 2 phương pháp tiếp cận Môi trường điện toán đóng gói “Packaging Computing Environments” kết hợp nhiều thành phần CNTT “IT Components” khác nhau và tách biệt chúng khỏi phần còn lại của hệ thống. Sự khác biệt chính giữa cả hai là những thành phần nào được tách biệt, do đó ảnh hưởng đến quy mô và tính di động của từng phương pháp. Xem video Container là gì? Container là một đơn vị phần mềm “Unit of Software” chứa tất cả các thành phần và chức năng cần thiết để ứng dụng chạy. Hầu hết các ứng dụng hiện đại đều được tạo thành từ nhiều Container, mỗi Container thực hiện một chức năng cụ thể. Các Container thường được đo bằng megabyte, không sử dụng bộ ảo hóa “hypervisor” và thường được coi là cách xử lý cách ly quy trình nhanh hơn, linh hoạt hơn. Một trong những yếu tố quan trọng góp phần vào sự thành công của container là tính di động. Giống như các khối LEGO™ kết nối với nhau, các Container riêng lẻ có thể dễ dàng thay đổi và di chuyển đến các môi trường khác nhau. Sau khi ứng dụng và các phần phụ thuộc của nó được đóng gói vào một Container, ứng dụng đó có thể được triển khai ở bất cứ nơi nào cần thiết – máy tính xách tay của nhà phát triển, trung tâm dữ liệu, đám mây hoặc thiết bị biên – với kỳ vọng rằng nó sẽ hoạt động giống hệt nhau. Docker, một nền tảng nguồn mở để xây dựng, triển khai và quản lý các ứng dụng được chứa trong container, đã đóng một vai trò quan trọng trong sự phát triển của công nghệ container trong những năm qua. Máy ảo “Virtual Machine” là gì? Máy ảo “Virtual machines” đóng một vai trò quan trọng trong điện toán đám mây “Cloud computing”, mô phỏng máy tính vật lý bằng cách chạy hệ điều hành trong các phiên bản “Instances” biệt lập. Nhiều máy ảo thường được lưu trữ trên một máy chủ duy nhất, với bộ ảo hóa hay Trình ảo hóa “Hypervisor” hoạt động như một lớp phần mềm nhẹ được đặt giữa máy chủ vật lý và máy ảo. Trình ảo hóa này quản lý hiệu quả quyền truy cập vào tài nguyên, cho phép các máy ảo hoạt động như các máy chủ riêng biệt đồng thời mang lại tính linh hoạt và linh hoạt nâng cao. Ban đầu trở nên phổ biến vào những năm 2000 nhờ các sáng kiến hợp nhất và tiết kiệm chi phí, việc sử dụng VM đã phát triển theo thời gian. Các tổ chức đã hoàn thiện việc triển khai VM của mình, mở rộng ra ngoài phạm vi hợp nhất để đáp ứng nhiều trường hợp sử dụng khác nhau. Chúng bao gồm việc cung cấp tài nguyên theo yêu cầu cho các ứng dụng và tối ưu hóa quyền truy cập vào các tài nguyên đắt tiền như GPU. Máy ảo cũng đóng vai trò là nền tảng của nhiều môi trường điện toán đám mây đời đầu, hỗ trợ ảo hóa tài nguyên và hỗ trợ nhiều bên thuê và cách ly – tức là nhiều khách hàng đang chạy các hệ thống chia sẻ cùng một tài nguyên. Máy ảo chứa hệ điều hành riêng, cho phép chúng thực hiện nhiều chức năng tiêu tốn nhiều tài nguyên cùng một lúc. Các tài nguyên tăng lên có sẵn cho máy ảo cho phép chúng trừu tượng hóa, phân tách, sao chép và mô phỏng toàn bộ máy chủ, hệ điều hành, máy tính để bàn, cơ sở dữ liệu và mạng. Nền tảng đám mây và CNTT truyền thống Ngoài những khác biệt về công nghệ, việc so sánh Containers với máy ảo là sự so sánh proxy giữa thực tiễn CNTT dựa trên nền tảng đám mây hiện đại và kiến trúc CNTT truyền thống. Thực tiễn CNTT mới nổi (Phát triển dựa trên nền tảng đám mây, CI/CD và DevOps) có thể thực hiện được vì khối lượng công việc được chia thành các đơn vị nhỏ nhất có thể sử dụng được—thường là một chức năng hoặc vi dịch vụ—và chạy độc lập, trong đó chúng được phát triển, triển khai, quản lý và mở rộng quy mô một cách độc lập . Tốt nhất nên đóng gói các đơn vị nhỏ này trong các vùng chứa Containers, cho phép nhiều nhóm làm việc trên các phần riêng lẻ của ứng dụng hoặc dịch vụ mà không làm gián đoạn hoặc đe dọa mã được đóng gói trong các vùng chứa Containers khác. Kiến trúc CNTT truyền thống (Nguyên khối và kế thừa) giữ mọi khía cạnh của khối lượng công việc được liên kết chặt chẽ và không thể hoạt động nếu không có kiến trúc lớn hơn. Vì các khía cạnh không thể tách rời nên chúng cần được đóng gói thành một đơn vị hoàn chỉnh trong môi trường lớn hơn, thường là VM. Trước đây, người ta thường xây dựng và chạy toàn bộ ứng dụng trong máy ảo, mặc dù việc có tất cả mã và phần phụ thuộc ở một nơi đã dẫn đến các máy ảo quá khổ gặp phải lỗi xếp tầng và thời gian ngừng hoạt động khi đẩy các bản cập nhật. Container và VM hoạt động như thế nào? Ảo hóa “Virtualization” Phần mềm được gọi là bộ ảo hóa hoặc Trình ảo hóa “Hypervisor” sẽ tách các tài nguyên khỏi máy vật lý để chúng có thể được phân vùng “partition” và dành riêng cho máy ảo. Khi người dùng đưa ra lệnh VM yêu cầu tài nguyên bổ sung từ môi trường vật lý, trình ảo hóa sẽ chuyển tiếp yêu cầu đến hệ thống vật lý và lưu trữ các thay đổi vào bộ đệm. Máy ảo trông và hoạt động giống như các máy chủ vật lý, có thể nhân lên những nhược điểm của sự phụ thuộc ứng dụng và dấu chân hệ điều hành lớn—dấu chân hầu như không cần thiết để chạy một ứng dụng hoặc vi dịch vụ. Vùng chứa “Containers” Mọi thứ trong vùng chứa “Container” đều được đóng gói và vận chuyển bằng ảnh vùng chứa “Container images”—một tệp bao gồm tất cả các thư viện “Libraries” và phần phụ thuộc “Dependencies”. Các tệp ảnh vùng chứa tương tự như các gói cài đặt phần mềm (chẳng hạn như RPM trong Linux), nhưng chỉ cần một Kernel (tiếng Việt: Nhân hệ điều hành) và thời gian chạy vùng chứa tương thích để ứng dụng chạy, bất kể hệ điều hành nào được sử dụng để tạo vùng chứa cũng như vị trí của các thư viện bên trong container có nguồn gốc từ. Vì các vùng chứa Container quá nhỏ nên thường có hàng trăm container được ghép nối lỏng lẻo với nhau—đó là lý do tại sao các nền tảng điều phối vùng chứa “Container Orchestration platforms” (như Red Hat OpenShift và Kubernetes) được sử dụng để cung cấp và quản lý chúng. Tôi nên sử dụng loại nào? Điều đó tùy thuộc vào—bạn có cần một phiên bản nhỏ “ small Instance” của thứ gì đó có thể di chuyển dễ dàng (Containers) hay bạn cần phân bổ bán cố định các tài nguyên CNTT tùy chỉnh? Các yếu tố bổ sung cần xem xét bao gồm kiến trúc ứng dụng “Application Architecture”, thực tiễn phát triển, các yêu cầu về bảo mật và các quy định tuân thủ. Tính chất nhỏ, nhẹ của container cho phép chúng được triển khai dễ dàng trên các hệ thống máy tính lớn cũng như môi trường công cộng, riêng tư, kết hợp và nhiều đám mây. Việc chạy các container trong máy ảo cũng rất phổ biến vì các tổ chức đã có sẵn cơ sở hạ tầng được xây dựng xung quanh các máy ảo. Điều này nói lên tính linh hoạt của container. Containers cũng là môi trường lý tưởng để triển khai các ứng dụng gốc đám mây “Cloud-native apps” ngày nay, là tập hợp các dịch vụ vi mô được thiết kế để cung cấp trải nghiệm quản lý tự động và phát triển nhất quán trên các môi trường công cộng, riêng tư, kết hợp và đa đám mây. Các ứng dụng gốc trên nền tảng đám mây giúp tăng tốc cách xây dựng các ứng dụng mới, cách tối ưu hóa các ứng dụng hiện có và cách tất cả chúng được kết nối. So với VM, container được sử dụng tốt nhất để: Xây dựng ứng dụng gốc trên nền tảng đám mây Đóng gói các vi dịch vụ Package Microservice Kết hợp các ứng dụng vào thực tiễn DevOps hoặc CI/CD Di chuyển các dự án CNTT có thể mở rộng trên phạm vi CNTT đa dạng So với container, VM được sử dụng tốt nhất để: Khối lượng công việc truyền thống, kế thừa và nguyên khối Cô lập các chu kỳ phát triển rủi ro Cung cấp tài nguyên cơ sở hạ tầng (như mạng, máy chủ và dữ liệu) Chạy một hệ điều hành khác bên trong một hệ điều hành khác (chẳng hạn như chạy Unix trên Linux) Và nếu bạn có các ứng dụng chạy trên cả máy ảo và container, Red Hat Service Interconnect có thể giúp kết nối các ứng dụng và dịch vụ trên các môi trường khác nhau. Bare metal vs VMs vs containers Máy ảo “Virtual machines” và vùng chứa “Container” có thể được triển khai trên nhiều loại cơ sở hạ tầng khác nhau, bao gồm cả máy chủ vật lý “Bare metail”. Bare metal là gì? Máy chủ vật lý ‘Bare metal’ là thuật ngữ dùng để chỉ máy tính hoặc máy chủ chạy trên phần cứng vật lý và không cần sự hỗ trợ từ các trình ảo hóa, máy ảo hoặc vùng chứa container để hoạt động. Máy chủ vật lý ‘Bare metal’ còn được gọi là máy chủ chuyên dụng–điều này là do các thành phần phần cứng không được chia sẻ với những người dùng khác và do đó hoàn toàn dành riêng cho một người thuê duy nhất. Các máy chủ vật lý ‘Bare metal’ có khả năng xử lý khối lượng dữ liệu lớn với độ trễ thấp – nghĩa là chúng nhanh và mạnh mẽ. Với bare metal, người dùng có toàn quyền kiểm soát cơ sở hạ tầng máy chủ của mình, nghĩa là họ có thể chọn hệ điều hành của riêng mình và tinh chỉnh phần cứng và phần mềm để phù hợp với nhu cầu khối lượng công việc cụ thể của mình. Tuy nhiên, mặc dù việc triển máy chủ vật lý ‘Bare metal’ có giá trị trong các tình huống mà hiệu suất và quyền truy cập trực tiếp vào phần cứng là rất quan trọng, nhưng chúng có thể không cung cấp mức độ linh hoạt và quản lý tài nguyên như bộ chứa containers hoặc máy ảo. Tôi có thể lưu trữ máy ảo trên máy chủ vật lý Bare Metal không? Có, các máy chủ vật lý ‘Bare metal’ có thể lưu trữ các máy ảo với việc bổ sung phần mềm ảo hóa “Virtualization Software” và trình ảo hóa “Hypervisor”. Tôi có thể lưu trữ các container trên máy chủ vật lý Bare Metal không? Có, các nền tảng như Docker, Kubernetes và Podman được thiết kế để giúp người dùng quản lý và triển khai các container trên quy mô lớn trên nhiều cơ sở hạ tầng, bao gồm cả các máy chủ vật lý Bare Metal. Tại sao chọn Red Hat? Red Hat® OpenShift® là một nền tảng ứng dụng dựa trên container sẵn sàng cho doanh nghiệp với nhiều lựa chọn triển khai và sử dụng hỗ trợ mọi ứng dụng và môi trường. Với Red Hat OpenShift, các tổ chức có thể nhanh chóng xây dựng, triển khai, chạy và quản lý ứng dụng ở mọi nơi, an toàn và ở quy mô lớn. Red Hat OpenShift Virtualization, một tính năng của Red Hat OpenShift, cho phép các nhóm CNTT chạy máy ảo cùng với các container trên cùng nền tảng Kubernetes, đơn giản hóa việc quản lý và cải thiện thời gian sản xuất. Điều này cho phép các tổ chức được hưởng lợi từ các khoản đầu tư hiện có vào ảo hóa, đồng thời tận dụng sự đơn giản và tốc độ của nền tảng ứng dụng hiện đại. Bằng cách tích hợp VM vào nền tảng ứng dụng OpenShift, nó cung cấp một môi trường nhất quán để phát triển và triển khai ứng dụng. Các nhà phát triển có thể xây dựng, thử nghiệm và triển khai ứng dụng nhanh hơn, rút ngắn thời gian đưa sản phẩm ra thị trường. Nguồn: https://www.redhat.com/en/topics/containers/containers-vs-vms Về trang trước Gửi email In trang Tweet
Linux container là gì? 08/01/2024 176 lượt xem Linux® container là một tập hợp gồm 1 hoặc nhiều tiến trình được tách biệt khỏi phần còn lại của hệ thống. Tất cả các tệp cần thiết để chạy chúng đều được cung cấp từ một ảnh image riêng biệt, nghĩa là các Linux containers có tính di động và nhất quán khi chúng chuyển từ giai đoạn phát triển, thử nghiệm và cuối cùng là sản xuất. Điều này làm cho chúng được sử dụng nhanh hơn nhiều so với các quy trình phát triển dựa vào việc sao chép các môi trường thử nghiệm truyền thống. Do tính phổ biến và dễ sử dụng của chúng, các container cũng là một phần quan trọng trong bảo mật CNTT.
Container orchestration là gì? 08/01/2024 187 lượt xem Điều phối vùng chứa “Container orchestration” tự động hóa việc triển khai, quản lý, mở rộng quy mô và kết nối mạng các vùng chứa “Containers”. Các doanh nghiệp cần triển khai và quản lý hàng trăm hoặc hàng nghìn Linux® container và máy chủ hosts có thể hưởng lợi từ việc điều phối vùng chứa.
Máy ảo (VM) là gì? 08/01/2024 181 lượt xem Máy ảo (tiếng Anh là Virtual Machine, viết tắt là VM) là một môi trường ảo hoạt động như một hệ thống máy tính ảo với CPU, bộ nhớ, giao diện mạng và bộ lưu trữ riêng, được tạo trên hệ thống phần cứng vật lý (nằm ngoài hoặc tại chỗ). Phần mềm được gọi là bộ ảo hóa hay Trình ảo hóa “Hypervisor” sẽ tách các tài nguyên của máy khỏi phần cứng và cung cấp chúng một cách thích hợp để VM có thể sử dụng chúng.
KVM là gì? 08/01/2024 171 lượt xem Kernel-based Virtual Machine (KVM) (tiếng Việt: Máy ảo dựa trên nhân hệ điều hành) là một công nghệ ảo hóa nguồn mở được tích hợp trong Linux®. Cụ thể, KVM cho phép bạn biến Linux thành một trình ảo hóa “Hypervisor” cho phép máy chủ chạy nhiều môi trường ảo biệt lập được gọi là máy khách “guests” hoặc máy ảo (VM - Virtual machines).
Điện toán đám mây là gì? 09/02/2023 243 lượt xem Điện toán đám mây cho phép khách hàng sử dụng cơ sở hạ tầng và ứng dụng qua internet mà không cần cài đặt và bảo trì chúng tại chỗ
Hybrid Cloud là gì? 09/02/2023 247 lượt xem Hybrid cloud (tạm dịch sang tiếng Việt là Đám mây lai) kết hợp và thống nhất Public Cloud (đám mây công cộng), Private Cloud (đám mây riêng) và On-premises infrastructure (cơ sở hạ tầng tại chỗ) để tạo ra một cơ sở hạ tầng CNTT duy nhất, linh hoạt, tối ưu về chi phí.
Kubernetes là gì? 08/02/2023 277 lượt xem Kubernetes là một nền tảng điều phối bộ chứa mã nguồn mở tự động hóa việc triển khai, quản lý và mở rộng quy mô các ứng dụng được chứa.
Machine Learning là gì? 07/02/2023 302 lượt xem Phần giới thiệu về học máy Machine Learning này cung cấp tổng quan về lịch sử, các định nghĩa quan trọng, ứng dụng và mối quan tâm của nó trong các doanh nghiệp ngày nay.
DevOps là gì? 07/02/2023 239 lượt xem DevOps tăng tốc độ phân phối phần mềm chất lượng cao hơn bằng cách kết hợp và tự động hóa công việc của các nhóm vận hành CNTT và phát triển phần mềm
Trí tuệ nhân tạo (AI) là gì? 06/02/2023 237 lượt xem Trí tuệ nhân tạo (tiếng Anh là Artificial intelligence, viết tắt là AI) tận dụng máy tính và máy móc để bắt chước khả năng giải quyết vấn đề và ra quyết định của tâm trí con người.
Làm thế nào để tránh đạo văn 16/10/2020 12.881 lượt xem Nếu bạn là sinh viên của một trường đại học, thì bạn nhất thiết phải tránh đạo văn trong tác phẩm của mình; nếu không, bạn có thể phải đối mặt với các biện pháp trừng phạt có thể khiến bạn không hoàn ...
Đạo văn là gì? 16/10/2020 14.811 lượt xem Định nghĩa đạo văn Từ điển Merriam Webster định nghĩa hành vi đạo văn "Plagiarism" là; "Ăn cắp và chuyển giao ý tưởng hoặc lời nói của người khác như là của riêng mình". Nói một cách đơn giản, đạo văn...
Hậu quả của việc đạo văn 15/10/2020 7.238 lượt xem Không nên có bất kỳ sự trì hoãn nào, hãy xem xét tất cả những ảnh hưởng có thể mà bạn sẽ phải đối mặt nếu bạn sao chép đạo văn của người khác: Đối với lĩnh vực giáo dục Ngày nay, vi phạm bản quyền đã ...
IP address là gì? 17/09/2020 15.040 lượt xem IP address là gì? Nội dung bài viết: 1. IP address là gì? 2. Giao thức Internet Protocol (IP) 3. Các phiên bản của giao thức IP 4. Địa chỉ IPv4 5. Địa chỉ IPv6 6. Phân giải địa chỉ IP address 1....
Ping là gì? 17/09/2020 3.137 lượt xem Ping là gì? Nội dung bài viết: 1. Ping là gì? 2. Ping hoạt động như thế nào? 3. Định dạng tin nhắn Ping 4. Tiện ích Ping 5. Các khóa và biến của Ping 6. Cách sử dụng Ping 7. Bảo mật 1. Ping là g...
Virtualization (ảo hóa) là gì? 16/09/2020 6.317 lượt xem Ảo hóa là gì? Nội dung bài viết: 1. Ảo hóa là gì? 2. Bộ phận ảo hóa 3. Ảo hóa phần cứng 4. Ảo hóa lồng nhau 5. Ảo hóa khác 6. Lợi ích của ảo hóa 7. Nhược điểm của ảo hóa 8. Vấn đề bảo mật máy ảo 1...
NetFlow là gì? 16/09/2020 4.169 lượt xem NetFlow là gì? Nội dung bài viết: 1. NetFlow là gì? 2. Cách thức hoạt động của NetFlow 3. Ví dụ về NetFlow command 4. Sử dụng NetFlow 5. Cơ sở hạ tầng NetFlow Infrastructure 1. NetFlow là gì? - ...
Syslog là gì? 16/09/2020 5.791 lượt xem Syslog là gì? Nội dung bài viêt: 1. Syslog là gì? 2. Định dạng thông báo Syslog 3. Ví dụ về thông báo Syslog 4. Syslog Server 5. Bảo mật 6. Thiết kế Syslog 7. Sử dụng Syslog 1. Syslog là gì? ...
Bandwidth (Băng thông) là gì? 14/09/2020 8.961 lượt xem Bandwidth (Băng thông) là gì? Nội dung bài viết: 1. Bandwidth trong Máy tính là gì? 2. Đơn vị đo băng thông 3. Phương pháp đo băng thông 4. Phân biệt Băng thông & Tốc độ & thông lượng 5. Tại sao phả...
SNMP là gì? 12/09/2020 14.767 lượt xem SNMP là gì? Nội dung bài viết: 1. SNMP là gì? 2. Thông tin đăng nhập cho thiết bị SNMP 3. SNMP hoạt động như thế nào? 4. OID và MIB là gì? 5. Cách sử dụng SNMP để giám sát? 6. Các giá trị mà giao th...