Network to Code Network Automation Journey - Part 1

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
because what I'm gonna show is very related to a sink what you were talking about on Twitter and you know how do you actually get from I have a running networks and I have all these amazing things that you guys are talking about so we wanted to go a little bold and so we actually take a stab at building a demo around that and we've been dealt some solution tools that are actually built for this presentation so and we want to show how you know in this journey network to could work we work with our clients and all that so we built this mr. Paul G you know that's it's a branch environment it's very typical that we're seeing that has all sort of operating system over the place we have multiple versions of Cisco Aristide you knows and in your job is actually you know to to automate all of that so how will you go about it and so we actually have this topology right now running in testudo so I think you all got a presentation of that on Tuesday and that's what we will use for the demo so usually when we come in network to code first things we're doing you know is we work with the customers to do an assessment which is almost presenting we sit down and we're trying to understand you know what is working what is not working what are the tools in place what are the business requirements you know there are more important than others and we try to have a good understanding of the landscape and then based on that we work with them to set up a very customized plan and so in this case the one we're talking there's actually a plan that is pretty large there's multiple steps because we're assuming that in this environment this you know customers there's nothing so it's not always the case but and we'll walk you through those steps with with Jason and then as we are working on implementing this plan then we also have in a gross formal and informal training going on to make sure that the team is able you know to ramp up their own skills and they're able to follow what we are doing and they will be in a place where they will be able to maintain and be comfortable managing their own platforms you know when we leave so that's really those two three pillars that are going on so if you talk about the first parts usually assuming have nothing you know the conversations what will will start having is first we need to start about standardization then there's really need and make sure we haven't induced a lot of cleanups around the inventory and then I'll talk about you know some of the quick queen what we call the the read-only workflow to think that don't require yet to have you know all your sort of true started out and then I'll go into you know how do you actually transition from the running networks to building a sort of truce and then going into more configuration and to dive down to all those funds really I think you know everybody I try to automate will agree that you cannot attend a big mess so standardization and how you all standardize is a very important questions and again I'll skip some of the slide but I personally just couple of you know feedback that we've seen any customers usually when you start automating it started with two we see maybe in convention that's actually surprising but usually what happens is the name of the device of the day is the only thing we have it's like our database cramming all the information we have about his device in its name and it turned out there is a bit of the network design itself there's do you know the locations and all of that the role of the device and and it turned out that the more you to make the more you realize that it's actually hurting you you are trying to push so much information in there and that's why the next the slide is about building an inventory because the first things you do when you start automating is you build an inventory of your system and you capture you know the basics information IP addresses and all of that and and having a structured format to inventory your networks really remove all of that incomplete change the paradigm so it again something to think about the other that's really important the workflow you know we all have workflow it's just that we're not all aware of it and you know it's a lot of tribal knowledge and and at the end automation is about automating workflow so often we have to sit down with the customers and you know and they started tell so maybe we have to work for and at the end of the working sessions we have identified ten of them and each of them have twenty more steps and those are critical because if you if you don't understand your workflow you cannot automate them and and the workflow that you have today in a manual world will most likely needs to evolve to actually be automation friendly you know thinking about your workflow is like what are my requirements what are my dependency what information do I really need to be able to automate that like it back to the names like if if you put an information that is very specific to a device that is an implementation that comes super late in the process in the name of the device you will be stuck because you will not be able to actually generates those those names very early in the process instance again a lot of things we're doing but very important piece I already kind of gave you some snippets here but inventory very important you know even if it's a lot of you know enterprise have it about having a clean inventory where you have an interesting of the role decides what are the platforms what is the the operating system will find on the other side of this IP to know how to connect to this device is critical so that's usually the first thing we are doing cleaning of that working with people can be a file can be in a database it doesn't really matter the important is to have those information somewhere in some form of structured data you know so this is an interesting topic that I'm curious the the inventory information how many different systems at a customer site do they have to replicate this data like if you have an iPad or you have a DCIM or you have you know service now or the 16:17 other systems that a customer may have how often you have to you know every time you add a device to this inventory system you have to also add that same device to four or five other system then keeping all of that information in sync that's you're absolutely right so the truth is you might have to replicate that whole time but as soon as you have a source of truth for your inventory one place where you know that's all information are accurate then you can automate the population of the other one that's actually exactly what I'm going to show a show later so the important is to define one and make sure that that's the one you will update first and build automation to update all of them and then also of your inventory you can move on to what we call the the read-only or the quick wins workflow like it's not a even before having those sort of truce all of those things even having you know even configuration management in place there's a lot of things we can do just with an improper inventory you know we can back up the configurations we can put them some compliance checks we can synchronize all the inventory exactly the use case that you are talking about and there's this you know gigantic opportunity about ops and shout outs and how you know automation can helps you know give more visibility troubleshooting networks bring bags information from from the network so we're gonna start with the again first demo trying to go step by step so just to show you how an inventory will looks like so in this case for example for my branch environments I have this inventory and it's really here I'm using you know it's formats from NC Bowl but it's important that we have all the device and be able to attach some metadata to it you know how do I connect to the device what is the role of the device and here I'm able to re group them by role like I have the information but what is the role of the device and then I also group them by platform and super important again as you start connecting to this device in an automated way you need to be able to tell the tools at a minimum what our credentials where they are and you know what platform you will find on the other side so having this develop of information and if I have that then I will be able to start executing some some workflow so for example I created a first playbook I was usually very simple that will just you know go collect and backup all the configuration so just with this inventory I will be able to have one workflow that will for example run every day that will set your configurations in version control so at least you have you know a backup I might sound obvious for all the company that I already have it but the truth is there's a lot of people that don't have that yet so solving those problems is is a way to start if it's if it's not already there so we'll see here oh it's not good and so what we see here is I have you know all my configurations that have been back up all my fight different type of operating system and so on so now in my case I have a DCIM solutions I have net box install but Rhino I don't have anything in it so back to your questions like how do I can you know start putting those inventory into multiple tones so here I'm gonna show you how to use so there's that some-some ansible module that have been developed for netbooks actually being evolved with one of our network automation engineers we're so based on the same inventory I will be able to have another playbook that will populate networks and you know import all the devices and the role and all the information that we'll need later on into netbox so here I'm going on all those devices and we can see you know live like all those information so to magically get populated I have the information about the device what's what's really important here is like having having the role having the status of the device understand if if a device is in maintenance mode is expected to be reachable is actually critical formation because all your PlayBook at the end they will debris consume those information that's how you will define you know this specific playbook this specific workflow I want to take you that on all my my spines or all my leaf and I only want to do that on the one are expected to be up not the one that are down like having all this information clean is is critical to be to be successful again like here I'm just finishing just to give you an idea here also I was actually verging some of the features in that box where we can start you know collecting informations on how the information some more uh again infrastructure management for all of that I was you know really able to do that with very little information from from the from the devices themselves I have another one I will just start winning but for example we we've built some integration with kensic as well so I can take the they've been presenting a network shield a it's a really great host solution for monitoring and we really like them because they really think in terms of you know those those new and advanced monitoring solution they they work better if they have a lot of metadata and and tags as she lose those devices so again once you have everything set up in networks or or in ansible then we're able to automate through their API is to be able to populate all of those information and ensure that the inventory you have in kensic is actually you know in sync with the inventory you have in your other system and every time you had a new device you just had in one place and the automation for help you go through that so here's just an example of you know deceased and we're able to tag like the role and the operating system and and the locations and and you know the platform works better the more information more metadata you attach to a tool of that now and those are use cases you can start doing it you can start exploring again again chat ups for example if you have an inventory so we've been working on some some slack command for example help you consume the information that exists in that net box so John was mentioning earlier you know what if we could get the layout of a specific rack straight from slack and so we've seen more and more interests in in integrating slack and being you know the entry points to consuming the information that are exposed no powers our system in the organization and journey did a great presentation that enter up on how I may all be has been very successful in this place so in definitely see a lot more interest in this place so here maybe I'll make more base for example like we have some informations when we can actually collect information to net box directly and we also have since net box is exposing some API is to collect live information more as as a proxy we can also for example collect l-ltp information advice that is connected in that box so here for example I'm connecting live to the device like I I didn't yet imported all the information about this device in the source of Zeus I don't have that but I know how to reach out to it so in this case I'm just using dispatched for solutions to be able to extract all the information and just showing them and having you know all those API is not standardized but you know known and and properly documented really in the integration all those poof together another quick when you wanna show is for example any more interesting monitoring solution can also be integrated in slack and here we we just started working with Kensie can doing you know some integration with their system as well to be able to pull information spools you know visualization stats that will really help the team as part of the flow of the discussion that when they're actually for both shooting something again all of that just by building inventory you know that's really the I think the take care is like you don't have to to solve everything to start having some some benefit and it's a very you know risk-free environments because we don't touch these things is all we don't it's all collecting informations and helping represent that so and the more we working on those but we're actually would love that some point to open source so we created this but that we call the nada but we you know back to this ID and the community and giving back and having you know more people would love to open-source we're really looking for feedback so I understand you know what is the level of interest and all of that but at some points we would love to be able to have maybe a standard bot that we can put out there and that you know people can can use on their own on their own system so now moving on to the this big topic of how do I you know build this source of truth let's keep the style but what is the source of truth I think John explain that very very well but then the question is about how do I actually how does that work you know if I want to to build this source of truth for a network that that already exists so just to keep in mind like the end goal is at the end we want to be able to build a configuration from the source of crusin well we'll talk about that but first the question is how do we populate everything into a source of truth and there's really two stream here and two type of tools there's one where we need to consider the brown film how do I get the information from my existing network extract all those informations and populate my source of truth and ensure that you know while I'm actually working and building all this tooling you know I can I can understand how things are evolving as exactly what I'm gonna show you later and the other part is now if you become to have a source of true strategy you need to think of how you will import the informations about your network for the devices that don't exist yet because you know you used to have your notepad and build a config but you know it's not going to work anymore so now we need to build new tooling about you know having a way to describe network design and take those network design and import them into the source of truth so we're actually have more and more engagement on that where customer come to us they're like hey here's our network document can you help us automate that and the provisioning and all that so there's a lot of interesting project in this space the demo today is going to really be about how do I import into existing network into a source of truth so we kick off this project at crawling right now the network importer and it's really an idea of how do I take brownfield and how do I import at some point at the beginning of my projects everything into the source of truth so it takes a bit of time to render I'll I'll kick it off and then I will spend more time as it's running explaining how it works so here really what I'm doing is I'm just giving to this tool the repository the the directory where I saved previously all my my configurations on my backups that's all I'm giving I'm game this tool this directory and he already knows how to reach a net box so in this case the source of trust I'm targeting is a mix of net box and version control like everything you know villain and interfaces is cleverly usually you know we do not have adoptions where people use net box as a source of truth because you know it's feed very well a lot of information but there's still a lot of information like bgp session that don't fit so in this case we'll actually save them in in version controlling it and we'll use you know both those system each on their own domain of responsibilities as a source of truth so how is this tool working the the networking Porter and and we've seen a lot of interest for that but the IDS so we started using it no plans for solutions called bad fish and bad fish is a very interesting system in usually its main purpose is to the verification you actually take all your configuration and you will be able to reproduce your routing table your your BGP stations we voyage that with some testing it's very very interesting but to be able to do that it mean that they are able to understand the configuration so it mean they have actually a very strong passer that supports a lot of different vendors so we were like why reinvent the wheel we will just use that so right now we're using bad fish and bad fish basically we can give it any form of configuration and it will parse them and it will give us you know in a very structured way all the parameters of the interface the VLAN the IP the bgp sessions the protocols you know I will see you at this point we have like 80 90 percent of the information that are in the configuration that really matters in a structured way in the vendor independent way so it's a really you know a great benefit to use that and then the networking polar it's really a different sign they will be able to work between what we're getting from the configurations and what we're getting from the source of truth and that we'll be able to reconcile and understand what is there what is not there what is missing and at the beginning of the project the first time you want to import everything but then it has we're start yet getting control of the source of truth this tool can also be used to give you an idea of how the drift you know if there is a drift or not and and just help with the visibility and not necessarily actually making the change so there's really two aspect to it in the future the idea is that we could also have other form of you know stream of informations coming in like here for example the plan is to extend that to use something like napalm and have that is also providing a vendor independent data models and a lot of more the operational command and bring all of that in and the more information we have the more you know we'll be able to actually give an accurate view of what is the difference between the running networks and the source of truth so fully the Dutoit has finished so what we see here is that it's actually giving yes right now an idea of what was already netbox and what was not there and you we already made all the changes in that box so now if I go back speak Eva and I should have showed you the earlier that I was not here but now I actually have all the informations all the IP all the cabling that have been populated into the source of truce based on the configurations for all the sites we had like the VLAN not the rack we have the VLAN informations and all that and again doesn't work yeah it's better so we have all those information that I've been period and just to show you quickly I need to wrap up but the idea is that if for example if one IP is is missing in the source of true so is not there then the tool will be able to use it to do just check and in this case I'm just gonna run on on one device because it's gonna be faster but you will look at all the configuration that I already have backed up and it will compare with those sort of truce and it will give me a very quick feedback on you know what is the drift right now between my network and my source of truth so as I'm working on integrating all of that and really help me get to the point where I feel that my source of truth is the one I can trust and now I will be able to you know really take that as as a one so you can see here you know a clearly identify that everything is here except for this specific IP that rhino's is missing so that's this you know this idea of doing a diff and and giving you control how you want to I've got a question for you on this because I actually run netbox in my data center and this is the step that I have yet to take is to get to this point and I've been wanting to run it against what I've got at my DC and so the network importer is that something that's out on git or is that you know that's not something that I've worked with yet it's not because it's it's a bit early actually but we'd love to open-source its we left the first start get some feedback work closely with you know that's something you guys are developing yeah okay and and we just started actually recently more because we wanted to do this demo and you know that's you know we identify the need in this space but at some point we'd love to open-source that with but we'd love to hear it you know the interest for its first we'd love to work with people and grain you know make sure it's good before we put it out there
Info
Channel: Tech Field Day
Views: 3,733
Rating: 4.9245281 out of 5
Keywords: Tech Field Day, TFD, Networking Field Day, NFD, Networking Field Day 21, NFD21, Networking, Network to Code, Automation, NetBox, Orchestration, Ansible, Python
Id: 6wl2suubMIQ
Channel Id: undefined
Length: 22min 18sec (1338 seconds)
Published: Thu Oct 03 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.