The key technical innovation of our architecture is that we break the tight coupling between the state that network functions need to maintain from the processing that network functions need to perform. The state is stored in a distributed data store, which itself is scalable and resilient, allowing network functions to be stateless.
The concept of decoupling state from processing is not new. Essentially all modern large scale applications (e.g., scale out web services) rely on disaggregated state as it allows these systems to operate at a level of scale and reliability that would be simply impossible otherwise.
But, this architecture is especially challenging to realize in the context of network processing, where we need to handle millions of packets per second and where there may be one or more reads and writes to the data store for every packet. This is exactly what we have overcome in our research and publications.
Distributed Systems Principles
One of the key principles of Stateless is leveraging distributed systems concepts for implementing networking functions. The distributed systems community has been working on approaches for running applications (e.g., web-scale applications) in a distributed manner which are reliable and high performing.
This was a basis for our core design concept of separating state from processing.
Micro-Service Network Function Architecture
In re-architecting the entire way network functions are built, we apply principles from service oriented and micro-services architectures.
In adopting this philosophy, what results is that every component in the Stateless platform is run as a distributed service. To achieve reliability, each service runs multiple instances, where each instance is capable of taking over upon failure.
This includes the network functions themselves, which are also micro-services – where, rather than view a function as a monolithic do everything for everyone device (like today’s “next-generation firewalls”, for example), we break the network functions into more fine grained services (e.g., packet filtering, IPsec termination, etc.) and enable users to compose them together into the network processing application that fits their needs.
We adopt the term “chain” for this composition, to maintain continuity with terminology in the physical and virtual appliance model where network functions can be chained together.
If you are interested in learning more about our network services platform, schedule a demo today.