DevOps: VMs lifecycle management with Vagrant

My ultimate goal as a DevOps engineer is providing solutions focusing on aligning IT systems to company’s culture and business processes.  Limiting the time spent on creating bespoke tools and scripts that not all sysops are able to understand or maintain properly.  Any custom tool is hard to maintain without a basic software engineering background and  it needs a proper design, documentation, QA and all diligence and discipline required along the way.

From imperative to declarative

To achieve this result I need to shift from a developer mindset where is imperative (creating flows) writing programs or automation scripts to declarative,  specifying just the desired state of a system in a YAML or JSON files that are a “lingua franca” between devs and sysops providing an up-to-date documentation that can be safely managed on a SCM (like GIT).

Continue reading “DevOps: VMs lifecycle management with Vagrant”