A few weeks ago, we ran a small and informal poll on LinkedIn and asked our followers what they think the most exciting trend in development this year is. The results?
Let’s dig into that a bit more.
At its most basic, the term stands for Dev(elopment), Sec(urity) and Op(erations). So far, so obvious. It is as much a practice as it is a cultural approach to integrate security into each step of the software development lifecycle.
At its core is the understanding that security is a shared responsibility among all IT stakeholders. It is also founded on the recognition that the old approach to security, which usually added a security ‘check’ onto the end of the development cycle, no longer meets the requirements of the rapid and frequent cycles most products go through these days. Today, application and infrastructure security needs to be considered from the start, with partners brought on board early on. As anyone with experience in stakeholder management and coordination knows, this brings with it a host of organisational and procedural challenges - but the payoff more than makes up for it.
We wrote an in-depth article about this topic which you can read on our blog. There’s also a great article on Red Hat’s website which goes into further detail (and illustrates key points rather neatly with diagrams) for those interested in more.
This trend is essentially about splitting big, intimidating UI projects into smaller pieces - because a frontend is nothing other than an application UI. In fragmenting a frontend, developers can work on different pieces at the same time using different technologies. This allows them to work faster, create iterations quicker and also employ a wider range of expertise within the team.
Micro frontends also enable a great deal of flexibility in architectures that work with a lot of parallelisms, much like microservices. Being able to independently split the UI into smaller chunks creates an easy way to completely isolate a functionality if needed.
Of course there are some trade-offs for this type of design. With more independent pieces comes a great deal of complexity, like more wiring, bigger payloads, duplicate dependencies, bigger infrastructures and even bigger operational costs. An organisation needs to take these factors into consideration when deciding whether or not to adopt micro frontends.
Developer Cam Jackson wrote a great piece on this topic with heaps more information which you can find at https://martinfowler.com/articles/micro-frontends.html.