Live data from Hacker News

Automate Your Network

github.com

1–10 of 35 posts

Re: Automate Your Network

#2
The author states they have evolved from Ansible to pyATS[1], but pyATS is a Cisco project. With Cisco's poor code project and open source track record, I'm not sure how this is much of an improvement, and IMHO, it's arguably worse.

For possible alternatives, check out NAPALM[2] and Nornir[3].

It's also worth checking out Python for Network Engineers[4].

1. https://developer.cisco.com/docs/pyats/

2. https://napalm.readthedocs.io/en/latest/

3. https://nornir.readthedocs.io/en/latest/

4. https://pyneng.readthedocs.io/en/latest/index.html

Re: Automate Your Network

#3
I glanced through the guide and it's Windows and Cisco (specifically IOS) heavy: mentions of the old Cisco architecture via Core/Access/Distribution, where larger DC networks have converged onto spine/spline setups, CDP/Cisco Discovery protocol whereas the open-source LLDP is more generic, even the nomenclature of 802.1q VLAN tags: access versus trunk. But I guess if you are starting to automate a legacy office network, it might be useful.

More recent non-IOS network OSes that lend themselves to automation, especially in the datacenter, the likes of Cumulus or SONiC are pure linux with some asic-vendor-specific bits and bobs, so I'm unsure of the applicability of this guide to larger, more modern networks. Tools like ansible could be a good fit here, but since they are 'just' linux, might as well use a dedicated config management tool like chef or puppet.

Otherwise I think it's well written for someone in a smaller shop wanting to get their feet wet with ansible and other tools but still stuck on IOS.

Re: Automate Your Network

#4

I glanced through the guide and it's Windows and Cisco (specifically IOS) heavy: mentions of the old Cisco architecture via Core/Access/Distribution, where larger DC networks have converged onto spine/spline setups, CDP/Cisco Discovery protocol whereas the open-source LLDP is more generic, even the nomenclature of 802.1q VLAN tags: access versus trunk. But I guess if you are starting to automate a legacy office netwo…

> old Cisco architecture via Core/Access/Distribution, where larger DC networks have converged onto spine/spline setups

Please correct me if I'm wrong, but I see the "old" core/access/distribution layers still relevant. The datacenter spine/spline setup applies to networking between server racks in the data center.

> 802.1q VLAN tags: access versus trunk

Again, are you saying that these are outdated? I'm not a practicing network engineer, but I know several network engineers and they've told me that understanding 802.1q VLAN tags to segment network traffic has been helpful.

Re: Automate Your Network

#5
post #4

I glanced through the guide and it's Windows and Cisco (specifically IOS) heavy: mentions of the old Cisco architecture via Core/Access/Distribution, where larger DC networks have converged onto spine/spline setups, CDP/Cisco Discovery protocol whereas the open-source LLDP is more generic, even the nomenclature of 802.1q VLAN tags: access versus trunk. But I guess if you are starting to automate a legacy office netwo…

> old Cisco architecture via Core/Access/Distribution, where larger DC networks have converged onto spine/spline setups Please correct me if I'm wrong, but I see the "old" core/access/distribution layers still relevant. The datacenter spine/spline setup applies to networking between server racks in the data center. > 802.1q VLAN tags: access versus trunk Again, are you saying that these are outdated? I'm not a practi…

> 802.1q VLAN tags: access versus trunk

I think the parent was saying that these are Cisco specific terms; more generic terms would be "untagged" + "tagged".

Re: Automate Your Network

#6
I do network automation for a profession. I build tools (technically compilers) that take a proprietary object model designed for our private cloud and translate that into Ansible (v1) or Terraform (v2) code. At our company, I actually call using these tools in isolation doing it "manually". This is because the largest benefit of automation, I believe, is the abstraction gained from the new object model and being to to generate and store the inputs for Ansible/Terraform in a database. If you have to track and specify all the inputs into Ansible/Terraform and write the playbooks/HCL manually it is my experience you don't actually save all that much work. However, when you have an object model specifically designed for your use case, you can deliver a new client network in literally minutes (essentially nothing more than the cloud model, exactly what AWS/Azure, etc does for their networking). The downside is most enterprises don't have people like me to write the code to do this, and writing it for a single deployment would likely not see the gains that we see as a managed service provider.

Re: Automate Your Network

#7
post #5
post #4

Earlier quoted context omitted.

> old Cisco architecture via Core/Access/Distribution, where larger DC networks have converged onto spine/spline setups Please correct me if I'm wrong, but I see the "old" core/access/distribution layers still relevant. The datacenter spine/spline setup applies to networking between server racks in the data center. > 802.1q VLAN tags: access versus trunk Again, are you saying that these are outdated? I'm not a practi…

> 802.1q VLAN tags: access versus trunk I think the parent was saying that these are Cisco specific terms; more generic terms would be "untagged" + "tagged".

Trunk and access ports are like kleenex and bandaids. Yes, technically cisco terminology, but used everywhere.

Re: Automate Your Network

#8
post #6

I do network automation for a profession. I build tools (technically compilers) that take a proprietary object model designed for our private cloud and translate that into Ansible (v1) or Terraform (v2) code. At our company, I actually call using these tools in isolation doing it "manually". This is because the largest benefit of automation, I believe, is the abstraction gained from the new object model and being to…

This model is probably more common than you think, I don't see how anyone would be doing this any other way in a scalable fashion.

Re: Automate Your Network

#9
post #2

The author states they have evolved from Ansible to pyATS[1], but pyATS is a Cisco project. With Cisco's poor code project and open source track record, I'm not sure how this is much of an improvement, and IMHO, it's arguably worse. For possible alternatives, check out NAPALM[2] and Nornir[3]. It's also worth checking out Python for Network Engineers[4]. 1. https://developer.cisco.com/docs/pyats/ 2. https://napalm.re…

Had the same reaction as soon as I found out pyATS is a cisco-specific thing. I run very simple networks for events on shoestring hardware/budgets and built a simple wrapper around my own object model using python, jinja and napalm to deploy cisco switches via SSH. Has terraform-like semantics (plan/apply) and lets me be productive and eliminate config drift. Napalm does all of the heavy lifting, it is fantastic. I will probably be integrating it with netbox soon.

Re: Automate Your Network

#10
post #2

The author states they have evolved from Ansible to pyATS[1], but pyATS is a Cisco project. With Cisco's poor code project and open source track record, I'm not sure how this is much of an improvement, and IMHO, it's arguably worse. For possible alternatives, check out NAPALM[2] and Nornir[3]. It's also worth checking out Python for Network Engineers[4]. 1. https://developer.cisco.com/docs/pyats/ 2. https://napalm.re…

Looks like he works for Cisco at the moment. Maybe that has something to do with it.
Post reply on HN