EVA ICS v4 architecture (draft)

EVA ICS v4 is going to be released this year. How is it different from EVA ICS v3?

Take a look on the schema. The first one is v3 architecture we’ve been using since 2017. And here are the key problems with it:

  • The monolith core, written in Python
  • After 4 years, the core has got about 6 types of extensions (drivers, core scripts, plugins etc.)
  • Majority of plugins can be written in Python only and work directly inside the core, which reduces its stability and performance
  • Limited CPU scalability
  • Each enterprise setup is unique and requires unique features. All of them go to the core, slowing it down and making it more and more complicated.

But things will be completely different in v4.

How? Instead of just re-writing EVA ICS v4 in Rust, we’ve decided to significantly change its architecture. No more monolith core, the v4 brings the concept of industrial-grade microservices.

  • Industrial-grade inter-process communication bus: elbus, developed and optimized especially for EVA ICS customers. The bus can transfer 200k+ events a second even on embedded devices. On modern servers the numbers are just crazy: up to 5 million events a second on a single CPU!
  • Ultra-fast micro-core architecture, written in Rust and heavily optimized
  • No more extensions, plugins and drivers – everything is moved to micro-services
  • New generation programmable and dedicated software logical controllers
  • The micro-services can be written in any language. elbus already has bindings for Rust, Python, Javascript and we are going to add more soon
  • Each node can be scaled to multiple physical machines
  • All standard components, such as replication, database, drivers and logic processing services can be replaced on any setup with ones, written and optimized especially for customers’ requirements
  • Customers can customize absolutely everything, including even the public HTTP API and HMI back-end
  • Almost any elbus event can be captured and processed with a custom service

With the new architecture EVA ICS v4 will be a huge step ahead. More flexible, more clear, 100-times faster. The new-generation platform will be able to cope with tasks you could not ever imagine before.