Mục lục
Nếu bạn làm việc trong hoặc xung quanh ngành công nghiệp phần mềm, có lẽ bạn đã nghe nói về máy ảo. Nếu không, bạn có thể thắc mắc chúng là gì và dùng để làm gì.
Là kỹ sư phần mềm, tôi sử dụng máy ảo hàng ngày. Chúng là những công cụ mạnh mẽ trong phát triển phần mềm, nhưng chúng cũng có những công dụng khác. Còn được gọi là máy ảo, nhiều doanh nghiệp sử dụng chúng vì tính linh hoạt, độ tin cậy và hiệu quả chi phí; chúng cũng ngăn chặn các thảm họa từ việc chạy thử phần mềm.
Hãy xem máy ảo là gì và tại sao chúng được sử dụng.
Máy ảo là gì?
Máy ảo là một phiên bản của hệ điều hành (HĐH) chẳng hạn như Windows, Mac OS hoặc Linux chạy trong HĐH chính của máy tính.
Thông thường, nó chạy trong cửa sổ ứng dụng trên màn hình của bạn. Một máy ảo có đầy đủ chức năng và hoạt động như một máy tính hoặc máy riêng biệt. Về bản chất, máy ảo là một máy tính ảo chạy bên trong một máy tính khác được gọi là máy chủ.
Hình ảnh 1: Máy ảo chạy trên máy tính xách tay.
Máy ảo không' không có phần cứng (bộ nhớ, ổ cứng, bàn phím hoặc màn hình). Nó sử dụng phần cứng mô phỏng từ máy chủ. Do đó, nhiều máy ảo, còn được gọi là "khách", có thể chạy trên một máy chủ duy nhất.
Hình ảnh 2: Máy chủ chạy nhiều máy ảo.
Máy chủ cũng có thể chạy nhiều máy ảo với hệ điều hành khác nhaucác hệ thống, bao gồm Linux, Mac OS và Windows. Khả năng này phụ thuộc vào phần mềm được gọi là trình ảo hóa (xem Hình 1 ở trên). Trình ảo hóa chạy trên máy chủ và cho phép bạn tạo, đặt cấu hình, chạy và quản lý các máy ảo.
Trình ảo hóa phân bổ dung lượng ổ đĩa, lên lịch thời gian xử lý và quản lý việc sử dụng bộ nhớ cho từng máy ảo. Đây là điều mà các ứng dụng như Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V và nhiều ứng dụng khác thực hiện: chúng là các trình ảo hóa.
Một trình ảo hóa có thể chạy trên máy tính xách tay, PC hoặc máy chủ. Nó cung cấp các máy ảo cho máy tính cục bộ hoặc người dùng được phân phối trên mạng.
Các loại máy ảo và môi trường khác nhau yêu cầu các loại trình ảo hóa khác nhau. Hãy xem xét một số trong số chúng.
Các loại máy ảo
Máy ảo hệ thống
Máy ảo hệ thống, đôi khi được gọi là ảo hóa hoàn toàn, được chạy bởi một trình ảo hóa và cung cấp chức năng của một hệ thống máy tính thực tế. Chúng sử dụng hệ điều hành riêng của máy chủ lưu trữ để quản lý và chia sẻ tài nguyên hệ thống.
Các máy ảo hệ thống thường yêu cầu một máy chủ mạnh mẽ có tốc độ nhanh hoặc nhiều CPU, dung lượng bộ nhớ lớn và rất nhiều dung lượng ổ đĩa. Một số chạy trên máy tính cá nhân hoặc máy tính xách tay, có thể không yêu cầu sức mạnh tính toán mà các máy chủ ảo doanh nghiệp lớn cần; tuy nhiên, chúng sẽ chạy chậm nếu hệ thống máy chủ không phù hợp.
Xử lý ảoMáy
Xử lý Máy ảo hoàn toàn khác với SVM—bạn có thể để chúng chạy trên máy của mình và thậm chí không biết điều đó. Chúng còn được gọi là máy ảo ứng dụng hoặc môi trường thời gian chạy được quản lý (MRE). Các máy ảo này chạy bên trong hệ điều hành máy chủ và hỗ trợ các ứng dụng hoặc quy trình hệ thống.
Tại sao nên sử dụng PVM? Chúng thực hiện các dịch vụ mà không phụ thuộc vào hệ điều hành hoặc phần cứng cụ thể. Họ có hệ điều hành nhỏ của riêng mình chỉ với những tài nguyên họ cần. GDNCBM ở trong một môi trường riêng biệt; không thành vấn đề nếu nó chạy trên Windows, Mac OS, Linux hoặc bất kỳ máy chủ nào khác.
Một trong những Máy ảo xử lý phổ biến nhất là máy mà bạn có thể đã nghe nói đến và có thể đã thấy chạy trên đó máy tính của bạn. Nó được sử dụng để chạy các ứng dụng Java và được gọi tắt là Máy ảo Java hoặc JVM.
Các loại Trình ảo hóa
Hầu hết các máy ảo mà chúng ta quan tâm đều sử dụng trình ảo hóa vì chúng mô phỏng cả một hệ thống máy tính. Có hai loại trình ảo hóa khác nhau: Bare Metal Hypervisor và Hosted Hypervisor. Chúng ta hãy xem nhanh cả hai.
Bare Metal Hypervisor
BMH cũng có thể được gọi là trình ảo hóa gốc và chúng chạy trực tiếp trên phần cứng của máy chủ thay vì chạy trong hệ điều hành của máy chủ. Trên thực tế, chúng thay thế hệ điều hành của máy chủ, lên lịch vàquản lý việc sử dụng phần cứng của từng máy ảo, do đó loại bỏ "người trung gian" (hệ điều hành của máy chủ) trong quá trình này.
Các trình ảo hóa gốc thường được sử dụng cho các máy ảo doanh nghiệp quy mô lớn mà các công ty sử dụng để cung cấp cho nhân viên tài nguyên máy chủ. Microsoft Azure hoặc Amazon Web Services là các máy ảo được lưu trữ trên loại kiến trúc này. Các ví dụ khác là KVM, Microsoft Hyper-V và VMware vSphere.
Hosted Hypervisor
Các trình ảo hóa được lưu trữ chạy trên các hệ điều hành tiêu chuẩn—giống như bất kỳ ứng dụng nào khác mà chúng tôi chạy trên máy của mình. Họ sử dụng hệ điều hành của máy chủ để quản lý và phân phối tài nguyên. Loại trình ảo hóa này phù hợp hơn cho người dùng cá nhân cần chạy nhiều hệ điều hành trên máy của họ.
Chúng bao gồm các ứng dụng như Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop và nhiều ứng dụng khác. Bạn có thể tìm thêm thông tin chi tiết về các trình ảo hóa được lưu trữ trong bài viết của chúng tôi, Phần mềm máy ảo tốt nhất.
Tại sao nên sử dụng máy ảo?
Bây giờ bạn đã hiểu cơ bản về máy ảo là gì, bạn có thể nghĩ ra một số ứng dụng tuyệt vời. Dưới đây là một số lý do hàng đầu khiến mọi người sử dụng máy ảo.
1. Tiết kiệm chi phí
Máy ảo tiết kiệm chi phí trong nhiều tình huống. Một trong những điểm nổi bật nhất là trong thế giới doanh nghiệp. Sử dụng máy chủ vật lý để cung cấp tài nguyên cho nhân viên có thểrất tốn kém. Phần cứng không hề rẻ và việc duy trì nó thậm chí còn tốn kém hơn.
Việc sử dụng máy ảo làm máy chủ doanh nghiệp hiện đã trở thành tiêu chuẩn. Với máy ảo từ nhà cung cấp như MS Azure, bạn không cần mua phần cứng ban đầu và không mất phí bảo trì. Những máy ảo này có thể được thiết lập, định cấu hình và sử dụng chỉ với một xu trong một giờ. Chúng cũng có thể bị tắt khi không được sử dụng và hoàn toàn không phát sinh chi phí.
Sử dụng máy ảo trên máy của bạn cũng có thể là một cách tiết kiệm tiền rất lớn. Nếu bạn cần làm việc trong nhiều hệ điều hành hoặc cấu hình phần cứng khác nhau, bạn có thể
sử dụng nhiều máy ảo trên một máy chủ—không cần phải ra ngoài mua máy tính riêng cho từng tác vụ.
2. Có thể mở rộng và linh hoạt
Cho dù chúng là máy chủ doanh nghiệp hay máy ảo chạy trên máy tính xách tay của bạn, máy ảo đều có thể mở rộng. Thật dễ dàng để điều chỉnh các tài nguyên để phù hợp với nhu cầu của bạn. Nếu bạn cần thêm bộ nhớ hoặc dung lượng ổ cứng, chỉ cần vào trình ảo hóa và cấu hình lại VM để có thêm. Không cần phải mua phần cứng mới và quá trình này có thể hoàn tất nhanh chóng.
3. Thiết lập nhanh
Có thể thiết lập một máy ảo mới một cách nhanh chóng. Tôi đã gặp trường hợp cần thiết lập máy ảo mới, đã gọi cho đồng nghiệp của tôi, người quản lý chúng và giúp chúng sẵn sàng sử dụng trong vòng chưa đầy một giờ.
4. Khôi phục sau thảm họa
Nếu bạn đang cố gắng ngăn ngừa mất dữ liệu và chuẩn bị cho việc khôi phục sau thảm họa, máy ảo có thể là mộtcông cụ tuyệt vời. Chúng rất dễ sao lưu và có thể được phân phối ở các vị trí khác nhau nếu cần. Nếu một bên thứ ba như Microsoft hoặc Amazon lưu trữ các máy ảo, thì các máy ảo đó sẽ ở ngoài cơ sở—có nghĩa là dữ liệu của bạn sẽ an toàn nếu văn phòng của bạn bị cháy.
5. Dễ sao chép
Hầu hết các trình ảo hóa cho phép bạn tạo bản sao hoặc hình ảnh của máy ảo. Hình ảnh cho phép bạn dễ dàng tạo ra các bản sao chính xác của cùng một máy ảo cơ sở cho mọi tình huống.
Trong môi trường mà tôi làm việc, chúng tôi cung cấp cho mỗi nhà phát triển một máy ảo để sử dụng cho việc phát triển và thử nghiệm. Quá trình này cho phép chúng tôi có một hình ảnh được định cấu hình với tất cả các công cụ và phần mềm cần thiết. Khi chúng tôi giới thiệu một nhà phát triển mới, tất cả những gì chúng tôi phải làm là tạo một bản sao của hình ảnh đó và họ có những gì họ cần để bắt đầu làm việc.
6. Hoàn hảo cho Dev/Test
Một trong những lợi thế tốt nhất của việc sử dụng máy ảo là chúng là một công cụ hoàn hảo để phát triển và thử nghiệm phần mềm. Máy ảo cho phép các nhà phát triển phát triển trên nhiều nền tảng và môi trường trên một máy. Nếu máy ảo đó bị hỏng hoặc bị phá hủy, một máy ảo mới có thể nhanh chóng được tạo.
Chúng cho phép người thử nghiệm có một môi trường mới trong sạch cho mỗi chu kỳ thử nghiệm. Tôi đã làm việc trên các dự án mà chúng tôi thiết lập các tập lệnh thử nghiệm tự động để tạo một máy ảo mới, cài đặt phiên bản phần mềm mới nhất, chạy tất cả các thử nghiệm bắt buộc, sau đó xóa máy ảo sau khi thử nghiệm hoàn tất.
Máy ảo hoạt động rất tốt chothử nghiệm và đánh giá sản phẩm giống như những gì chúng tôi làm ở đây tại SoftwareHow.com. Tôi có thể cài đặt ứng dụng trong máy ảo chạy trên máy của mình và kiểm tra chúng mà không làm lộn xộn môi trường chính của tôi.
Khi kiểm tra xong, tôi luôn có thể xóa máy ảo, sau đó tạo một máy mới khi cần. Quá trình này cũng cho phép tôi thử nghiệm trên nhiều nền tảng mặc dù tôi chỉ có máy Windows.
Lời cuối
Như bạn có thể thấy, máy ảo là một công cụ linh hoạt, tiết kiệm chi phí có thể được sử dụng cho nhiều ứng dụng. Chúng tôi không còn cần phải mua, thiết lập và bảo trì phần cứng đắt tiền để cung cấp quyền truy cập máy chủ cho người thử nghiệm, nhà phát triển và những người khác. Máy ảo mang lại cho chúng tôi sự linh hoạt để tạo hệ điều hành, phần cứng và môi trường mà chúng tôi cần một cách dễ dàng và nhanh chóng—bất kỳ lúc nào.