Chuyện gì xảy ra nếu bạn chạy một dự án phần mềm nhưng trong nhóm mỗi người dùng một máy, một hệ điều hành khác nhau? Dĩ nhiên, những sự cố không tương thích các máy sẽ diễn ra “như cơm bữa”. Làm thế nào để giải quyết tình huống này? Vagrant chính là giải pháp dành cho bạn. Vậy, chúng ta sẽ đi tìm hiểu về “Vagrant là gì” nhé!
Tìm hiểu về Vagrant
Vagrant là gì?
Vagrant là một công cụ phần mềm giúp bạn có thể xây dựng và quản lý các máy ảo. Các máy ảo này có thể chạy trên hầu hết các hệ điều hành phổ biến như: Windows, Linux, Ubuntu, macOS,… Máy ảo của Vagrant do các provider như: AWS, VMware, VirtualBox,… Có thể nói rằng Vagrant đang “đứng trên vai của những người khổng lồ”.
Những điều kể trên giúp Vagrant có thể chạy và quản lý hầu hết các loại máy ảo khác nhau, hỗ trợ tự động cài đặt các phần mềm cho máy của bạn và không cần quan tâm đến việc bạn sử dụng hệ điều hành nào.
Tính năng của Vagrant là gì?
Tính năng chính của Vagrant chính là giúp bạn làm việc với máy ảo.
Thay vì phải chấp nhận sự phức tạp khi phải cấu hình toàn bộ máy cho nhóm để phù hợp với dự án, bạn có thể sử dụng công nghệ ảo hóa để giải quyết vấn đề này.
Trước tiên, bạn chỉ cần setup máy ảo như VirtualBox hay VMware trên nhiều thiết bị. Sau đó, bạn có thể sử dụng Vagrant để quản lý toàn bộ thiết bị chỉ trong 1 file text duy nhất!
Thật quá tiện lợi bạn nhỉ?
Vì sao nên sử dụng Vagrant?
Nhìn chung, Vagrant được thiết kế để bất cứ một ai từ những lập trình viên kỳ cựu, người mới vào nghề cho đến những người chưa biết gì và muốn tìm hiểu.
Chỉ bằng cách xem vài video thiết lập và tải Vagrant về, bạn có thể khởi tạo và sở hữu môi trường máy ảo một cách nhanh chóng, miễn phí và đa nền tảng!
Vagrant cung cấp cho người dùng một môi trường làm việc đơn giản, dễ cấu hình, tái tạo và “di động” trên các công nghệ tiêu chuẩn của ngành, được kiểm soát một cách nghiêm ngặt – trên 1 quy trình nhất quán nhằm tối đa hóa hiệu suất và tính linh hoạt với dự án phần mềm.
Lợi ích cho Developers
Nếu là một Developer, bạn sẽ xem Vagrant là “cộng sự đắc lực” hỗ trợ bạn trong việc ghi lại toàn bộ các config, các dependence trong một môi trường duy nhất dù bạn sử dụng: các editor, trình duyệt hay công cụ debug nào.
Nếu cần tạo Vagrantfile, bạn chỉ cần thực hiện vagrant up và tất cả mọi thứ sẽ được tự động cài đặt và cấu hình để bạn làm việc. Khi đồng đội của bạn đang sử dụng cùng một loại cấu hình và môi trường, dù bạn đang sử dụng bất kỳ hệ điều hành Linux, macOS hay Windows, toàn bộ đội nhóm của bạn đều có thể chạy code trên cùng một môi trường. Tạm biệt với câu nói “anh ơi, cái này không chạy trên máy của em, giúp em với”, tất cả mọi thứ đều được hỗ trợ bởi Vagrant.
Lợi ích cho Operators
Nếu bạn đang là một operations engineer hay DevOps engineer, Vagrant sẽ giúp cho bạn có thể cung cấp cho bạn môi trường làm việc và quy trình nhất quán để phát triển và thử nghiệm các script quản lý cơ sở hạ tầng.
Bạn có thể nhanh chóng kiểm tra những thứ như: shell scripts, Chef cookbooks, Puppet modules bằng cách sử dụng các máy ảo như VirtualBox hoặc VMware.
Với cùng một cấu hình tương tự, bạn có thể thử nghiệm script trên các máy ảo từ xa như AWS, RackSpace với cùng một quy trình làm việc.
Khi sử dụng Vagrant, bạn sẽ không cần phải tạo những script “tái chế” và không cần phải nhắc nhở việc sử dụng SSH trên các loại máy ảo khác nhau.
Lợi ích đối với Designers
Nếu bạn là một Designer, Vagrant sẽ tự động thiết lập hầu hết mọi thứ cho ứng dụng web/ website của bạn để bạn tập trung vào việc thiết kế của mình một cách hoàn hảo nhất.
Khi các Developer cấu hình cho ứng dụng web/ web, bạn không cần phải lo lắng về việc làm cho chúng “chạy” lại lần nữa.
Không cần phải “ngượng ngùng” khi nhờ vả hết lần này đến lần khác để cấu hình lại môi trường của bạn để thử nghiệm thiết kế, bạn chỉ cần kiểm tra code, vagrant up và bắt đầu công việc thiết kế của mình.
Hướng dẫn sử dụng Vagrant
Cách cài đặt Vagrant
Cách để cài đặt Vagrant rất đơn giản và dễ dàng thực hiện, bạn chỉ cần làm theo những bước sau đây:
Bước 1: tải Vagrant về tại đây. Bạn nên chọn phiên bản phù hợp với hệ điều hành của mình và cài đặt Vagrant.
Bước 2: tiếp theo, bạn chỉ cần xác nhận cài đặt bằng lệnh vagrant -v trong CMD. Chương trình sẽ tự động hiển thị phiên bản cài đặt của Vagrant.
Bước 3: tiếp theo, bạn chỉ cần tải những công cụ tạo máy ảo như VirtualBox hoặc bất cứ công cụ máy ảo nào bạn đang sử dụng và cài đặt vào hệ thống.
Cách bắt đầu với Vagrant
Tiếp theo, chúng ta sẽ tạo một Project đầu tiên trên Vagrant nhé! Trong hướng dẫn này, Tino Group sẽ hướng dẫn bạn tạo và cấu hình từ đầu. Vì thế, nếu bạn đã từng cài đặt Vagrant trước đây, bạn nên xóa sạch các file của Vagrant và cài đặt lại từ đầu để tránh các lỗi vặt.
Bước 1: bạn tạo một folder tại nơi bạn muốn lưu các file Vagrant-related.
Bước 2: tiếp theo, bạn sẽ cần tạo một file có tên là Vagrantfile để bắt đầu quá trình cấu hình với máy ảo. Với lần đầu tiên sử dụng Vagrant, bạn nên tạo tệp với các cấu hình tối thiểu, khi đã quen hơn, bạn có thể cấu hình lại sau.
Bước 3: bạn có thể mở PowerShell trên Windows hoặc Terminal trên Linux và truy cập vào vị trí của fonder bạn tạo ở bước 1.
Bước 4: bạn sẽ cần chạy lệnh dưới đây và đợi cho quá trình hoạt tất là được.
vagrant init bento/ubuntu-16.04
Đến đây, bạn sẽ thấy trong file cấu hình: config.vm.box = “bento/ubuntu-16.04” có rất nhiều comment. Để thực hiện việc cài đặt nào, bạn chỉ cần xóa comment và cài. Bất cứ ai cũng có thể tạo một máy ảo. Vậy là chúng ta đã hoàn tất tạo một Project với Vagrant rồi đấy!
Qua bài viết “Vagrant là gì? Hướng dẫn sử dụng Vagrant”, Tino Group đã cung cấp cho bạn kiến thức tổng quan về Vagrant là gì cũng như hướng dẫn bạn cách sử dụng Vagrant cơ bản. Chúc bạn sẽ có thể làm việc tốt nhất với đồng đội bằng Vagrant!
Những câu hỏi thường gặp về Vagrant
Vì sao không thể cài đặt Vagrant qua RubyGem?
Bạn có thể cài đặt Vagrant phiên bản 1.0.x thông qua RubyGem. Tuy nhiên, ở những phiên bản mới hơn sau này, nhà phát triển không còn hỗ trợ tính năng cài đặt Vagrant qua RubyGem nữa.
Vagrant khuyến nghị: nếu bạn đang sử dụng phiên bản Vagrant cũ cài đặt từ RubyGem, bạn nên gỡ cài đặt phiên bản này và cài đặt lại phiên bản chính thức mới nhất từ trang chủ.
Có nên cài đặt Vagrant qua các system package managers hay không?
Không. Vagrant khuyến khích bạn nên tải Vagrant tại trang tải chính thức và không nên cài đặt qua một phần mềm, dịch vụ thứ 3, cụ thể là các system package managers.
Lý do họ đưa ra là vì những system package manager này sẽ chứa những phiên bản Vagrant khác nhau và khả năng những vấn đề khác phát sinh trong khi cài đặt diễn ra làm cho hệ thống chạy không ổn định.
Có nên sử dụng Vagrant vào các dự án phần mềm lớn hay không?
Câu trả lời sẽ tùy thuộc vào bạn và thỏa thuận của bạn với khách hàng, với đội nhóm. Tuy nhiên, có rất nhiều tập đoàn lớn như: Nokia, mozilla, Expedia, BBC,… đang sử dụng Vagrant trong dự án và sản phẩm của họ.
Tìm hiểu thêm về Vagrant ở đâu?
Câu trả lời trong trường hợp này khá rõ ràng, cách tốt nhất để tìm hiểu về Vagrant là bạn truy cập vào Vagrant Document để tìm hiểu thêm về cách để sử dụng Vagrant. Tino Group chưa tìm thấy tài liệu nào tốt hơn Vagrant Document, nếu biết, bạn hãy chia sẻ với chúng tôi nhé!