Integrations Are Everything
In this article
As the pace of digital transformation accelerates, systems must talk to each other. Especially as consumers and employees increasingly demand the types of experiences that the seamless integration of technology can offer.
Achieving this integration goal can seem simple. Let's just tidy up and streamline our systems! But what businesses often fail to realize is that building distributed systems can be relatively complex. This can gap in understanding might be explained by one of the fallacies of distributed systems. Specifically number one on the list: the assumption that "the network is reliable." While networks are often successfully connected, it's the brief intermissions when they are not (or when they're slow) that make integrating software systems incredibly challenging.
Most brands believe that operating with disparate systems is a problem uniquely linked to their industry. But in truth, we've seen this model present across restaurant chains, retailers, grocers, healthcare systems and more. It can be a major problem for almost any business. This is partially due to the fact that businesses are adopting software-as-a-service (SaaS) models where applications are hosted by a provider, not the business.
Connecting systems so that data is reliably and deterministically accurate requires more complex system architectures than those employed by most internal corporate web applications. This article explores the pros and cons of two common approaches to achieving a distributed systems architecture: point-to-point architecture and hub-and-spoke architecture. Both require technical and business buy-in, especially as there is no clear one-size-fits-all solution.
Let's dive in.
In a point-to-point model, systems directly communicate with each other. As each new system is added (or replaced), every other system that integrates with it must be updated. When only two systems exist, only one connection is required. As you move to four systems, six are required. For the math nerds out there, the equation for connections is 1/2 * n * (n - 1).
- Point-to-point offers the highest level of simplicity, from a technical standpoint.
- Time-to-market is short for a small number of systems.
- This represents the value-engineered option, at least for the short term.
- There can be a combinatorial rise in complexity as other integrations are added.
- It can be costly to implement new integrations.
- It can be costly to change existing integrations.
Point-to-point architecture can be a cost-effective starting point for many companies. But many quickly graduate from this pattern, especially for business-critical systems.
In a hub-and-spoke model, a central hub is responsible for all communication to each system. This allows sub-systems to remain unaware of each other, alleviating the burden of integrating with each other. While this approach can lower costs and reduce complexity as system integrations multiply, it does require a larger up-front investment in the system hub itself.
- Hub-and-spoke can be updated without changes to other systems.
- Communication can be synchronous or asynchronous.
- Enables stronger data-driven decision making, as data from multiple services and sources to be combined.
- Higher upfront costs for system hub.
- Can lead to a bottleneck if not designed and built properly.
- More complex architecture to operate.
One size does not fit all
Point-to-point and hub-and-spoke models are just two common architecture patterns to consider when attempting to tackle your distributed systems challenge. Factors that will impact how best to architect your solution include your current systems, your business size, your growth targets and your investment budget. For example, knowing when to employ a messaging system, data streaming or caching can be daunting. If done poorly, it can lead to cost overruns and a less reliable system.
Brands are often searching for a silver-bullet solution to solve their problems. Yet time and time again, they discover there is no single product, vendor or company that meets all their requirements. Nor do they find it makes sense to build the entire solution in-house (see taxes for reference). That's why, as more systems are created and come online, taking the time to invest in a well-planned and designed architecture can be critical to the success of your business.