All-in-One vs Bespoke Tech Stacks

I love my iMac.  I bought it in late 2010 with the highest spec available for a 27″ iMac – I literally had Apple throw everything they had at it.  My feeling was that if I could spend a bit extra, then as a workhorse desktop computer, it might last a good five years.

It’s now 2018 and I’m still using it.

Along the way, I had to replace the disk which failed (spinning disks fail) but other than that, it’s worked like a champ.  It’s getting a bit long in the tooth and at some point this year when Apple release a new iMac based on the 8th Generation Coffee Lake Intel processor, I’ll take the plunge and buy a new one.

The thing I love about the iMac is that it’s “all-in-one” with a more or less sealed case – you just buy the “black box” (brushed aluminum if we’re being specific) and you don’t need to worry about anything else.

This is one of the things I dislike about my Windows gaming machines – because they are bespoke systems, the tinkerer in me is always looking at upgrading this or changing that.

It’s never-ending.

We had a reasonably top end PC built for us about 2 years ago and over the last month, I’ve started toying around with the idea of replacing the motherboard so that I can get one of the aforementioned Intel processors.  I’ll also need some new, faster DDR4 RAM and while I’m at it, I’ll probably toss in a new nVidia 1080t graphics card.

Suddenly that modularity means I’m down an extra $1200 for a two-year-old Windows 10 PC as opposed to never touching my nearly eight-year-old iMac since buying it.

Of course, these comparisons are not “like for like” – the PC is used by my wife and son to play some pretty graphically intense video games whereas my iMac struggles to do Facebook Live streaming because it doesn’t have hardware-accelerated graphics.

But there is something to be said for “all-in-one” systems just working.

Except in marketing technology.

Over my time doing business online, I’ve seen NUMEROUS companies try and deliver an all-in-one marketing technology stack and fail miserably.

They will host your site, do your membership, run your email list, server as your shopping cart and be a payment gateway and provide you with an affiliate program.

And every single time I see companies try and do this, it inevitably ends in tears.


Because all of those things are pretty hard to do well on their own, but when you try to pull them into a tightly integrated tech stack, it’s really hard.

How it goes wrong is that each of those specific things has dedicated vendors who are focused exclusively on innovating in their space and the all-in-one vendors find themselves fighting battles on several fronts to keep up.

Inevitably they end up lagging pretty far behind, their code base becomes too big and unwieldy to innovate with at speed, and they accrue a massive tech debt from shortcuts they’ve taken over time.

The software either gets incredibly buggy or just doesn’t keep up.

This throws up the other problem for customers – tight coupling.

Tight coupling is when technology becomes too dependent on other pieces of technology around it or a piece of technology assumes too many responsibilities for delivering functionality.

This manifests itself for example when you can’t use the affiliate module of your all-in-one stack without also using the email marketing module and the landing page builder.

I try and keep these things loosely coupled as much as possible.

I have one system that does my email marketing, I self-host my sites using WordPress, my membership plugin integrates with my shopping cart and my email marketing system, etc…

So what happens if I want to change?

If I want a new shopping cart, that’s a discrete piece of technology and even my recurring customer billings are stored externally in Paypal and Stripe, so changing the cart doesn’t impact that.

I’d need to pick a new cart and do the integration with my payment gateways, my email marketing platform and my membership plugin, but that’s a couple hours effort.

Changing my email marketing platform would require that I change my membership platform and while that’s a bit more work, again, we’re talking about maybe a day or so of effort.

If those systems were in a single all-in-one platform, I’d have a couple weeks of work ahead of me and a fair bit of risk because of all the tight coupling.

The problem for non-technical people is that these “all-in-one” tools seem like they solve all the problems you’re having in your business within a single platform and that has an obvious appeal.

Theoretically, it’s easier to learn one tool than five and you can “focus on your business.”

But trust me, that’s almost never how it works out.

The complexity of a highly-integrated system like that invariably results in a litany of problems and what could best be described as “gremlins”.  They make a change to one system and bugs appear somewhere else.

That’s not to say this doesn’t happen in more bespoke models like I employ, but the advantage from a technology perspective is that those isolated systems are somewhat self-contained – you can have a bug in a system or in an integration, but it’s rare that a change in one system results in unexpected and unrelated behaviour in a different system.

For example, an update to my shopping cart could result in a bug that means some spurious information gets sent to my email marketing platform.  It’s very unlikely that a change to my membership plugin will impact my shopping cart’s behaviour.

But in an all-in-one stack, you just never know – it’s presented as a black box and you have no idea how any of it hangs together.  A change to the affiliate module could result in your WYSIWYG editor for your landing pages breaking because they share the same javascript module under the covers.

The last couple points I’d make are around flexibility.

Using a bespoke model allows you to bring pieces on and pay for them when it suits your business, with most all-in-one systems, you’re paying for more than you need from day one.

Bespoke systems also give you the ability to more easily swap out systems as and when your business requirements change or a better tool comes along.  That flexibility is nearly impossible with all-in-one systems.

The last comment I’d make is that when something tries to be all things to all men, it tends to deliver low-quality outcomes to everyone.

Except for my iMac, that thing is a beast and I’m looking forward to my next one.

Leave a Comment