Now notice once again here in the exam, they talk about differences between puppet chef and Ansible.
Now, I have discussed this in the exam overview.
I'll explain it again.
Big difference between Ansible Puppet and chef is Ansible is agent less.
You don't have to run an agent on the router.
So if you go to Cisco router, if you want to use Puppet or Chef, you have to run an agent, which
is basically a piece of software that can talk to one of their servers.
So that's a huge disadvantage.
If you've got an old 3750 switch in your lab at home or you want to use DNS three as an example, all
you've got is SSH or Telnet, but let's just assume SSH.
You don't want to run an agent or have to install an agent and have to run Linux commands on the router
switch just to be able to talk to it, to configure it.
That's a disadvantage of both Puppet and Chef.
If you've got a server or you come from a server environment, it's very easy to install a piece of
software on the server.
So if you've got a Linux server or you've got a Windows server, you can just install a piece of software
on that server and that's fine.
So install an agent and then manage the server using this connection from the server, from the management
station to the agent.
That's easy to do, but you can't easily do that with Cisco iOS devices in a in classic iOS, the monolithic
old iOS.
You couldn't just install applications on a router or switch.
Now, Cisco have opened that up quite a lot now with ICS.
So with the newest versions of iOS, you can drop down into Linux Shell and I'll show you that in this
course it's not required once again for the CCNA exam, but you can actually drop down into Linux and
that's how you install an agent for Puppet.
As an example, you have to go into a Linux shell, drop down into the Linux shell on your router or
switch to install the agent.
So basically, you're running Linux on your on your router.
Now you can't do that very easily on old iOS systems.
So that's the advantage of Ansible.
You just using SSH basically to configure the device.
Now I have a love hate relationship with Ansible.
I don't like Ansible because every time they update Ansible it breaks all my scripts.
I created an Ansible course and as soon as I released that, Ansible updated and it broke all my Ansible
scripts and the students weren't very happy.
So I personally prefer Python y because Python is easier to control.
There was a big change from Python 2.7 to Python three.
Python three is the de facto.
Now you must use Python three, but I can control what happens.
Big idea in programming is you as the developer control what goes on.
There's no external application that breaks everything, and that's what I hate about Ansible.
So personally, I would study Python.
Some guys would say you learn Ansible.
Ansible is kind of like a halfway step to Python.
So traditional network engineer, go to Ansible then go to Python.
Now, a few years ago, a lot of guys would say Python is is bad because you can't scale very easily.
Ansible has a lot of scalability stuff built into it and that was true.
As an example, if you wanted to configure a 100 switches using Python, it was a lot more difficult
because Python would, unless you did some clever coding, open one session, then go to the next device,
then to the next device.
So everything was done sequentially.
It was very, very slow.
So you'd have to write code to do everything in parallel to speed up the scripts.
Basically that was an advantage of Ansible, that kind of stuff.
Cleverness was built into Ansible from the beginning, but that's no longer true.
Today we've got frameworks such as Narnia, we've got PY ads also called Genie from Cisco.
Cisco have made it a lot easier with PY ads, so py ads and genie really make things a lot easier if
you configuring devices.
It also gives you scalability, it hides some of the complexity, makes your Python scripts a lot simpler,
and so does Noni.
So I would say that the advantage of using Ansible has diminished compared to to Python.
A lot of new people to the programming world would struggle with Python.
So if you're a pure network person, you might struggle to get into Python.
But let me tell you, rather bite the bullet, as they say, do it as soon as you can get over the hurdle
of learning Python because once you do, it opens up a whole new world to you.
Rather than just being a user of an application that someone else has written, you can control what
goes on.
So my recommendation is learn Python once again as quickly as you can for the real world.
But for the CCNA exam you don't need to learn Python, so you don't have to debug scripts that is covered
in the dev net associate.
Okay, so I've been talking quite a bit now, but I wanted to give you the sort of summary of this section.
Some of the stuff that I haven't spoken about is overlays and underplays.
So I did talk about this in my exam overview, but I'll explain it once again.
Here, let me give me feedback.
I mean, do you like me just talking to you?
Hopefully it's as if you sitting next to me and we just having a conversation.