1 00:00:04,360 --> 00:00:09,130 Now notice once again here in the exam, they talk about differences between puppet chef and Ansible. 2 00:00:09,550 --> 00:00:12,220 Now, I have discussed this in the exam overview. 3 00:00:12,790 --> 00:00:13,900 I'll explain it again. 4 00:00:14,530 --> 00:00:19,340 Big difference between Ansible Puppet and chef is Ansible is agent less. 5 00:00:19,360 --> 00:00:22,390 You don't have to run an agent on the router. 6 00:00:22,420 --> 00:00:29,380 So if you go to Cisco router, if you want to use Puppet or Chef, you have to run an agent, which 7 00:00:29,380 --> 00:00:34,070 is basically a piece of software that can talk to one of their servers. 8 00:00:34,090 --> 00:00:36,190 So that's a huge disadvantage. 9 00:00:36,190 --> 00:00:43,000 If you've got an old 3750 switch in your lab at home or you want to use DNS three as an example, all 10 00:00:43,000 --> 00:00:46,960 you've got is SSH or Telnet, but let's just assume SSH. 11 00:00:47,320 --> 00:00:53,440 You don't want to run an agent or have to install an agent and have to run Linux commands on the router 12 00:00:53,440 --> 00:00:56,440 switch just to be able to talk to it, to configure it. 13 00:00:56,470 --> 00:00:59,230 That's a disadvantage of both Puppet and Chef. 14 00:00:59,740 --> 00:01:03,910 If you've got a server or you come from a server environment, it's very easy to install a piece of 15 00:01:03,910 --> 00:01:05,150 software on the server. 16 00:01:05,170 --> 00:01:09,400 So if you've got a Linux server or you've got a Windows server, you can just install a piece of software 17 00:01:09,430 --> 00:01:12,580 on that server and that's fine. 18 00:01:12,580 --> 00:01:20,140 So install an agent and then manage the server using this connection from the server, from the management 19 00:01:20,140 --> 00:01:21,280 station to the agent. 20 00:01:21,310 --> 00:01:28,390 That's easy to do, but you can't easily do that with Cisco iOS devices in a in classic iOS, the monolithic 21 00:01:28,390 --> 00:01:29,330 old iOS. 22 00:01:29,350 --> 00:01:33,470 You couldn't just install applications on a router or switch. 23 00:01:33,490 --> 00:01:36,670 Now, Cisco have opened that up quite a lot now with ICS. 24 00:01:36,940 --> 00:01:42,850 So with the newest versions of iOS, you can drop down into Linux Shell and I'll show you that in this 25 00:01:42,850 --> 00:01:48,160 course it's not required once again for the CCNA exam, but you can actually drop down into Linux and 26 00:01:48,160 --> 00:01:50,170 that's how you install an agent for Puppet. 27 00:01:50,170 --> 00:01:55,450 As an example, you have to go into a Linux shell, drop down into the Linux shell on your router or 28 00:01:55,450 --> 00:01:56,950 switch to install the agent. 29 00:01:57,190 --> 00:02:00,070 So basically, you're running Linux on your on your router. 30 00:02:01,020 --> 00:02:05,550 Now you can't do that very easily on old iOS systems. 31 00:02:05,550 --> 00:02:07,590 So that's the advantage of Ansible. 32 00:02:07,620 --> 00:02:10,889 You just using SSH basically to configure the device. 33 00:02:10,919 --> 00:02:14,020 Now I have a love hate relationship with Ansible. 34 00:02:14,040 --> 00:02:19,080 I don't like Ansible because every time they update Ansible it breaks all my scripts. 35 00:02:19,110 --> 00:02:24,990 I created an Ansible course and as soon as I released that, Ansible updated and it broke all my Ansible 36 00:02:24,990 --> 00:02:27,600 scripts and the students weren't very happy. 37 00:02:27,690 --> 00:02:33,540 So I personally prefer Python y because Python is easier to control. 38 00:02:33,570 --> 00:02:37,470 There was a big change from Python 2.7 to Python three. 39 00:02:37,530 --> 00:02:39,000 Python three is the de facto. 40 00:02:39,000 --> 00:02:43,410 Now you must use Python three, but I can control what happens. 41 00:02:43,440 --> 00:02:48,210 Big idea in programming is you as the developer control what goes on. 42 00:02:48,450 --> 00:02:54,030 There's no external application that breaks everything, and that's what I hate about Ansible. 43 00:02:54,450 --> 00:02:58,260 So personally, I would study Python. 44 00:02:59,240 --> 00:03:00,920 Some guys would say you learn Ansible. 45 00:03:00,920 --> 00:03:04,580 Ansible is kind of like a halfway step to Python. 46 00:03:04,580 --> 00:03:08,800 So traditional network engineer, go to Ansible then go to Python. 47 00:03:08,810 --> 00:03:15,650 Now, a few years ago, a lot of guys would say Python is is bad because you can't scale very easily. 48 00:03:15,650 --> 00:03:19,480 Ansible has a lot of scalability stuff built into it and that was true. 49 00:03:19,490 --> 00:03:26,000 As an example, if you wanted to configure a 100 switches using Python, it was a lot more difficult 50 00:03:26,000 --> 00:03:31,490 because Python would, unless you did some clever coding, open one session, then go to the next device, 51 00:03:31,490 --> 00:03:32,990 then to the next device. 52 00:03:33,290 --> 00:03:34,640 So everything was done sequentially. 53 00:03:34,640 --> 00:03:35,750 It was very, very slow. 54 00:03:35,780 --> 00:03:39,890 So you'd have to write code to do everything in parallel to speed up the scripts. 55 00:03:39,890 --> 00:03:43,460 Basically that was an advantage of Ansible, that kind of stuff. 56 00:03:43,460 --> 00:03:48,920 Cleverness was built into Ansible from the beginning, but that's no longer true. 57 00:03:48,980 --> 00:03:55,610 Today we've got frameworks such as Narnia, we've got PY ads also called Genie from Cisco. 58 00:03:55,820 --> 00:04:05,840 Cisco have made it a lot easier with PY ads, so py ads and genie really make things a lot easier if 59 00:04:05,840 --> 00:04:07,070 you configuring devices. 60 00:04:07,070 --> 00:04:12,470 It also gives you scalability, it hides some of the complexity, makes your Python scripts a lot simpler, 61 00:04:12,470 --> 00:04:13,820 and so does Noni. 62 00:04:13,850 --> 00:04:20,630 So I would say that the advantage of using Ansible has diminished compared to to Python. 63 00:04:20,990 --> 00:04:25,640 A lot of new people to the programming world would struggle with Python. 64 00:04:25,640 --> 00:04:29,390 So if you're a pure network person, you might struggle to get into Python. 65 00:04:29,390 --> 00:04:36,740 But let me tell you, rather bite the bullet, as they say, do it as soon as you can get over the hurdle 66 00:04:36,740 --> 00:04:40,970 of learning Python because once you do, it opens up a whole new world to you. 67 00:04:40,970 --> 00:04:45,530 Rather than just being a user of an application that someone else has written, you can control what 68 00:04:45,530 --> 00:04:46,100 goes on. 69 00:04:46,100 --> 00:04:51,650 So my recommendation is learn Python once again as quickly as you can for the real world. 70 00:04:51,650 --> 00:04:56,690 But for the CCNA exam you don't need to learn Python, so you don't have to debug scripts that is covered 71 00:04:56,690 --> 00:04:58,370 in the dev net associate. 72 00:04:58,670 --> 00:05:05,930 Okay, so I've been talking quite a bit now, but I wanted to give you the sort of summary of this section. 73 00:05:07,100 --> 00:05:10,430 Some of the stuff that I haven't spoken about is overlays and underplays. 74 00:05:10,430 --> 00:05:16,520 So I did talk about this in my exam overview, but I'll explain it once again. 75 00:05:16,520 --> 00:05:18,080 Here, let me give me feedback. 76 00:05:18,080 --> 00:05:20,540 I mean, do you like me just talking to you? 77 00:05:21,170 --> 00:05:24,830 Hopefully it's as if you sitting next to me and we just having a conversation.