This blog will explain the 3 core building blocks within the netYCE framework that allow you to automate any Network, from any Vendor and for any type of Change. And consequently enable you to build endless network automation solutions and use -cases.
These 3 concepts are:
1. Runtime automation
2. Data-driven Automation
3. Design-driven Orchestration
Let me explain how we have incorporated these 3 concepts in netYCE framework
1. Runtime Automation
Imagine you have an engine that lets you configure any number of network devices (switch, router, firewall, API, EMS, controller, etc.) from any vendor, from one central place and for an endless variety of jobs, while dealing with checks, validations, conditions, backups, logging and many more in a smart and automated way.
This is exactly what the netYCE engine does. Fully GUI based and with support for 20+ different network vendors, ranging from Cisco, Juniper, HP, Ciena, Huawei, Checkpoint, Fortinet, Palo Alto. Plus support for many plugins, like Ansible, Python, JSON, Bash and many more, that allow you to connect and executed data-driven jobs for any type of device or system.
You can forget about manually logging into network devices or building and maintaining seperate Python- or Ansible scripts and code. One unified GUI based framework allosw you to only focus on what you want to achieve. Simply create or import your node credentials and start building and deploying automated jobs. You can use parameterisation, templates, conditionals and many functions to deal with any of your daily jobs. Then save & share them with others and schedule backups of all your configs to keep control of what changes in production.
This powerful engine alone will solve most of an engineers daily automation needs. It is offered with the FREE netYCE_Go license and serves as the foundation for all other solutions explained below. Make sure you check out this webinar with an extensive demo of several use-cases that can be automated.
And why not experience it yourself.
2. Data-driven Automation
Now let’s go one step further and truly boost your automation capabilities. Imagine you can automatically build and analyse jobs and configurations by combining different data sources with this runtime engine. The way the netYCE engine allows you to do this is by either creating configs and jobs (by combining data and smart templates) or analyse state information from the production network (so by by parsing configs and jobs). So, in essence, it's all about managing the data that goes in, or comes from the jobs and configs for your network. And then combing this data with all the functionals available in the smart templates and scenarios.
Now, let's take a closer look at this data. It can basically come from 3 different sources:
1. from the internal YCE database,
2. from your production network (parsing state information) or
3. from external sources (via the API)
First, the integrated, object-oriented YCE database lets you store any kind of information specific to your design or ‘snowflake’ network, in a relational- and vendor agnostic way. This means you can store things like topology, ports, vrfs, ip plans, subnets, services and much more in one place. And then use them seamlessly with the netYCE engine and smart templates to generate data-driven jobs and configs.
So forget about using Excel and notepad or remembering everything from memory. Simply create and modify services by updating the database and generate configs & jobs that you want provisioned to your network with just a single mouse click or API call.
Second, imagine you can simply retrieve state information from your network devices and use it dynamically in your jobs. This is what 'command parsing' scenarios are all about. It lets you send show commands to your network devices and parse the requested information. The results can either be stored in the YCE database or used in real time as input for your data-driven jobs.
It gets even better when you learn more about 'scenarios'. These data-driven 'scripts' allow you to build extremely powerful run-books with automated rules, validations and process steps for every job you send to your network.
Third, data can also come from external systems (e.g. OSS/NMS) or from an Excel/csv file. This can be sent to the netYCE API and processed as you like. You will be amazed with the possibilities you now have at your fingertips because anything that is possible via the GUI can also be done via the API. Updating your inventory, creating new services or simply invoking the API to send data-driven jobs to your network is easy as pie.
3. Design-driven Orchestration
With the building blocks 1 and 2 you now have the ability to generate, deploy and analyse data-driven jobs and configs for any of your devices. This is extremely powerful, but it does not solve the risk of spinning out of control and control configuration drift. This is because you still haven't solved the problem of explicitly standardizing (and automating) your design choises. As long as this is not done explicitly (so only in engineers heads), engineers will come up with endless variations of 'random' design choices during implementation. This is the major factor causing networks to become inflexible, unstable and unnecessary difficult to automate.
So, in order to get the maximum results from you automation efforts, this needs to be resolved. This means you need to model and standardise your network services and changes. And enforce your design rules into every job, configuration and process you build.
This is what netYCE's unique 'design modelling' is all about. These tools allow you to build your own blueprints and data-models for any of your Networks, Designs, Services, IP plans and type of Changes. Upon execution of these models/blueprints, the netYCE framework will auto-generate all the data you need for your jobs and configs in a fully standardized (desin-driven) way. This not only allows you to eliminates configuration drift on an operational level, but it also allows you to build a digital catalogue of designs and services that can simply be called upon via the netYCE API, allowing seamless closed-loop integrations with 3rd party BSS/OSS/NMS and IPAM systems.
What all this means is that every change you now send to your network is built ‘as-designed' (as-intended). So no more errors as both the data, the jobs, the configs and process steps are being generated and executed according to your own design logic.
The final step is to ensure that these intended jobs get deployed without interfering with any existing service in your network. As explained earlier, this is done by using the command parsing scenarios, whereby production state information is validated at runtime before pusing jobs and configs, to guarantee that existing services aren't overwritten. These two process steps: 1) build as designed and 2) deploy as designed with runtime validations, is what we refer to as Intend based Network Automation.
These 3 building blocks are extremely powerful and can be used standalone, but the true power lies in combining them. You can now build any network automation solution you like as the possibilities are endless.
For example, you can enable zero-touch provisioning for any of your devices, delegate standard jobs to your internal users (self-service) or build closed-loop automations with NMS or AI systems. You can even configure netYCE to be your 'über' orchestrator between 3rd party systems or combine existing Python or Ansible scripts to get really smart.
And the best part? Everything can be configured and build via a GUI that is designed for network engineers. NO coding in complex programming languages. At least not if you don’t want to, because the netYCE engine will ‘eat’ any syntax, so if you prefer going more advanced by using netconf, Yaml, Json or any other new syntax, you can do that as well.
Simply translate your existing network engineering knowledge in templates, models, scenarios and data-driven jobs, and start automating. It’s literally that simple. So what are you waiting for.
The FREE netYCE_Go license gives you runtime automation for unlimited network nodes. The license also includes the full netYCE_Pro functionality for an additional 10 Pro nodes. This means that you can use all the data-driven and design-driven capabilities as well without upgrading to a paid netYCE_Pro license. Want to learn how? Just check out the free courses on www.networkautomationheroes.com.