NetYCE is a network orchestration framework specifically developed for network engineers to build their own network automation solutions in no time without coding. The framework is an ideal alternative to Ansible and Python if you prefer using your network engineering skills to build network automation use-cases over learning programming skills.
At the same time, people with scripting and python skills will love netYCE’s object-oriented nature and its modelling capabilities that offers similar flexibility through the netYCE GUI.
The first release dates back from 2002 when it was in house developed for a large global (enterprise) network service provider. In 2012, the company NetYCE spun-off and the technology gained traction in large managed- and cable service providers.
Since January 2019 the company released a FREE community version including training giving network engineers full access to the core netYCE engine with 20+ vendor modules. This allows them to have unlimited multi-vendor configuration management and job automation capabilities.
Main benefits of netYCE
The main benefit is that the framework has a GUI that is specifically designed for network engineers to easily and quickly translate their network engineering skills into automation use-cases without requiring coding skills. It's one of the few Ansible alternatives offering true mutli vendor capabilities.
At the same time, netYCE offers ‘Python-like’ flexibility and possibilities for advanced DevOps engineers.
To experience how easy it is to get started the company created a free course that allows engineers to build their first automation solution in their own network within 1 hour.
The course and download are available on www.networkautomationheroes.com
How does netYCE work?
The netYCE framework offers 3 building blocks to build any type of network automation use case they want.
- Runtime Automation
- Data-driven jobs and configs
- Design Modelling
To make the step into network automation engineers today are typically choosing to start with Ansible or Python. For some there is a reluctance to make the move as they don't want to learn programming or how to code.
1. Runtime automation
The netYCE engine 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 offered with the free netYCE_Go edition.
The framework supports 20+ different network vendors, ranging from e.g. Cisco, Juniper, HP, Ciena, Huawei, Checkpoint, Fortinet, Palo Alto. NetYCE continues to add new vendor modules upon request.
2. Data-driven jobs & configs
The netYCE engine allows you to combine different data sources to automatically build jobs and configurations. You can either use data stored the internal YCE database, externally submitted via the API or through parsing information from your production network.
3. Design modelling
On top of generating and deploying data-driven jobs and configs, netYCE allows you to prevent configuration drift by modelling and standardising your changes and network services. This allows you to enforce design rules into every job, configuration and process you build.
By combining these 3 building blocks, netYCE offers the following full lifecycle capabilities
NetYCE platform capabilities Full lifecycle Change Orchestration & Automation
The picture below describes in more detail the netYCE architecture components and integration capabilities with third-party applications.
From netYCE_Go to netYCE_Pro
The FREE netYCE_Go license gives runtime automation capabilities for unlimited (CMDB) network nodes. The free license also includes the full netYCE_Pro functionality for an additional 10 Pro nodes which allows you to use the data-driven and design modelling capabilities. See the full feature comparison for more details between the netYCE_Go and netYCE_Pro edition.
More information on www.networkautomationheroes.com and www.netyce.com
NetYCE Installation & Demo
NetYCE is a new network automation framework that claims to build a network automation framework without any coding, so lets see!
To get your copy of NetYCE head over to https://start.netyce.com
You need to register an account and then download the VM - its about 900Mb - you then spin it up on your favourite virtualisation software that support an ova file.
Virtualbox is the preferred platform to install NetYCE onto.
How to install NetYCE
- Download the ova file
- Import it into your preferred hypervisor
- Run a few setup scripts
- Start automating your network
Once you have registered your account, you will shortly receive an email with a link to download the ova. For this example we will be using Virtualbox.
Once installed click on file import appliance and then browse to the NetYCE_genesis.ova file
Click next and accept the software license agreement.
Once the appliance has imported click on the Genesis appliance in Virtualbox and then start to boot the appliance.
Once the appliance has booted - (It runs on Centos so is very quick to boot) you need to run a couple small scripts
Very important ! Do not press enter on first boot at the netYCE network setup.
Let the machine boot the auto startup script will kill after 5 seconds
If you do an ifconfig you will probably not see any network interfaces
To fix this simply enter ck_eth.pl and hit enter
You will be prompted to reboot.
Once your appliance has rebooted you should see interfaces when you enter ifconfig
From here you need to set if you want dhcp or static addressing on the two interfaces. For the purpose of this post we are only concerned with eth0 but if you require two interfaces for your installation you can address both for in and out of band management or different network access.
Next you need to run the network startup script - do they by entering net_setup.pl
Your appliance will probably auto populate this option on reboot so just hit enter.
You will now be prompted to enter a root password - just enter a password and then a yce password - these are for admin access to your appliance and not operational use.
Change Hostname in NetYCE
The next step is to accept or change the hostname
The default hostname is genesis.netyce.org
The important point here is whatever you set as the hostname (or leave default) this name must be resolvable in DNS or on your local hosts file.
For this tutorial I will accepting the default hostname and just be setting my local hosts file with the IP on eth0
You are then prompted to update networking, just set the requirements relevant to your environment. Once completed you are prompted to restart networking, hit enter.
Once network has restarted you are prompted to use ntpupdate to periodically set date and time - the default is N but I would strongly recommend you say Y and set an NTP sever either internally or accept the external source.
Check the time is correct on your appliance by entering date
In my case my time was out by 1 hour so I manually reset it using the following command
date +%T -s "11:14:00"
(Replacing the time with the current time)
I performed one more reboot after the time change
Now you should be able to access your NetYCE appliance via it's hostname from a browser by going to http://genesis.netyce.org (or whatever hostname you provided)
NOTE: It is not https
You should then see this screen
The default username and password for NetYCE is
NetYCE / NetYCE01
You should now be logged into your new Network Automation Platform.
In the next post I will go through running some basic automation tasks without doing any coding!
What does NetYCE stand for?
YCE stands for Your Configuration Engine (for the network).
Check out my post on the top 7 Network Automation Tools in use today
NetYCE the mutli vendor network configuration change automation & orchestration framework