hurricane1091 wrote: » Hello all, Follow up to a previous thread of mine. I was recently offered a job being a network engineer on a small devops team. It would involve me eventually understanding Puppet. My current understanding is that Puppet uses Ruby (on rails). Not really a Linux guy (Linux +) and no programming ability to speak of, what is my recommended study path if I take this job? This is similiar to another thread on this forum, but I need a response to my specific situation. I am guessing I should start with learning Ruby and then Puppet. I am guessing Python may eventually work into the situation as well. As for Linux, I understand this is a giant Linux shop. I understand I'll need to work my way around a Linux box, but is it going to be necessary to start at Linux before the other things? Very INTERESTING job here, but very scary. Overwhelming really, but this opportunity may never present itself again.
Verities wrote: » Well..you have Linux + so you should know enough about making your way around the system. I'd imagine the extent of your Linux work would be using Puppet from a Linux based host or a GUI and potentially reading log files. They'll most likely have you pushing configurations out to network devices and managing everything from the Puppet master, so I wouldn't sweat them having you provisioning Linux or working on config management for Linux systems. So, it would be in your best interest to hammer Puppet into your brain and pick up what you need along the way. Puppet is written in Ruby (ruby on rails is a web development framework) but it has its own language format called DSL, so you don't need to become a Ruby developer to be a Puppet admin. You should learn how to install Puppet, how it works (push/pull), how to get certificates for the master and nodes, and how to read and write a manifest. Linux Academy has two puppet courses or you could just follow the documentation on the Puppet website using your own lab. Once you're familiar with Puppet, move on to learning Python; they probably want you to be proficient in scripting, not programming, with Python which anyone can do given enough focus. There are a lot of free resources out there to learn that as well: https://automatetheboringstuff.com/ and there's an excellent intro course on Safari Books Online by Jessica McKellar. In a position like this you have to seriously put your nose to the grindstone if you don't know the technologies. The reason DevOps roles pay extremely well is because a lot is expected of you.
sillymcnasty wrote: » Can I ask your salary? This is almost what I want to do and just about the same qualifications. I have CCNA and 3 AWS certs and am going to learn linux next up. When I learn linux I will start applying.
hurricane1091 wrote: » It pays $85k/year. It's probably less than someone should get if they were truly qualified for the position. I really applied for Network Engineer, and they went ahead and changed the title and description on me and this is kind of out of left field.
networker050184 wrote: » I wouldn't be too worried about learning Ruby to use Puppet. At least not in the beginning. I'd start just learning Puppet basics like roles, files structure, etc. like verities suggested. You're not likely to touch anything Ruby related unless you start writing custom modules. On the network side I do most of my automation with Ansible. It's agentless which is nice if you have legacy devices hanging around that don't run a linux shell. Same with Puppet, you don't need to know how to program. Ansible is built on Python but I haven't had to touch anything Python wise to use it. Salt is another one gaining some popularity in the network world.
ccie14023 wrote: » I did a demo of Puppet on Nexus here:https://www.youtube.com/watch?v=d4mYVjgyO_0 The agent runs on a container on the device. Expect to see something like this on IOS-XE some day, but can't promise it. See also the Puppet docs here:https://docs.puppet.com/pe/latest/install_nxos.html Check out Cisco DevNet, developer.cisco.com as well. Ruby is not necessary, as others have said. You may also check out the Puppet learning VM. It was great and helped me with the demo.