We all know that that final mile of integration is always the most challenging, which as Pareto’s law would suggest, leads to those 20% of problems causing 80% of the project delays.
Every team gets enthusiastic about their own Azure project and all the possibilities that the cloud offers, pouring over their wish-list of outcomes and fixes for the project, delivering on processes and projects that previously were not achievable.
However the flip side of this is that as multiple development teams naturally put in place tactical integrations that deliver on their wish lists, it can often result in destabilising the bigger picture, or at best, creating a large amount of repetition and therefore increasing cost.
Typically this results in dozens of integrations being put in place, many doing the same thing, potentially on different technologies, built in different methodologies – ultimately resulting in a messy, difficult to support and maintain, integration environment. This is especially true in hybrid cloud environments, which in turn opens up security issues when you have multiple integrations between legacy on-prem (not built for open connections) and cloud applications.
So what can be done about it?
1. Use an API first approach.
Having the discipline of an API first approach ensures that APIs are viewed as products in their own right, as opposed to just integrations encased within other applications. Developing modular, interoperable APIs using a unified platform enables APIs to be used as building blocks to deliver the organisational capabilities required by the wider system solution.
This makes integrations more strategic, less prone to repetition and along with smart planning and design, helps to avoid creating large, monolithic applications that are difficult to connect to, support and maintain.
Tip: Build the APIs, then instil a discipline to review these APIs at the start of every development cycle.
Benefit: Multiple point to points consolidated into single API, better performance and security.
2. Leverage publish/subscribe with data updates
You often see duplication of integrations when multiple systems require the same data. What you want is for changes to be broadcast once, and every system that needs the change to be able to receive it in a reliable, timely fashion. The best design pattern to achieve this is publish subscribe.
Publish/subscribe is a very effective method for managing similar data that replicates across multiple systems, for example customers in your CRM, orders in an ERP, or data in Marketing Automation. Once you have a system of record for the master data set, not having control of integrations can quickly lead to data being out of synch.
You use publish/subscribe when you want one or multiple systems to be aware when the data changes in an application or data set. This mechanism allows the publisher to operate independently of the subscriber(s), to put its changes out there and not to have to worry about how they are consumed.
The subscribers benefit too – they can receive the updates however they need them. You can make updates in near-real-time, batch them up, throttle them for performance reasons or change the data format. Also, all the subscribers are independent of each other, so they are easier to maintain.
Tip: Using publish/subscribe in large scale environments where data is fast moving and highly responsive creates large efficiency gains.
Benefit: Systems are decoupled, so changing one system doesn’t impact the entire architecture.
3. Use a unified integration platform
Without a platform you can achieve all of the above, however you will need to recreate all of the required Azure resources every time. Which is a bit like buying a new screwdriver every time you want to change a plug. This leads to more duplication and ultimately cost for the Azure customer, which can threaten Azure implementations.
A unified platform makes API creation simpler and more efficient, it removes duplication and importantly creates a far more secure hybrid cloud environment, as connections to closed legacy systems are minimised making them far easier to control and monitor.
Tip: Use a single platform to manage all of your integration solutions.
Benefit: One place to administer, test, manage and report on makes it more robust, secure and future proof.
Did you know we offer an Azure Discovery Workshop? Click the button to learn more…