Though containers and microservices have transformed back-end development, they have yet to make significant inroads in the client- or front-end tiers. But developers have now found ways to apply the successful software development strategies with back-end microservices to client-tier applications as well.
Client-side applications that are developed and deployed with the same development and deployment strategies that have made microservices so popular are referred to as micro front ends. The software industry has recently taken a great deal of interest in them and micro front-end architectures. For example, the latest version of Red Hat Process Automation allows teams to weave dynamic AI modules into these micro front-end applications that are easier to decentralize.
Container-based micro front-end architecture
Early micro front-end projects have focused on how to provide better separation of logic and UI elements into smaller, more dynamic components. But modern micro front ends have moved far beyond the idea of loose coupling code to full scale Kubernetes-based deployment. There’s even been a recent trend of micro front ends containerized as microservices and delivered directly to the client.
For example, the H2 app by Glofox recently adopted this approach to implement a PaaS for health and fitness apps, which gyms and health clubs then customize and provide to clients. The app uses the edgeEngine from Mimik Technology Inc., to manage the containerized micro front-end microservices deployment to run natively across iOS, Android and Windows devices.
In addition, a micro front-end deployment reduces the server load. It only consumes client-side resources, which improves response times in apps vulnerable to latency issues. Users once had to connect to databases or remote servers for most functions, but a micro front end greatly reduces that dependency.
Micro front-end architecture pros and cons
ThoughtWorks, a global software consulting firm, has recently shifted its recommendation from micro front-end trials to adoption. This approach promises smaller, more cohesive codebases, easier development across teams and easier component updates in a more incremental fashion.
It’s still early days for micro front-end development. But Cam Jackson, a full-stack web developer and consultant at ThoughtWorks, cautions that developers who work with micro front ends face a number of challenges, including over engineering. Independent developer components can duplicate common functions, which in turn leads to larger apps. There can also be environmental differences between where they develop and deploy components.
Micro front ends can also lead to more operational complexity as a result of more repositories, build pipelines, servers and domains to manage.
Developers have expended a great deal of energy in the creation of microservices frameworks and strategies that has resulted in revolutionized back-end development and deployment. With micro front ends, we now begin to see that expended energy pay off with client-side development as well.