When you are learning certain tools, it is important that you should know why you are learning or what's
the benefit of learning that tool.
So I have compiled a list of all the benefits that Ansible has to offer.
And the very first one is it is agent lists what it means that Ansible can be installed on one server.
And let's say if you have to manage 100 other servers, you don't need to install the Ansible or its
agent to those other hundred servers.
All you need is an SSH access to that server and then let Ansible do the rest.
Then Ansible is open source.
It could.
It has its features that can be changed or added as you move on.
Or you could also not only rely on the company to add its feature, you could request a feature and
have them updated by the community, then avoid human errors.
If you have to make a changes to one, two or three servers, most likely you're not going to make a
mistake.
But if you repeating the same procedure on ten or 15 or 20 different servers, then most likely you
will make a mistake.
And especially when we are talking about a larger environment where you have to manage or log into thousands
of different servers and do the same configuration change, then I'm very sure that you will make a
mistake because I know I have made a mistakes in the past.
So when you are making a change on only on one place and unanswerable server and you double checking
it and you're pushing it out to the servers, beautiful, you don't have to make a mistake.
There won't be a chance of human errors.
So of course when you are automating tasks, what is it doing for you?
It is saving you time and once your time is saved, what happens?
It increases your productivity.
You could focus on other projects in your organization and let Ansible do these repetitive, boring,
tedious tasks for you.
Easy to use.
Yes, it's a lot easier when I learn Ansible.
I had to learn from scratch, I tell you that.
But it's so easy to learn, especially for those who know Linux.
You don't have to be really good in Linux, but if you have a basic understanding of Linux, it's a
lot easier to use its simple, human readable text file.
What it means is the playbooks that we you going to write to automate task those those playbooks are
so simple human readable text file you would know by looking at it that's a lot easier.
It's not really like a code or C++ code where you look at it and you're like, Oops, what is that?
No, it's very easy to read and understand.
It's flexible.
Moving on is secure.
Yes.
If it's age and list and you are doing everything over such as, you know, SSH stands for Secure Shell.
So if you are connecting to all your remote hosts over Sage, it's automatically secure.
All right.
Moving down the line are moving down the list.
It provides pre-written modules so you don't have to have your own or create your own module to do a
certain task.
Let's say if you have to do a jump install, you have a module for it.
Let's say if you wanted to start a service, you have a module for it.
Most of the tasks that we do in the Linux environment or even Windows environment, we have a pre-written
modules for them.
It's very easy to learn, of course.
Now remember, as long as you have a good instructor, I will make sure that you learn everything about
Ansible in this entire course.
All right.
Great product for orchestration.
Yes.
If you have an environment where you have to schedule tasks or put them in order, it's a great product
for that.
Ansible can be used not only for systems but also for network storage and cloud.
All those gears that you have that you if you wanted to configure them, you could use Ansible for it.
It provides approximately 1300 miles out of the box and about 4000 module on galaxy.
As you're going to go through the modules right now, you probably don't know what module is, but module
just give you a quick update.
Module is something that provides you to automate a certain task.
We'll cover that later.
Right out of the box has had 13 of those sorry 1300 of those are huge online ANSIBLE resources.
That's for documentation, that's for module, that's for systems information.
You could go to Ansible Docs, dot, ansible, galaxy, dot, ansible, GitHub and many, many other
online resources where you find great, great documentations and resources on Ansible.
And the last, but not the least, it's a big plus for job seekers who are looking for jobs and for
those.
You are already in it and they wanted to level up their career.
If you wanted to be in a DevOps, which is the development operations and if you wanted to enhance your
skills.
Ansible is the tool for you.
If you know Linux, if you are in the system administration Ansible is the answer for you.
Because I know the system administrator does a lot of automation.
You write probably write shell scripts to automate your things or you write shell scripting, sorry,
PowerShell in Windows with Ansible.
You don't have to do that in every server.
Here is the answer to your prayers where you do or manage or automate all your IT tasks.
In this video, we will cover the terminologies used in Ansible.
The very first one is the control node or Ansible server, the server which runs Ansible application.
This is the main Linux server where Ansible engine or Ansible application or tool is installed and that's
where you could create or manage all your playbooks and you could send it or communicate from this server
to all the remaining or remote clients.
This server is called control node.
Then Modules Module is a command meant to be executed on the client side.
Most of the IT task modules are already created and can be found on Ansible website.
There are almost 1300 modules out of the box that are available and about 4000 plus modules on Ansible
Galaxy websites.
You could go to Docs and Apple.com and search for modules of your choice.
If you want to automate a certain task, you can also go to Galaxy and Apple.com.
Now let's look at the example of modules.
Of course we will cover modules in great detail later on, install HTTP for example.
If that's something you want to do when you want to install HTTP, what do you what command you do?
You use either Yum or in newer versions of Linux, you could use DNF.
So you do have a module for that.
You don't have to actually use the Yum command or DNF command itself.
You rely on the module same way you enable the service.
There is a service module for it and you can start that service.
There's a module, a service module for that as well.
These are pretty much two modules that you see.
One is to install HTTP and second module that is used is to enable and start the service.
And we combine all of these three, they become a task.
That task is within a YAML file.
Now let's talk about a task.
A task is a section that consists of a single procedure to be completed.
A task can have multiple modules.
And as we have seen in the above example, there are installing a HTTP package.
Once it's installed, we enable it so it could start at boot time and then we wanted to start that service.
All of that together is comprised of a task.
Then you could have more or additional tasks doing different modules.
All right, moving on then we have a playbook.
Automation file with step by step execution of multiple tasks.
So when you.
Combine all those tasks and each task would have multiple modules that is written in a certain file.
That certain file is called a playbook.
YAML YAML stands for a playbook written in YAML language, and YAML itself stands for yet another markup
language.
So the format that is written within Playbook, that format is called YAML, and once that format has
all the module and task, it is defined.
The final item or the final product is called Playbook Inventory.
Now you have a node, a control node or ANSIBLE server.
You have to go and reach out to the remote servers.
Right.
So those remote servers has to be listed somewhere that is listed in a file called host.
And that host file is our inventory file file that has information about remote clients where tasks
are executed.
Moving on to tag, there is another terms that used called tag, a reference or alias to a specific
task.
So this way you don't have to repeat that module or that task again and again.
You could reference it to a tag.
Of course, we'll cover that later on.
Variable variable are like containers that holds.
Or defined value which can be used repetitively.
Then a roll splitting of playbooks into smaller groups roles lets you automatically load related wars
files, task handlers and other ansible artifacts based on unknown file structure.
After you group your content in roles, you can easily reuse them and share them with other users.
So if you have, for example, you want to install the Apache server, you want to start the service,
you could put them into a smaller playbook, and then you could put that playbook into a role.
So the main playbook doesn't have to be so cluttered.
I would say with all those long lists of modules, you could call upon those smaller playbooks, and
that's what these roles are for anyway.
That's the list of terminologies that I wanted to cover.
There are few that I probably not have covered, but anyway, these are the most important ones that
you should know as you're going to learn.
Ansible.