Microservices architecture is a development approach that implements an application as a set of fine-grained processes (microservices) that can communicate with each other. The approach is well established for software development, but in the world of embedded design, microservices architecture is largely uncharted territory.
Microservices orchestrator Luos (Bordeaux, France) wants to change that, with the stated goals of dismantling the barriers between the hardware and software worlds, enabling embedded designers to achieve their project goals without having to reinvent the wheel to each new system, and to make embedded systems more scalable. In an interview with EE Times Europe, co-founder and CEO Nicolas Rabault explained how the Luos methodology works and described the company’s business model.
Luos provides a library/framework that enables the deployment of microservices for the development of embedded systems. The approach repackages microcontroller functionality as microservices that engineers can configure to meet their project requirements. Because it works across multiple microcontrollers, engineers are free to think beyond the capabilities of specific microcontrollers and instead focus on implementing those capabilities in the context of a given design project.
Using Luos, an engineer designs a system based on the desired outcome and simply chooses the microservices to achieve that outcome, without the need to develop the supporting libraries and functions from scratch. Luos then distributes these microservices among the available resources (connected components). The approach increases the modularity of the resulting systems and thus makes them scalable in the future, according to Rabault.
Towards a “freemium” model
The company is currently focused on growing the developer community for its open source engine, but future business will be loosely based on the so-called freemium model. “While the Luos engine should remain open source to use, the team is working on specific features that will be used by enterprises,” and the company will charge for these tools, Rabault explained.
To help grow the user base, the company intends to launch a platform through which Luos project developers can share their services with each other. “This is consistent with other technologies where users can share their own implementations,” Rabault said. “Luos also plans to release an inspector that will provide advanced event logging and troubleshooting functionality for a Luos project.”
For enterprises, the primary goal is to “develop a toolchain specifically tailored to the product development cycle,” Rabault said, with “small, independent developers having access to these tools for free.” [but with] companies looking to implement their products in real-world projects must pay a premium.
The idea behind the Luos platform is “to encapsulate all the functionality of a system’s components into services, whether those functionality is software or hardware. This allows hardware engineers to focus on process development rather than worrying about devices,” the CEO said.
“The main goal was to increase reusability, and [with Luos] the whole implementation becomes extremely modular,” he added. “This approach is important because it paves the way for a future where engineers can easily use software and hardware components, or bricks, for different applications without having to re-engineer [everything] from zero. All updates for each component can be done centrally, helping to future-proof the technology.
The build of the platform allows the developer to access features from anywhere, which makes testing easier. For example, “testing an engine becomes as easy as writing a simple Python [or other language-based] script and access engine parameters provided by Luos,” said Rabault.
Perhaps the biggest short-term hurdle for Luos is that “the concept of microservices is unknown in the world of embedded systems,” Rabault said. “It’s a common term in the software world, [but] the biggest challenge would be to educate [embedded] engineers on microservices and integrating the architecture into their projects. To ease this transition, Luos plans to organize site tours to “help developers get to grips with the platform.”
An integral part of the education effort is to raise awareness of the implications of the technology by outlining the use cases and limitations of microservices architecture in the embedded space. The “technology is not perfect and is not the solution for all possible use cases,” Rabault acknowledged. “There is also a need to arm developers with deeper knowledge and understanding of the benefits and pitfalls of increased encapsulation and flexibility, as developers new to Luos often tend to try to encapsulate all available services, and this approach has its own costs in terms of RAM and computation time.
“Developers need to be able to make judgments about the ‘sweet spot’ where the balance between flexibility and optimization is right for their particular application,” he said.
Students as Educators
Noting that exposure to the student community had accelerated the success of Arduino, we asked Rabault if the students are a target for the Luos. The CEO confirmed that “the embedded engineering student community will always be an integral part” of the evolution of the platform, especially given how comfortable this community is with microservices.
Unlike more experienced embedded engineers, “today’s students are aware of microservices due to [the methodology’s] presence in normal areas of software development,” noted Rabault. “It inspired them to apply the same microservices methodology in the embedded world, and Luos is placed in that position.”
Make Luos “a reflex”
The CEO’s vision is to see microservices become “a developer knee-jerk in hardware development, and to see Luos and the underlying technology deployed in a wide variety of industries.”
The goal is to make development in the hardware space as quick and easy as it is in the software world, and ultimately to make embedded system development and Luos microservices work natively with software microservices – or , to quote Rabault, “to completely break down the boundary between the normal software industry and the ’embedded’ hardware industry.