Infrastructure as Code

Video Activity
Join over 3 million cybersecurity professionals advancing their career
Sign up with
Required fields are marked with an *
or

Already have an account? Sign In »

Time
21 hours 25 minutes
Difficulty
Intermediate
CEU/CPE
21
Video Transcription
00:00
>> Hey, there's Cybrarians and welcome back to
00:00
the Linux plus course here at Cybrary.
00:00
I'm your instructor Rob Gills.
00:00
In today's lesson, we're going to be
00:00
discussing Infrastructure as Code.
00:00
Upon completion of this lesson,
00:00
you are going to be able to understand
00:00
the orchestration concept of Infrastructure as Code,
00:00
as well as explain how Infrastructure as Code is
00:00
implemented and then differentiate
00:00
between configuration management,
00:00
infrastructure automation, and build automation.
00:00
Infrastructure as Code or IaC is really at
00:00
the center of orchestration because IaC
00:00
defines procedures and the
00:00
tools to be used and Infrastructure as
00:00
Code info gets stored in scripts and
00:00
code policies and templates.
00:00
Really instead of manually configuring or provisioning,
00:00
software tools are used and that's
00:00
really what we're doing with Infrastructure as Code.
00:00
The code is doing the work.
00:00
This provides us with a couple of benefits,
00:00
for one thing the deployment and
00:00
configuration of a system is repeatable
00:00
and then all of those configurations that were used
00:00
for deployment and configuration are version.
00:00
We can store them in Git version control
00:00
as we now know that to be.
00:00
Deploying a system or app can be
00:00
easily automated and configuration and
00:00
policies all documented in
00:00
this code that were version controlling.
00:00
Now, IaC is most identifiable when we're
00:00
discussing the processes that use or benefit from it.
00:00
For one thing, configuration management gets looped
00:00
into discussion of IaC and sometimes conflated with it.
00:00
But IaC is also used in
00:00
infrastructure automation and build automation,
00:00
and we'll talk about all of these in this lesson.
00:00
Performing manual configuration in
00:00
a small environment is time-consuming,
00:00
but it's frankly impossible in
00:00
an environment with hundreds or thousands of servers.
00:00
Configuration Management allows you to automate
00:00
configuration across a fleet of systems or containers.
00:00
Then these configurations are stored as code in
00:00
a repository or DVCS such
00:00
as Git, hence,Infrastructure as Code.
00:00
This is all the stuff
00:00
that's building your infrastructure.
00:00
You're storing this code and version control in.
00:00
But Configuration Management is
00:00
a different thing from Infrastructure as Code.
00:00
It's what you use with Infrastructure as Code.
00:00
Some examples of configuration management tools
00:00
include Ansible, Chef, and Puppet.
00:00
Now, we can also use Infrastructure as
00:00
Code to provide infrastructure automation.
00:00
Infrastructure automation
00:00
ensures that all deployments for
00:00
a specific application or
00:00
systems are consistent and predictable.
00:00
Infrastructure automation uses the infrastructure,
00:00
the information and procedures that are stored in IaC,
00:00
so that deployment is
00:00
an automated repeatable process without surprises.
00:00
Now, we can also use IaC for build automation.
00:00
Really what build automation does is it helps you with
00:00
software compilation
00:00
because when you're compiling software,
00:00
it can be time-consuming and error-prone.
00:00
Using build automation, you use
00:00
source code and make it into an executable,
00:00
compiling it using IaC.
00:00
Because what happens is when you're building something,
00:00
you're doing building,
00:00
you're compiling something,
00:00
you have rules that are stored in infrastructure,
00:00
Infrastructure as Code to tell
00:00
the compiler how to build the software,
00:00
follow these rules that we
00:00
stored in Infrastructure as Code.
00:00
That's going to automate the compilation,
00:00
which speeds up the process and
00:00
reduces errors when you're building software.
00:00
Now, there are several build automation tools
00:00
such as ANT Maven,
00:00
Rake, and Cake to name a few.
00:00
In this lesson, we covered
00:00
the concept of Infrastructure as Code.
00:00
We talked about how IaC is implemented and used
00:00
and then we talked about the difference
00:00
between configuration management,
00:00
infrastructure automation, and build automation
00:00
and how IaC is involved in all of them.
00:00
Thanks so much for being here and I look forward
00:00
to seeing you in our final lesson.
Up Next