Вагрант (софтвер)

Вагрант е софтверски производ со отворен извор за градење и одржување на преносни средини за развој на виртуелен софтвер пр.: За VirtualBox, KVM, Hyper-V, докер контејнери, VMware и AWS. Се обидува да го поедностави управувањето со конфигурацијата на софтверот во виртуелизација со цел да ја зголеми продуктивноста на развојот. Вагрант е напишан на рубински јазик, но неговиот екосистем го поддржува развојот на неколку јазици.

 Историја 
Вагрант првпат бил започнат како личен спореден проект од Мичел Хашимото во јануари 2010 година. Првата верзија на Вагрант била објавена во март 2010 година. Во октомври 2010 година, Engine Yard изјавил дека ќе го спонзорираат проектот Вагрант. Првата стабилна верзија, Вагрант 1.0, била објавена во март 2012 година, точно две години по објавувањето на оригиналната верзија. Во ноември 2012 година, Мичел формираше организација наречена HashiCorp за поддршка на развојот на Вагрант со полно работно време; Вагрант остана софтвер со слободен пристап. HashiCorp сега работи на создавање комерцијални изданија и обезбедува професионална поддршка и обука за Вагрант.

Вагрант првично беше врзан за VirtualBox, но верзијата 1.1 додала поддршка за друг софтвер за виртуелизација како што се VMware и KVM и за опкружувања на сервери како Amazon EC2. Вагрант е напишан на јазикот Руби, но може да се користи во проекти напишани на други програмски јазици како што се PHP, Python, Java, C # и JavaScript. Од верзијата 1.6, Вагрант природно ги поддржува Docker контејнерите, што во некои случаи може да послужи како замена за целосно виртуелизиран оперативен систем.

 Архитектура 
Вагрант ги користи „Обезбедувачите“ и „Давателите“ како градежни блокови за управување со развојните средини. Обезбедувачите се алатки кои им овозможуваат на корисниците да ја прилагодат конфигурацијата на виртуелните средини. "Кукла" и "готвач" се двајцата најчесто користени обезбедувачи во екосистемот Вагрант (Ansible е достапен од најмалку 2014 година). Даватели на услуги се услугите што Вагрант ги користи за поставување и создавање виртуелни средини. Поддршката за виртуелизација на VirtualBox, Hyper-V и Docker се испраќа со Вагрант, додека VMware и AWS се поддржани преку приклучоци.

Може да се каже дека Вагрант е во врвот на софтверите за виртуелизација како тн. обвивка и му помага на развивачот лесно да комуницира со давателите на услуги. Ја автоматизира конфигурацијата на виртуелните средини користејќи "готвач" или "кукла", а корисникот не мора директно да користи друг софтвер за виртуелизација. Барањата за машини и софтвер се напишани во податотека наречена "Vagrantfile" за да се извршат потребните чекори со цел да се создаде поле подготвено за развој. „Box“ е формат и екстензија (.box) за Вагрант средини што се копираат на друга машина со цел да се реплицира истата околина.

 Наводи 

 Надворешни врски