What are your thoughts on NetDevOps, as a subset to the "DevOps" movement?

I may be over-generalizing here but DevOps is mainly about managing and deploying systems at scale through:

  • Establishing configuration standards that can act as a template
  • Using software (often some custom scripting) to push out configuration changes and upgrades in an intelligent way (e.g. paying attention to current state)
  • Using software to make the initial configuration of systems (often virtual) an automated task

So you maintain an inventory of systems and what they're current state is and have tools to automate upgrades and changes to streamline you workflow. Sound familiar?

Network Engineers have been doing this since the last century.

We constantly think of deployment at scale. We constantly establish configuration baselines and templates to use throughout the deployment. We use custom scripts to intelligently push those changes and upgrades. In fact we didn't get nice pre-canned tools to do this. We often had to write our own (painstakingly scripting screen scraping of Telnet or more recently SSH).

It's nice that system administrators are coming up to speed but they really would benefit from the collective wisdom of having done this for years in the networking world.

Quite frankly I often find that there is a pretty thick arrogance associated with system administrators who are now self-proclaimed developers talking about the importance of DevOps. This of course ties into the SDN conversation in terms of people in the DevOps world wanting control over the configuration and provisioning of the network.

In practice I've seen first had a group of system administrators rushing to embrace DevOps and go through a big drawn out evaluation of Puppet and Ansible then a purchase of Ansible (because "it's better"). I tried to warn them that a configuration management solution like this would be useless to them until they took the time to develop standard configuration practices and baselines (every system they run is a special snowflake) and to give Puppet a try until they have a feel for that aspect of it since it's free. They ignored me. They dropped a ton of money and time on purchasing and training for Ansible. A year later they're not actively using it anywhere because their environment doesn't have enough common systems for it to be worthwhile. To save face they're now suggesting that we should be allowing them to use it to configure the network. This of course starts getting into the whole SDN conversation (which in a lot of ways is being driven by system administrators and developers with no background in networking but the desire for control).

Yeah.

I'm probably a bit jaded by my own experience which might not hold true for other organizations. As an observer, at least in my organization, all I saw were traditional system administrators using DevOps as the excuse to rewrite their job descriptions to include software development (even though very few of them have that background or qualifications) and try to get themselves a pay bump. So a lot of money was spent. The culture didn't change and the practices didn't change. The overall effect was it put the organization even further behind because we took time away from other things.

Don't get me wrong. I think DevOps has a huge role when you're building applications at scale (e.g. you run a cloud service where you just need to build and manage a lot of app servers that do mostly the same thing). For general IT work you're adding a lot of overhead if you're not only focusing on the things that you're able to standardize on. That subset tends to be pretty small (maybe you can pick one Linux distribution and establish some baseline practices for system configuration like host firewall and the list of packages everything should have). I'm sorry but if you're writing your "playbook" for a service that will be used once in one place you're just giving yourself extra work. Especially if you end up saying "well we won't use the configuration management to touch this system because it's too much of an outlier now" a week later.

/r/networking Thread