Get in touch with us. We'd love to hear from you.
Digital Transformation Will Inevitably Lead You to a MACH Architecture. Start Now.
MACH is a term originally coined by the commercetools team, who partnered with EPAM and other software providers to create the MACH Alliance. This group defines MACH as Microservices, API-first, Cloud-Native and Headless. The forces of digital transformation will inevitably lead you to adopt a MACH architecture in your digital ecosystem. At this point, it’s not a question of if, but when. Let me tell you why and what you need to do about it now.
THE EVOLUTION OF TECHNOLOGY ECOSYSTEMS
Today, your digital ecosystem is likely a combination of isolated experience management, commerce and digital marketing technologies glued together through customer touchpoints, functional and data integrations, and analytics, with teams attempting to make it all behave like a single organism.
This is for the reason that, twenty years ago, digital ecosystems were very technology-centric. The first generation of content management systems only supported authoring and would produce static assets. Commerce engines were merely components and frameworks that implementation teams would choose to match their technology stack and would often just roll their own.
Over the fifteen years that followed, digital ecosystems progressively became more and more platform-centric. Big ISVs like IBM, Oracle, and others brought offerings to market that covered a wide range of enterprise needs, from content management and delivery to commerce automation and fulfilment. These digital experience platforms (DXPs) are the latest and the most over-arching category that modern digital platform players actively compete in.
As the popularity of digital platforms increased, so did the cloud. Many were skeptical and some completely opposed in the beginning. Now, everyone should be on board because this wave became a tsunami and then the new norm.
The platforms that were evolving during the rise of digital platforms, and alongside the rise of the cloud, were all naturally monolithic. So, your platform-centric digital ecosystem might currently look like the illustration below: A monolith at the center serving all customer touchpoints and integrating with various back-end and third-party systems.
The Traditional Digital Ecosystem Set Up No Longer Works
The term ‘digital transformation’ is a misnomer in a way. We are not moving from analogue to digital. Rather, we are moving from one flavor of digital to another—or from one way of working to another. There are a few experiences that your company will face as you start to feel the effects of operating with a traditional ecosystem in today’s platform-centric environment.
There is quite a difference in how enterprises approach software engineering, depending on whether their business is digitally native or not. Many companies born in the age of the World Wide Web are software-first businesses. These companies move faster, innovate faster, engineer faster—they outcompete and take over business niches thanks to their posture to technology. To compete with them means you must first become like them and behave like them, which requires you to transform into a software-first and technology-first company.
Transformation can instill the need to truly own the digital experience—to be free to innovate your client touchpoints and channels without the constraints of technology from years ago that power your ecosystem today. Aside from this, you’ll also want to run in the cloud. Cloud has become ubiquitous. Running in the cloud means more than lifting and shifting your workloads from your local colocation center or data center to someone else’s You need elasticity, a different profile of operational overhead, managed services, automation—all of which are difficult or impossible to implement in a traditional setup.
Finally, as you start searching for ways to iterate and innovate faster, you’ll quickly understand why transformation is necessary. While this is not a technical problem per se, certain architectures are much better positioned to allow multiple teams to work in parallel, deploy projects independently on different schedules, and release capabilities by experimenting and deploying changes continuously throughout the day instead of on a restrictive, scheduled cadence.
Ultimately, all these factors will push you toward Headless. Decoupling the experience layer will allow you to free up your front end and mobile talent and choose modern technology that best fits your specific use cases. Hopefully, you get a slightly happier clients when you are through with the exercise.
Splitting up the Monolith & Becoming API-first
Searching for ways to iterate and innovate faster will inevitably lead you to splitting up the monolith. Whether it will be microservices or just services or other flavor of independent components, your digital ecosystem will start to change when you start the split, and so will the role of the platforms that support it. You will still want a very capable commerce engine and management system, but your priority should be the only delivery mechanism that matters in this architecture: The APIs. To build better APIs, you need a dedicated team whose main and only product is the API itself. This is what being API-first means.
Moving a monolith to the cloud is not impossible, but it rarely feels right and rarely yields the benefits that you expect—unless you take the correct approach, that is. This new technology-centric digital architecture, however, must be in the cloud because it runs cloud-native using containerized workloads, functions as a service, managed services for persistence, cache and async integrations.
Change doesn’t come free and moving to a MACH architecture is not an exception. Upfront cost aside, you gain a lot by transforming your digital ecosystem: Agility, speed and freedom to build new interfaces on new channels using the most suitable technology for each. The price you pay is increased complexity.
MACH architectures are technology-centric and software-first, and a good reflection of modern software engineering techniques.
In a way, MACH is a next step in natural evolution of digital technology. From technology-centric to platform-centric, and now back to technology-centric. All complex digital ecosystems will sooner or later go through this transformation. Understanding ‘why’ should help you make the first step. The earlier you start, the sooner you will be over the hump. The longer you delay the transformation, the harder it will be for you to catch up with everyone else and stay competitive.