And look at this, the end of another module,
a module where we've been trying to understand a little bit
more about Infrastructure as Code. With this,
we've seen that we have something called a CI/CD pipeline, or our continuous
integration/continuous development and deployment. With this covered, we
moved on to take a little bit of a look at Vagrant.
Vagrant is our virtual machine manager, and using a Vagrant file,
we can define how we want the virtual machines to be configured.
That Vagrant file is actually a Ruby‑based file,
but because there's no extension to Vagrant file,
it's difficult to tell Vim, our text editor, what type of file it is.
So we looked at how we could use the modeline within our Vim text
editor to have a configuration stored within our Vagrant file
that sets up our syntax highlighting.
Other products that can work as Infrastructure as Code include things like
Ansible and Terraform, as well as others, and we'll have specific modules
where we go into details of each of these.
The idea though,
is that we are storing the desired state inside of configuration files, so we
can easily reproduce machines to the exact state that we want.
Often, we are writing in YAML files, but it may well be read in the back end
by JSON. So we've taken a look at the differences between these, and we can
see that YAML is probably more easy for us to read,
whereas JSON maybe easier for a system to read. Now, the important thing
is that this is an introduction. We're going to start now taking a look in
more detail at each of the individual elements that make up Infrastructure
as Code. So in the next module,
we're going to dive out and start taking a look at implementing Ansible for configuration management.