Looking for consistency in configurations
The networking trade has gone by way of a drastic shift previously decade. I keep in mind once I was first diving into massive scale campus and datacenter infrastructure. I used to be on the lookout for any suggestions and methods to make sure that my text-based configurations have been constant throughout each machine inside a given location. Issues like discover/change, macros, spreadsheets, and even some rudimentary automation with instruments like sed and awk have been lifesavers. They helped me get near consistency in configurations. Nevertheless, it didn’t actually assist once I wanted to maneuver configurations between gadgets of various working techniques (which actually made it tough when supporting a campus of IOS on the edge, NX-OS within the datacenter and core, and IOS-XE on the WAN edge). Certain, all of us had “configuration” in “code” that made a community run, however getting it deployed was not the best factor to perform persistently.
Software program outlined networking (SDN) was alleged to carry all this frustration to an finish – permitting community engineers to deal with business-intent to drive the community, reasonably than box-by-box configurations. The controllers required for SDN-enabled networks centralized coverage and configuration – making it accessible by way of a slick-looking internet UI that enabled deployments with a number of mouse clicks. The longer term was vivid and community engineers would have tons of free time to upskill and higher themselves.
…Then the opposite shoe dropped
Every little thing appeared wonderful when the controllers have been initially deployed – configurations have been constant, observability elevated, and everybody appeared typically pleased. Nevertheless, as time rolled on, it was revealed to not be the panacea that everybody hoped. The net UI created an identical downside skilled by public cloud suppliers and virtualization hypervisors – particularly that each engineer was turning into an knowledgeable in “click-ops.” Gone have been the times of utilizing “Discover and Change” to edit configurations. Each engineer now needed to learn to translate configuration to the UI, after which repeat that course of persistently each time a brand new deployment wanted to occur. Methodology of Process (MOP) paperwork had to enter excruciating element to make sure that two completely different engineers would deploy a configuration change in the identical method… with the identical metadata… each time. On high of that, what if the engineers needed to handle a number of materials or campuses? Every with their very own controller? The quantity of clicking may very well be sufficient to require a pointy enhance within the variety of mice bought throughout the IT division!
Programmability to the rescue… proper?
The (easy) reply to this downside in everybody’s thoughts was “let’s use programmability.” The SDN controllers have been all pushed by APIs and had included SDKs that enabled the fast prototyping of scripts and code that might automate the change course of and simplify the quantity of labor completed by community engineers. Giant MOPs may very well be scaled all the way down to solely embody naming conventions and metadata tags. The (Python) code might deal with the remainder. This transition labored for automating a single controller – however spanning throughout domains (and even clouds) was made tough by the supply (or lack thereof) of SDKs, in addition to portability of code throughout variations of on-prem or cloud infrastructure controllers.
So Now What…?
Fortunately, there’s a higher method. Utilizing Infrastructure as Code (IaC) instruments, comparable to RedHat Ansible or HashiCorp Terraform, the complexity of interacting with controllers and gadgets utilizing APIs or SDKs has been abstracted away into easy-to-digest domain-specific languages (DSLs). These DSLs permit for fast improvement of configuration, ease of archival utilizing a VCS, and better of all, will be written to work together with a number of gadgets or sorts inside a single file! Whereas not 100% good, these IaC instruments permit for a fast approach to orchestrate configuration throughout a number of domains.
Now that we’ve talked in regards to the ‘why’, are you able to be taught extra about IaC within the context of infrastructure and clouds? Listed here are a pair recommendations:
Be a part of our day by day livestream from the DevNet Zone throughout Cisco Stay!
Join the DevNet Zone Cisco Stay E-mail Information and be the primary to find out about particular classes and surprises whether or not you might be attending in particular person or will have interaction with us on-line.
We’d love to listen to what you assume. Ask a query or go away a remark under.
And keep linked with Cisco DevNet on social!