MACHO: Putting orchestration in your composable MACH-stack to fuel true digital transformation
Also a MACHO-stack, yet a bit different. Picture taken from Unsplash.

MACHO: Putting orchestration in your composable MACH-stack to fuel true digital transformation

Today I'd like to talk to you about my preferred proven technical setup towards digital transformation. Digital transformation is a trend often preached, but not always practiced. You probably know the drill: fail-fast fail-often, think user-centric, work agile, leverage a/b-tests, do experiments, and what have you. It's one thing to adopt an agile mindset, but another one to have your software and digital tools facilitate this. Let’s just say there are some impediments to overcome. The currently existing MACH framework, or ecosystem if you will, can help you surmount these technical hurdles that stand in your way. Yet, having worked inside MACH for over a few years now, I felt there was missing a piece to it. So today I'd like to introduce another letter to this concept: the O, for orchestration. If MACHO sparks your curiosity and you want to learn how it can help you transform your business, then this post is for you!

What is MACH?

Let me start by explaining all the individual letters from MACH and providing you with my own understanding.

  • M for Microservices based: break up your application's business logic into smaller chunks of responsibility. Each piece should ideally only take care of one thing, and do that particularly well. Your development teams will thank you because you're avoiding dependency hell and allowing them to unit-test every function which leads to more robust applications. Also, your application becomes more semantic, making it simpler to understand for newcomers.
  • A for API-first: what's a human to do without an API nowadays, right? If you're not familiar with APIs, they allow you to program against external applications by interchanging agreed-upon data payloads. Simply put, you send in data to execute logic somewhere else or you request data to use it inside your own logic.
  • C for Cloud-native SaaS: Software-as-a-service that leverages the cloud, beyond storage and hosting, including elastic scaling and?automatic?updating. Ok, I'll admit I copied that right off the website of the MACH alliance :)
  • H for Headless: The possibility to interact with third-party software without having to use their dedicated user interface. Unlocking the data inside by, for example, talking to their API or using published software development kits.

By default, MACH is not necessarily an all-or-nothing game. It isn’t a suite and allows for modular introduction by componentization. That means that we can start envisioning smaller pieces inside architectural setups and how they behave within their context. By doing so, we are forced to think about re-use, deduplication, and improved maintainability which leads to faster time to market, faster time to value, better scalability, and a more consistent overall brand experience. Both your business department's workforce and your customers will thank you for that, making it a win-win situation. Componentization is by no means a new thing and if you're looking to learn more, I invite you to read Brad Frost's take on Atomic Design. Highly recommended, even in a more technical context!

By now, I hope you can see where this is going. Utilizing smaller building blocks prevents so-called vendor lock-in, where one party takes care of everything. Let's take the example of an e-commerce website. There are some excellent solutions out there that provide full-fledged functionality and capabilities to deliver a rich and solid shopping experience. But adopting them takes time and effort (read: money) from your in-house team or external partner to integrate. And what do you do when you're not really happy with their content management solution (because you really want to write more art-directed blog posts)? Or what happens if your marketing department needs some complex discounting which is currently not supported? Or you're just not happy with the way they have organized their marketing automation because they don't support your not-even-so-special use case. You, my friend, have become dependent because you are locked in. Ha! Good for the vendor, not so good for you.

Smart people have identified these exact same problems and came up with a different setup. To quote the alliance again: "To ensure that enterprises can innovate swiftly and have an agile experience roadmap, they must own a modular “swappable” architecture. This is the only way to deploy new features rapidly and retain control of their destiny."

MACH technologies support a composable enterprise in which every component is pluggable, scalable, replaceable, and can be continuously improved through agile development to meet evolving business requirements.

The O for Orchestration

Now, so far so good. But how do we get from MACH to MACHO? One letter, huge difference ??. Let's invite the O to the party.

One of the arguments often heard against MACH is that your architecture becomes too fragmented, and as a result, end-users have to switch dashboards or interfaces often. ?And to be honest, that's the biggest downside of building out various components and logic in disparate systems. Many times, dev teams end up building a separate dedicated middleware layer just to glue all pieces together. Maintainability becomes difficult, and to put it frankly, just messy. if you're not sure where what piece of logic is being executed or orchestrated. Before you know it, you are copying logic into either a new channel or in your detached system. Ouch, there is the pain. Your backlog grows and tech teams might still feel overwhelmed.

What exactly do we need to solve this? You already may have guessed it right: Orchestration! We need a solution that allows us to focus on the business outcome rather than the technical implementation of it. An intelligent layer if you will, that allows us to orchestrate the user journey end-to-end, fetching and updating the right data at the right moment. Connecting in and out to your various systems while maintaining the logic in one single place. Driven by tech, organized by the business. As a result, we can easily scale out into different channels or systems using that exact same logic, while the orchestration layer provides you with a unified user interface portal of what's happening. Gone are the days of switching dashboards or copying-pasting data from one dashboard into the other. Dispatching orders and following up on potential returns becomes a breeze, while still allowing you to swap out components that no longer serve you or are end-of-life. Even, or I'd rather say especially, for larger teams working across business departments.

I was lucky enough to be working for a company that provides that intelligent layer. At Pega, the progress they are making to give you access to software that writes your software is truly something to keep an eye out for. Many times I witnessed the power of their no-code platform when implemented as orchestration engine of choice.

Nowadays, in my role as Solution Engineer for Contentful, I see most companies struggling to understand the key part of their new and shiny to-be MACH-setup: that orchestration layer. At Contentful we're taking great strides in bringing orchestration natively to our platform. Firstly, by being on the forefront of the composable content revolution, we truly recognise the fact that content is fluid, and should adopt to company's ever-changing processes and environments. That's the true key to successful digital transformation and agility at scale. Secondly, by allowing our platform to be almost unlimited extended through the use of our React-based App Framework. Because of our flexible framework, on conjunction with our Forma36 design system, there's virtually no limitation anymore to having a content platform act as your primary orchestration layer for all of your content operations. That's how we make orchestration happen for our enterprise customers, across all channels, while allowing them to scale when needed and innovate swiftly when the circumstances demand. Now that's what I would call digital transformation at it's finest!

Closing thoughts

So there you have it: a fully scalable and future-proof setup to unlock your digital transformation and keep focusing on your customer while doing so. In the meanwhile, you can start identifying processes and operations suitable for automation, innovation and improvement. All from within the same platform, orchestrating all your components in the stack. That's MACHO!

Any thoughts on MACHO? Leave them in the comments! Or feel free to reach out with any other questions you might have. Thanks for reading!

要查看或添加评论,请登录

社区洞察

其他会员也浏览了