Posts

Create Great Customer Experiences with FRINX Network Automation

Significant progress has been made from the time where a small army of highly certified network engineers had to be dispatched to make standard changes in the network or to enable and troubleshoot customer services. Progress has been made on the equipment vendor side by providing better programmatic interfaces to northbound systems.

Now some of this progress has come in the form of DevOps tooling which makes the life of network engineers somewhat simpler and speeds up routine tasks. Some of these improvements have come in the form of IBM’s Ansible, Puppet/Chef or similar tools which have proven useful as Swiss army knifes to get stuff done. Other improvements have come in the form of vendor specific tools optimized for their equipment. Yet many operators and service providers using these tools have not reached their real goal of robust and sustainable automation from the customer request to the service realization in the network.

DevOps tooling still relies on brittle scripts and playbooks that quickly become as opaque and inconsistent as copies of Excel sheets that contain critical infrastructure information. Vendor specific tools still require unleashing an armada of professional services engineers from a small pool of vendor approved partners to get the job done. Often, today’s forms of network automation still require manual intervention and high levels of coding expertise to implement service logic.

Here are areas where today’s tools fall short in reaching the goal of robust and sustainable network automation.

DevOps Tooling – Naive Automation

Fire and forget – No assurance that the config was changed correctly during the configuration attempt – leaves partially configured devices in the network
Global locks on the network – Every change sent to the automation system locks the system until changes are executed – this architecture creates inacceptable wait times for applications at scale.
No rollback capabilities – When something goes wrong during the configuration attempt, the system does not know how to revert to a well defined state before the configuration attempt
Complete configuration updates
Limited scale and slow execution
Limited device support for OpenConfig
Proprietary network element drivers
Limited or no end-to-end workflow capabilities
Costly and onerous implementation of service logic by a limited number of professional service partners

Robust & Sustainable Automation

Stateful configuration management – Store the intent and commit the diffs between desired and actual state to the network
Independence between changes of intent and commits to network – 100x acceleration of application performance
Rollback to restore failed configuration attempts – Supported even on devices that do not support native rollback
Atomic update operations – Only change the elements of the configuration that need to be modified to commit the intent
massive scale and high performance, parallel execution threads
Broad device support for OpenConfig
Open source device library
Massively, horizontally scalable workflow capabilities
Simple lightweight workers to implement service logic in any system programming language

How much better?

Robust and sustainable automation can reduce the speed from customer service request to action in the network from days to seconds. Our intent data store and independent commit mechanism allows for 100x more transaction throughput towards the network compared to legacy systems that are relying on global locks during commit operations. Our cloud native workflow system scales horizontally by adding workers across public and private clouds and allows for massively parallel workflow execution.

FRINX Network Automation delivers standardized APIs for network control and workflow descriptions that are simple to use and maintain for non-programmers. FRINX provides out-of-the-box inventory, rendering mission critical Excel spreadsheets obsolete. All of that is delivered with open source platforms and libraries with carrier class availability and support. FRINX provides solutions that allow our users to spend their resources on creating unique customer experiences while saving time managing their infrastructure. FRINX helps its users to build a factory for great customer experiences by reducing the time spent and expertise required to manage infrastructure snowflakes.

FRINX enables users to create great customer experiences through robust and sustainable network automation.

About FRINX

FRINX consists of a team of passionate developers and industry professionals who want to change the way networking software is developed, deployed and used. FRINX offers distributions of OpenDaylight and Conductor in conjunction with support services and is proud to have service provider and enterprise customers from the Fortune Global 500 list.

FRINX Machine: Make different networks speak the same language

You won’t come across a smarter tool in the networking business. FRINX Machine manages workflow, inventory and network control. It packs a number of different functions into one user-friendly solution stack.

FRINX Machine can be used with network devices of various scale. It’s easy to use and install and you need just three commands to set it up. You can run FRINX Machine on your local PC and on a high-end machine in the cloud.

FRINX UniConfig serves as the cornerstone

FRINX Machine is a dockerized deployment of three main elements. FRINX UniConfig allows FRINX Machine to translate between OpenConfig, vendor proprietary CLI and NETCONF dialects. It also connects to the devices in network and keeps connections between devices alive. Furthermore, it pushes configuration data to devices and pulls configuration and operational data from device.

On top of that we’ve added workflow and inventory capabilities. Our pick for the job went to Netflix Conductor, a micro service orchestration solution. It’s vastly scalable, battle proven and used by the biggest video streaming service amongst others. FRINX Machine uses Netflix Conductor to chain atomic tasks into complex workflows and helps to define, execute and monitor them.

For the inventory system, we have picked Elasticsearch. It’s a great tool and everybody loves to work with it. Moreover, it has a good front-end delivered by Kibana. In FRINX Machine it serves as inventory and log data storage.

The rest of the containerized package consists of FRINX Microservices Engine that is working as a binder between Netflix Conductor and ODL and FRINXit that serves as a command line interface for FRINX UniConfig.

While creating FRINX Machine, the goal was to provide a platform enabling easy definition, execution and monitoring of complex workflows.

Easy to setup and to use, highly available

With just three commands needed for the installation and to run the whole thing, FRINX Machine is refreshingly simple to set up. First, start with git clone to create a copy of the FRINX Machine repository. Second, run install to create all the containers in the infrastructure and third is startup. You can run everything on a minimal environment on your local PC, not needing more that 5 GB RAM, ideally suited for developers. On the other hand, FRINX Machine can also run on high-end scalable machines in the cloud to scale up to your processing and storage needs.

High availability is a hard requirement for many customers. When you run FRINX Machine in a production environment, Execution Logic and State & Transformation components can run in clusters to provide high availability. On the other hand, deploying it into a development or in a less demanding environment, FRINX Machine allows you to scale down to a much smaller footprint.

Real world battlefield

The true strength of FRINX Machine comes to light for mission critical application. It is designed as a cloud native infrastructure workflow engine that manages execution state and related statistics. It provides events, triggers and full visibility into the data that is exchanged between tasks in a workflow. You can look at it as a real-time debugger for your infrastructure, in a high available and high scale environment. Moreover, FRINX Machine offers the ability to write simple tasks, functions dealing with the execution logic, and stringing them together using a workflow.

That opens this system to personnel which wasn’t trained to deal with model based systems. Now anyone who is capable of writing code (e.g. Python), can contribute to these workflows, while interacting with the workflow engine, that manages the administration and execution of all tasks. This approach enables new features and capabilities to move from development and test to staging and production in the shortest amount of time possible. Learn more about why we have decided to combine workflows with network data models in the article above.


About FRINX

FRINX was founded in 2016 in Bratislava and consists of a team of passionate developers and industry professionals who want to change the way networking software is developed, deployed and used. FRINX offers distributions of OpenDaylight and FD.io in conjunction with support services. We are proud to have service provider and enterprise customers from the Fortune Global 500 list.