Network Software
Engineering & Consultancy

Our customers contract us to design and develop bespoke high-performance network applications

We deliver high-quality network applications focused on

High-Performance Network Applications with DPDK and FD.IO VPP

High-Performance Network Applications

Our team has been involved in the design and development of high-performance network applications for many years. We have contributed to the development of DPDK (Data Plane Development Kit) from the very early stages of the project and continue to use it as a key technology within the network applications that we develop. DPDK provides a high-speed packet interface to Linux user space and is widely accepted as the go-to development kit when producing network applications focused on high throughput.

As DPDK bypasses the Linux network stack, we look to VPP (Vector Packet Processor) of the FD.io project to implement a user space network stack when required. This technology leverages modern CPU architecture features, such as Intel AVX instructions, to vectorise packet processing therefore delivering an impressively performant network stack. We can integrate and customise VPP through plug-ins depending on customer requirements.

Linux to VPP Migration

Our team specializes in seamlessly migrating clients from applications reliant on the Linux network stack to the more advanced VPP network stack. We meticulously orchestrate this transition, minimizing any disruption or impact on your operations. By leveraging our expertise, we ensure a smooth and efficient migration process, enabling your systems to harness the benefits of the VPP network stack.

The VPP network stack offers a leap forward in performance, scalability, and flexibility compared to the traditional Linux network stack. With VPP, clients experience remarkable improvements in packet processing speeds, reduced latency, and enhanced throughput, leading to optimized network applications. Additionally, VPP’s innovative architecture empowers clients with greater control, extensibility, and adaptability, enabling them to tailor their network infrastructure to specific demands efficiently.

Network Software Engineering - Docker Containers

Virtual and Cloud-Native Network Functions

As networking technology evolves, so does the expertise of the Netadvia team. The process of network transformation has been ongoing for many years through NFV, with discrete network functions being converted to VNFs (Virtual Network Functions). Up until recently, this has been mainly achieved though the deployment of network applications in the form of virtual machines. This has now evolved to CNFs (Cloud-native Network Functions) developed and deployed through container technologies such as Docker.

We have experience developing and deploying applications as virtual machines through QEMU. We also played a key role in the development of the initial implementation of the DPDK vhost-user interface which is now used in production by service providers world-wide. There is no doubt that containers are now the preferred solution, particularly at the network edge, due to their light-weight nature. As such, we have been supporting our customers in delivering, deploying and managing their CNFs using container technologies such as Docker.

Network Application Optimisation For Intel Architecture

We are extremely efficient in the art of software optimisation on Intel Architecture (IA). Our team consists of several former Intel employees who have specialist experience in IA optimisation. We have assisted customers in significantly increasing the performance of their network applications through software profiling techniques and through the intricate knowledge and understanding that we have obtained throughout the years. We apply software development techniques to optimise use of CPU cache, enforce application NUMA awareness and isolate critical resources to ensure that network applications always achieve their peak performance.

High-Performance Network Applications - Intel Architecture
HTML5
AngularJS
NodeJS

Device Management & Configuration

At Netadvia, we have developed a range of orchestration and management solutions to assist our clients in achieving the goal of tracking, managing and configuring their devices. We integrate technologies such as HTTP WebSockets for connection management ensuring robustness against varying network conditions. We enable configuration of such devices through JSON whilst also supporting critical features such as automatic upgrades and rollback. Our experience also extends to the design and development of management interfaces through technologies such as NodeJS, AngularJS and HTML5.

In our experience, clients are increasingly striving for full top-to-bottom solutions which is why we ensure that we have the skills inhouse to deliver.

Research & Prototyping

Every ground-breaking idea, no matter how big or small, requires research and prototyping in order to validate the idea as a concept. We ensure that our team is always at the cutting edge of technology and so research is engrained in how we function as a company. If you have an idea that you are interested in exploring, contact us for an initial consultation on how best to proceed in realising the idea as a proof of concept.

High-Performance Network Applications - Research & Prototyping

Software Process and Quality

At Netadvia, our projects are managed and delivered to a CMMI maturity level 3 standard. This means that we deliver high quality products through intricate software design and strict code quality process as well as careful validation and test automation. We ensure the delivery of these products through strong management process and reporting.

Software Consultancy Services

The world of network application development and deployment is constantly evolving. New technologies are always emerging, and we make it our mission to identify and learn about the technologies that are most likely to make an impact on the industry.

We offer software consultancy services in the form of training, product design and brainstorming sessions. If you have an idea in mind but are unsure of the technology, contact us to discuss how we can help.