Microservices

In a multi-channel world, businesses must be able to present and connect on an array of platforms and devices. Enabling business to happen where it needs to in a consistent way doesn’t happen by an accident – it happens with microservices.

What are Microservices?

Microservice architecture is a way of building a digital estate where processes are broken down into separate processes driven by small (micro) independent services. In business terms, instead of everything being in one big box that does lots of things (e.g. PIM + CMS + CRM + Ecommerce), there are lots of little specialised boxes that are then knitted together through a central hub called middleware. This gives a host of benefits detailed further below, but in short introduces resilience, agility, and speed into digital infrastructure. This means it can unlock valuable development outputs in a shorter period with the capability to grow and adapt as technology changes, without having to do big re-platform exercises every few years.

Have you found this page because you are looking for information on headless websites? A headless website is often part of a microservice estate but not always. Head over to our headless page to find out more.

developers-working-with-microservices

Why Microservices?

Resilient & Robust

Cost-Efficient Scalability

Flexible

Faster Development

What is the alternative to microservices?

The alternative approach to a technical estate is called ‘monolithic’. This is a traditional big-box solution where a business will look to have one or two core all-in-one systems that provide most of the features required. These systems are then typically extended through a marketplace or custom development to connect to other systems or provide additional features. While these systems have benefits of everything being under one roof in a common language, they also have limitations. A single code base means deployments touch everything, customisations must be managed through an update path and a broad set of features typically precludes specialism, meaning the toolset can only take the business so far and at a considered pace. Typically, these tools are best suited where they are going to be used as-is with minimal customisation. Businesses who accept that these systems have a shelf-life and use them to unlock a stage of growth, or plan to introduce specialism in high-need areas, succeed the most with a monolithic architecture.

What does it mean in business terms?

We believe microservices unlock value across the whole business, not just for technical teams. This is because microservices can:

  • Allow business users to work with best-of-breed platforms for the solutions they require provided they have APIs (most systems do). Often in monolithic worlds, the broad feature set means that the capabilities are not extensive and so mature organisations can reach a ceiling of capability quite quickly. By unlocking access to the right tools, business users can be unconstrained and empowered by their technology options.
  • Centralise business information such as content, assets, product and customer data into specialised systems to enable ‘big data’. Having information structured, consistent and accessible gives greater opportunity for insight to improve customer experience and business operations. It reduces re-work across the business and makes it easier to approve and manage content.
  • Enable employee specialisms by having systems that are dedicated to types of data or tools. Product/Buying managers can focus on product data without having to worry about coordinating with merchandising teams. SEO teams can optimise content pages without worrying about impacting other channels etc.
  • Allow brands to create unconstrained customer experiences in any channel they need. The experience or ‘front-end’ can leverage the information needed from the relevant services. With centralised libraries of code, these can be wired together as required and new experiences brought online at pace if all the information already exists. Marketing teams can react to new channels and devices faster than before.
  • Development budgets can be spent on continuous improvements rather than upgrading and migrating to access new capabilities. While some maintenance is required it is not as extensive as heavily customised monolithic systems. Businesses can re-decorate and extend without having to move house each time. It also means the roadmap is reasonably controlled by the business and not dependent on vendor timelines.

De-coding the lingo

There are lots of acronyms and terms floating around the microservice space. Here are a few common ones that you might hear and what they mean:

  • Microservices  – a way of building a digital estate where processes are broken down into separate processes driven by small (micro) independent services. It is an architecture method
  • API-first – API (Application Programming Interface) is an integration or communication protocol that allows systems to talk to each other. Some platforms are built to be API-first, which means everything is built around this interface. Some platforms have been built around a different interface and have created access to features by wrapping them in an API. The latter may have limitations or dependencies that restrict true flexibility.
  • Cloud-native – used when referring to technologies and architecture that are built in the cloud. A principle that we will encourage our clients to follow when looking for software.
  • Headless – used to describe a front-end experience that has been decoupled from its back-end through a mediation layer. A monolith system can have a headless front-end. A microservice architecture can also produce headless front-ends. Read more about headless and the difference between back and front-ends.
  • JAM Stack – an acronym for Javascript, APIs and Markup, which is how many headless experiences are built. It makes the code accessible to most developers.
  • MACH – an acronym meaning Microservices, API-first, Cloud-native and Headless. Many vendors and service providers are advocating for a MACH approach to technology and have created the MACH-alliance to advocate and educate on this approach to technology.

We help digital teams design great experiences, make smart technology choices, and deliver successful digital transformations.

Let's talk about your digital ambitions