We use cookies to improve your browsing experience. To learn more, visit our privacy policy.

From Skeptic to Evangelist: Why I Believe MACH is Best for Devs

Overcoming fear of the unknown to embrace the flexibility and improved technical experience of a MACH-based architecture

Elastic Path plus Unstack

Four years ago, I didn’t believe a MACH-based composable commerce architecture would solve key problems in scalability, performance and availability for our clients.

As the Director of Software at Orium—one of the earliest members of the MACH Alliance—that’s a fairly bold statement for me to make. But it’s true; I was not in the MACH camp. In fact, I was an outright skeptic.

With over 20 years of dev experience, I was comfortable with how things worked. I was confident a more traditional, monolithic technology infrastructure was the right way. I saw no compelling reason to switch to a new approach that separated out the core components of a tech stack, and I believed doing so would make the system less trustworthy, more costly, and potentially unstable. Why risk it?

There’s an obvious red flag in my thinking back then: being comfortable is never a good sign. Being comfortable means you accept unnecessary limitations and less-than-ideal outcomes. You create endless workarounds to achieve results. You stop asking, ‘Is there a better way to do this?’ and you become complacent.

Fortunately for me, my job requires me to take a step back and critically evaluate my work regularly, so I had to at least give it a fair shake before I could reject it. Of course, once I did, the benefits quickly became clear and now I’m a convert.

But I know what it’s like to be a skeptical developer, comfortable with the proven path, so I’m going to dive into what held me back from MACH, how I overcame it, and what I believe makes MACH such a standout approach for developers, in particular.

Overcoming the biggest fear

The first thing—the biggest thing, really—that held me back from embracing MACH was trust. Could I trust my core business to a selection of discrete vendor solutions? And could I, in turn, trust those solutions to work together?

That fear wasn’t entirely unfounded. If you’ve worked in the industry for more than five years, you’ll recall an era where it actually was risky to try to blend different services and operators together. But progress happens every day, and we’re now at the point where all these external parties—whether it’s a cloud vendor or a SaaS vendor—have established themselves as the best-of-breed solution providers in their categories. They’ve been around for quite a while now; their track records speak for themselves.

Those strong track records (alongside the stark realization that my comfort might be holding us back from a better way of doing things) helped move me from the lingering uncertainty I felt to a place of trust— tentative at first, but enough to get me to at least give MACH a go.

Once I started experimenting with MACH technologies, I came to see that not only were these technologies reliable enough to try out, they could give us a higher uptime and greater reliability than we could ever achieve on our own. I found I could trust them more than our existing solutions. And once I trusted them, I discovered how much they could do.

The Two-in-One Benefits of Scalability & Capacity

Many (if not all) of our clients at Orium are looking to scale, and to do that effectively, you need a way to manage an ever-increasing load. This, I found out, is where a MACH approach really starts to shine.

Many MACH technologies are built for mind-bogglingly high usage, which has completely cracked capacity and scalability wide open for us. We’re no longer so dependent on managing our own servers or boxed in by their limitations. With single page applications, we’re able to spread a lot of the computation out in a distributed fashion over multiple clients, so we don’t have to worry about handling extremely high loads anymore.

SaaS platforms, containers, and serverless technology have, in essence, increased our capacity to scale on demand.

Before MACH, we had to guess how much capacity we needed— and we usually had to guess on the high side just to maintain performance at peak times. This meant we were paying for excess capacity we didn’t need.

Now the burden is off our shoulders. Adding or subtracting capacity, which occupied so much of our time before, is a thing of the past for us. Leveraging our SaaS vendors to manage this means we’re paying for what we need—not for expensive, incorrect guesses—and the time and expense of having our team manage this directly is a savings on top of that.

With MACH, we can make adjustments in real time and scale with ease because the barriers that were restricting us before are gone.

Simplicity and speed

It turns out when you remove the barriers, you can move a whole lot faster.

In our pre-MACH era, we had infrastructure we couldn’t change. That immovable object made lots of things complicated and slow: the development cycle, the QA cycle, and the deployments themselves. There were also very complex target environments with manual configurations and operations that required the dev equivalent of pointy-hatted wizards to run them.

Now we have a simpler infrastructure that’s agile enough to change as we need it. We’ve moved away from a manual approach for everything, so now certain things, like testing, are automated to check code for structure or security risks. If there’s a bad implementation, I get an AI-powered alert right off the bat advising me I should do it a different way.

By making our infrastructure simpler and smarter, we ended up making so many additional things smoother and faster.

Biggest gains

If you’re keeping score, so far we’ve established that capacity, scalability, simplicity, and speed are all improved with MACH. Seemingly a slam dunk for turning skeptics into believers, but if I’m being honest, I haven’t even talked about to two of the biggest gains we’ve made by switching to MACH: time and sleep.

Yes, you read that correctly. Think about what you and your team are spending your time on today. It didn’t take long after switching to MACH for me to realize how much time my team was spending on mundane things, like routine upgrades, and how MACH was shaving hours off of that each week.

But I also realized my team was spending time on profoundly important things, like making sure our retail clients’ assets didn’t crash during Black Friday weekend. Those weren’t just big time consumers that MACH could help simplify and speed up— tasks like that are also big sources of stress that were literally keeping us awake at night.

Did I really want our time and attention tied up in infrastructure maintenance? No. Did I want my team losing sleep over the uncertainty of an implementation? Also no! Could a more flexible, adaptable architecture make those things way more efficient and way less stressful? Thankfully, yes.

Instead of being bogged down with tasks and worries, now my team can focus more of their time, talent, and expertise on more important things, like innovation. Like solving problems. Like creating new ways for our clients to deliver better experiences to their customers.

Once MACH frees you from the constraints in your architecture, you can focus on what matters most— your business.

Author Image

Nik Shenoy

Director, Software Development, Orium

With over two decades of experience in building custom enterprise software, Nik knows the inner workings of tech like the back of his hand. Blending deep domain expertise with a whole-system view that factors in business, opportunity, and team impact, he is a recent recipient of Tech In Motion's Best Tech Manager Award.