1 00:00:00,950 --> 00:00:07,310 When you are learning certain tools, it is important that you should know why you are learning or what's 2 00:00:07,310 --> 00:00:09,980 the benefit of learning that tool. 3 00:00:10,010 --> 00:00:14,030 So I have compiled a list of all the benefits that Ansible has to offer. 4 00:00:14,030 --> 00:00:21,620 And the very first one is it is agent lists what it means that Ansible can be installed on one server. 5 00:00:21,800 --> 00:00:28,550 And let's say if you have to manage 100 other servers, you don't need to install the Ansible or its 6 00:00:28,550 --> 00:00:31,580 agent to those other hundred servers. 7 00:00:31,580 --> 00:00:39,770 All you need is an SSH access to that server and then let Ansible do the rest. 8 00:00:40,610 --> 00:00:42,590 Then Ansible is open source. 9 00:00:42,590 --> 00:00:43,130 It could. 10 00:00:43,130 --> 00:00:47,780 It has its features that can be changed or added as you move on. 11 00:00:47,780 --> 00:00:54,650 Or you could also not only rely on the company to add its feature, you could request a feature and 12 00:00:54,650 --> 00:00:59,360 have them updated by the community, then avoid human errors. 13 00:00:59,360 --> 00:01:05,270 If you have to make a changes to one, two or three servers, most likely you're not going to make a 14 00:01:05,270 --> 00:01:05,780 mistake. 15 00:01:05,780 --> 00:01:12,980 But if you repeating the same procedure on ten or 15 or 20 different servers, then most likely you 16 00:01:12,980 --> 00:01:13,850 will make a mistake. 17 00:01:13,850 --> 00:01:19,010 And especially when we are talking about a larger environment where you have to manage or log into thousands 18 00:01:19,010 --> 00:01:24,260 of different servers and do the same configuration change, then I'm very sure that you will make a 19 00:01:24,260 --> 00:01:27,110 mistake because I know I have made a mistakes in the past. 20 00:01:27,260 --> 00:01:33,740 So when you are making a change on only on one place and unanswerable server and you double checking 21 00:01:33,740 --> 00:01:38,210 it and you're pushing it out to the servers, beautiful, you don't have to make a mistake. 22 00:01:38,210 --> 00:01:40,400 There won't be a chance of human errors. 23 00:01:41,330 --> 00:01:44,720 So of course when you are automating tasks, what is it doing for you? 24 00:01:44,720 --> 00:01:49,010 It is saving you time and once your time is saved, what happens? 25 00:01:49,010 --> 00:01:51,080 It increases your productivity. 26 00:01:51,080 --> 00:01:58,310 You could focus on other projects in your organization and let Ansible do these repetitive, boring, 27 00:01:58,340 --> 00:01:59,660 tedious tasks for you. 28 00:02:00,230 --> 00:02:01,220 Easy to use. 29 00:02:01,220 --> 00:02:04,670 Yes, it's a lot easier when I learn Ansible. 30 00:02:04,670 --> 00:02:06,590 I had to learn from scratch, I tell you that. 31 00:02:06,590 --> 00:02:11,510 But it's so easy to learn, especially for those who know Linux. 32 00:02:11,510 --> 00:02:16,580 You don't have to be really good in Linux, but if you have a basic understanding of Linux, it's a 33 00:02:16,580 --> 00:02:21,110 lot easier to use its simple, human readable text file. 34 00:02:21,110 --> 00:02:26,810 What it means is the playbooks that we you going to write to automate task those those playbooks are 35 00:02:26,810 --> 00:02:32,750 so simple human readable text file you would know by looking at it that's a lot easier. 36 00:02:32,750 --> 00:02:40,130 It's not really like a code or C++ code where you look at it and you're like, Oops, what is that? 37 00:02:40,280 --> 00:02:43,970 No, it's very easy to read and understand. 38 00:02:44,390 --> 00:02:45,560 It's flexible. 39 00:02:45,560 --> 00:02:47,180 Moving on is secure. 40 00:02:47,210 --> 00:02:47,630 Yes. 41 00:02:47,630 --> 00:02:54,590 If it's age and list and you are doing everything over such as, you know, SSH stands for Secure Shell. 42 00:02:54,980 --> 00:03:00,710 So if you are connecting to all your remote hosts over Sage, it's automatically secure. 43 00:03:01,850 --> 00:03:02,180 All right. 44 00:03:02,180 --> 00:03:05,000 Moving down the line are moving down the list. 45 00:03:05,000 --> 00:03:12,410 It provides pre-written modules so you don't have to have your own or create your own module to do a 46 00:03:12,410 --> 00:03:13,180 certain task. 47 00:03:13,190 --> 00:03:17,960 Let's say if you have to do a jump install, you have a module for it. 48 00:03:17,960 --> 00:03:23,150 Let's say if you wanted to start a service, you have a module for it. 49 00:03:23,570 --> 00:03:29,780 Most of the tasks that we do in the Linux environment or even Windows environment, we have a pre-written 50 00:03:29,780 --> 00:03:30,770 modules for them. 51 00:03:31,520 --> 00:03:34,130 It's very easy to learn, of course. 52 00:03:34,250 --> 00:03:42,710 Now remember, as long as you have a good instructor, I will make sure that you learn everything about 53 00:03:42,710 --> 00:03:46,610 Ansible in this entire course. 54 00:03:47,210 --> 00:03:47,660 All right. 55 00:03:47,660 --> 00:03:49,700 Great product for orchestration. 56 00:03:49,700 --> 00:03:50,000 Yes. 57 00:03:50,000 --> 00:03:56,300 If you have an environment where you have to schedule tasks or put them in order, it's a great product 58 00:03:56,300 --> 00:03:56,900 for that. 59 00:03:57,080 --> 00:04:03,470 Ansible can be used not only for systems but also for network storage and cloud. 60 00:04:03,500 --> 00:04:08,210 All those gears that you have that you if you wanted to configure them, you could use Ansible for it. 61 00:04:08,420 --> 00:04:14,330 It provides approximately 1300 miles out of the box and about 4000 module on galaxy. 62 00:04:14,330 --> 00:04:19,850 As you're going to go through the modules right now, you probably don't know what module is, but module 63 00:04:19,850 --> 00:04:21,320 just give you a quick update. 64 00:04:21,320 --> 00:04:25,430 Module is something that provides you to automate a certain task. 65 00:04:25,850 --> 00:04:26,840 We'll cover that later. 66 00:04:26,840 --> 00:04:34,160 Right out of the box has had 13 of those sorry 1300 of those are huge online ANSIBLE resources. 67 00:04:34,160 --> 00:04:38,030 That's for documentation, that's for module, that's for systems information. 68 00:04:38,120 --> 00:04:44,180 You could go to Ansible Docs, dot, ansible, galaxy, dot, ansible, GitHub and many, many other 69 00:04:44,180 --> 00:04:49,940 online resources where you find great, great documentations and resources on Ansible. 70 00:04:50,840 --> 00:04:59,600 And the last, but not the least, it's a big plus for job seekers who are looking for jobs and for 71 00:04:59,600 --> 00:04:59,840 those. 72 00:04:59,900 --> 00:05:03,850 You are already in it and they wanted to level up their career. 73 00:05:03,860 --> 00:05:10,040 If you wanted to be in a DevOps, which is the development operations and if you wanted to enhance your 74 00:05:10,040 --> 00:05:10,670 skills. 75 00:05:11,000 --> 00:05:13,430 Ansible is the tool for you. 76 00:05:13,490 --> 00:05:18,640 If you know Linux, if you are in the system administration Ansible is the answer for you. 77 00:05:18,650 --> 00:05:23,210 Because I know the system administrator does a lot of automation. 78 00:05:23,420 --> 00:05:31,400 You write probably write shell scripts to automate your things or you write shell scripting, sorry, 79 00:05:31,400 --> 00:05:34,180 PowerShell in Windows with Ansible. 80 00:05:34,190 --> 00:05:36,680 You don't have to do that in every server. 81 00:05:36,710 --> 00:05:44,000 Here is the answer to your prayers where you do or manage or automate all your IT tasks. 82 00:05:45,970 --> 00:05:50,830 In this video, we will cover the terminologies used in Ansible. 83 00:05:50,860 --> 00:05:58,420 The very first one is the control node or Ansible server, the server which runs Ansible application. 84 00:05:58,420 --> 00:06:07,810 This is the main Linux server where Ansible engine or Ansible application or tool is installed and that's 85 00:06:07,810 --> 00:06:14,800 where you could create or manage all your playbooks and you could send it or communicate from this server 86 00:06:14,800 --> 00:06:18,760 to all the remaining or remote clients. 87 00:06:19,180 --> 00:06:21,640 This server is called control node. 88 00:06:22,300 --> 00:06:28,900 Then Modules Module is a command meant to be executed on the client side. 89 00:06:29,230 --> 00:06:35,770 Most of the IT task modules are already created and can be found on Ansible website. 90 00:06:36,700 --> 00:06:46,510 There are almost 1300 modules out of the box that are available and about 4000 plus modules on Ansible 91 00:06:46,510 --> 00:06:47,860 Galaxy websites. 92 00:06:49,300 --> 00:06:54,400 You could go to Docs and Apple.com and search for modules of your choice. 93 00:06:54,400 --> 00:06:59,580 If you want to automate a certain task, you can also go to Galaxy and Apple.com. 94 00:07:00,730 --> 00:07:03,400 Now let's look at the example of modules. 95 00:07:03,400 --> 00:07:10,570 Of course we will cover modules in great detail later on, install HTTP for example. 96 00:07:10,570 --> 00:07:15,880 If that's something you want to do when you want to install HTTP, what do you what command you do? 97 00:07:16,000 --> 00:07:21,790 You use either Yum or in newer versions of Linux, you could use DNF. 98 00:07:21,790 --> 00:07:25,060 So you do have a module for that. 99 00:07:25,060 --> 00:07:29,890 You don't have to actually use the Yum command or DNF command itself. 100 00:07:29,890 --> 00:07:34,510 You rely on the module same way you enable the service. 101 00:07:34,510 --> 00:07:38,620 There is a service module for it and you can start that service. 102 00:07:38,620 --> 00:07:41,830 There's a module, a service module for that as well. 103 00:07:42,580 --> 00:07:46,210 These are pretty much two modules that you see. 104 00:07:46,210 --> 00:07:53,080 One is to install HTTP and second module that is used is to enable and start the service. 105 00:07:53,260 --> 00:07:57,610 And we combine all of these three, they become a task. 106 00:07:57,610 --> 00:08:01,720 That task is within a YAML file. 107 00:08:02,440 --> 00:08:04,420 Now let's talk about a task. 108 00:08:04,450 --> 00:08:10,450 A task is a section that consists of a single procedure to be completed. 109 00:08:10,840 --> 00:08:13,630 A task can have multiple modules. 110 00:08:13,630 --> 00:08:20,680 And as we have seen in the above example, there are installing a HTTP package. 111 00:08:20,680 --> 00:08:29,380 Once it's installed, we enable it so it could start at boot time and then we wanted to start that service. 112 00:08:29,380 --> 00:08:33,910 All of that together is comprised of a task. 113 00:08:34,090 --> 00:08:40,300 Then you could have more or additional tasks doing different modules. 114 00:08:40,900 --> 00:08:43,840 All right, moving on then we have a playbook. 115 00:08:44,780 --> 00:08:50,540 Automation file with step by step execution of multiple tasks. 116 00:08:50,540 --> 00:08:51,620 So when you. 117 00:08:52,620 --> 00:09:01,050 Combine all those tasks and each task would have multiple modules that is written in a certain file. 118 00:09:01,320 --> 00:09:04,320 That certain file is called a playbook. 119 00:09:04,830 --> 00:09:15,240 YAML YAML stands for a playbook written in YAML language, and YAML itself stands for yet another markup 120 00:09:15,240 --> 00:09:15,990 language. 121 00:09:16,500 --> 00:09:28,140 So the format that is written within Playbook, that format is called YAML, and once that format has 122 00:09:28,140 --> 00:09:31,230 all the module and task, it is defined. 123 00:09:31,260 --> 00:09:37,590 The final item or the final product is called Playbook Inventory. 124 00:09:37,620 --> 00:09:43,040 Now you have a node, a control node or ANSIBLE server. 125 00:09:43,050 --> 00:09:46,590 You have to go and reach out to the remote servers. 126 00:09:46,590 --> 00:09:47,070 Right. 127 00:09:47,070 --> 00:09:55,830 So those remote servers has to be listed somewhere that is listed in a file called host. 128 00:09:55,830 --> 00:10:02,760 And that host file is our inventory file file that has information about remote clients where tasks 129 00:10:02,760 --> 00:10:03,900 are executed. 130 00:10:04,800 --> 00:10:12,990 Moving on to tag, there is another terms that used called tag, a reference or alias to a specific 131 00:10:12,990 --> 00:10:13,470 task. 132 00:10:13,470 --> 00:10:19,320 So this way you don't have to repeat that module or that task again and again. 133 00:10:19,320 --> 00:10:21,060 You could reference it to a tag. 134 00:10:21,090 --> 00:10:23,070 Of course, we'll cover that later on. 135 00:10:23,100 --> 00:10:27,690 Variable variable are like containers that holds. 136 00:10:28,410 --> 00:10:32,280 Or defined value which can be used repetitively. 137 00:10:33,110 --> 00:10:41,930 Then a roll splitting of playbooks into smaller groups roles lets you automatically load related wars 138 00:10:41,930 --> 00:10:48,350 files, task handlers and other ansible artifacts based on unknown file structure. 139 00:10:49,190 --> 00:10:57,140 After you group your content in roles, you can easily reuse them and share them with other users. 140 00:10:58,240 --> 00:11:05,740 So if you have, for example, you want to install the Apache server, you want to start the service, 141 00:11:05,740 --> 00:11:14,000 you could put them into a smaller playbook, and then you could put that playbook into a role. 142 00:11:14,020 --> 00:11:20,260 So the main playbook doesn't have to be so cluttered. 143 00:11:20,260 --> 00:11:27,910 I would say with all those long lists of modules, you could call upon those smaller playbooks, and 144 00:11:27,910 --> 00:11:31,450 that's what these roles are for anyway. 145 00:11:31,450 --> 00:11:34,810 That's the list of terminologies that I wanted to cover. 146 00:11:34,810 --> 00:11:41,680 There are few that I probably not have covered, but anyway, these are the most important ones that 147 00:11:41,680 --> 00:11:44,350 you should know as you're going to learn. 148 00:11:44,350 --> 00:11:45,310 Ansible.