Ideas for Network Automation Coverage

213 views
Skip to first unread message

Matt Oswalt

unread,
Mar 10, 2015, 7:17:22 PM3/10/15
to networ...@googlegroups.com
Just wanted to curate a list of good topics within network automation that - from a technical education standpoint - are good topics to cover.

The topics on my list are:
  • Culture - sort of a general topic encompassing all non-technical aspects of network automation
  • Continuous Integration - using principles like version control, and automated testing to provision configuration artifacts for network infrastructure.
  • Configuration Management Tools - overview of tools like Ansible, as well as the formats/languages you should know to use them (i.e. YAML, Jinja2, etc)
Anything missing from this list? I am interested in topics that are technical in nature that would be important to include in an educational context, preferably for those either totally new to automation, or those that just want to push their existing knowledge.

Steven Iveson

unread,
Mar 11, 2015, 6:04:44 AM3/11/15
to networ...@googlegroups.com
Hey Matt,

I'd include a why, pros and cons topic, plus an early glossary to make what follows somewhat easier to err, follow. What is an artifact outside of the archaeology field, what is a data structure, what does integration actually mean in both a networking and wider context. I've mentioned it before; I find there is an assumption that these terms, jargon and language are familiar to most when that is not the case. I've been 'following along' and experimenting in this space for years now but I still struggle with these basics at times and I think, often miss the message, the lesson or the knowledge because I'm too busy dealing with understanding random parts of the language used.

This isn't something aimed at you specifically, just a wider point. 

Its fine to make assumptions about your audience's knowledge and experience but providing something useful for those a little below that, would really help move things forward. Links to other articles on a different site or vendor websites written in a different style and context, with very different audience assumptions really doesn't cut it.

Cheers
Message has been deleted

Ahmed Maged

unread,
Mar 11, 2015, 5:26:53 PM3/11/15
to networ...@googlegroups.com
Hi,

I guess we can go lower level to cover fundamentals. I've seen people unable to follow what is happening with network automation because they lack the basics, they've been locked to on OS (IOS) and one vendor for life, so for these poor souls. here are a couple of thoughts:

From the ground up : UNIX and Linux culture, shell, file system, kernel. binaries, scripts...gradually moving up the complexity into interacting with a 'real' operating system and what our grand fathers have always used for automation, i.e : popular utilities : sed, awk...etc. That shows people how things developed to what we have today.

One other concept I see network people struggling with is the complete Application life-cycle/eco-system. For example: some people believe that linux binaries are the same as CLI on a linux, i.e : they are just commands and not real programs. so they automatically do not comprehend the application model of (web as front-end, binary in the back-end)

The more enlightened folks that knows the above would probably struggle with basics of programmability, so if they would start writing python scripts, they would struggle with parsing, screen scraping, templates, REST, understanding and using web-frameworks.

For people up the ladder, i would suggest advanced topics, one thing comes to mind is why would you decide to use python vs go vs node.js to write a software. i.e : knowing which ones is best for which app.

sorry for re-writing, the previous post didnt make sense. I hope this one does.

Cheers,
Ahmed

Michael Kashin

unread,
Mar 11, 2015, 8:57:14 PM3/11/15
to networ...@googlegroups.com
One important bit i think is to provide a taxonomy of management interfaces - Netconf, Ansible/Puppet agents built-in and which vendors implement them and in which product lines. So there will be a clear understanding of what can be automated now, what can be in the future, what never will be automated and what shouldn't be automated.

Kirk Byers

unread,
Mar 11, 2015, 10:49:03 PM3/11/15
to networ...@googlegroups.com
I would add a programming language into the mix--whether Python, Ruby, Go, or something else. Just one--general purpose language.

I would probably break out version control and automated testing separately from CI (as they are valuable by themselves as well as part of a larger process).

I would add discussions of the mechanisms of integrating to network equipment (APIs - NETCONF/eAPI/NX-API/REST, config management tools, SSH, others). You would probably need JSON/XML somewhere in this discussion as well (or in the formats section).

You might need a discussion about some principles of programming that are relevant to network automation (DRY, creating code that is re-usable, unit testing).




Reply all
Reply to author
Forward
0 new messages