Ok so far we have had a look at how the integration platform evolved across a number of projects and also how it would help us deliver projects that we can see in the future pipeline. At this point I want to take a step back and look at the vision we had for the platform and what it looks like after a period of time.
As you can see the actual is not far from the vision. The great things about what we have is the conceptual container which has all integration stuff in one place. Well almost all of it as some bits are not in Azure but it is easy to understand and for the majority of the platform we have a single starting point provided by the Azure portal where we can get to most of the different assets.
If you notice that between the different diagrams there are a couple of features/products we havent used yet. This does not mean that we will not use them it just means that the journey we have had so far hasnt created a situation where those things were the right tool to use. In addition to this we had other occasions where we have needed to use tools which we perhaps hadnt expected to use initially. One great example of this was Send Grid where we hadnt planned to use it but we had a requirement in a project which allowed us to take advantage of the cloud to easily add this feature to address the requirement we had. It also gave us a reusable asset for other projects with the same requirement. This is a big strength of the cloud part of this integration platform. Easily add what you need when you need it.
As you can see though in the integration platform the vast majority of the integration problems are addressed using either BizTalk, Azure Service Bus or both. This is because these two technologies offer a lot of the key capabilities you are likely to need within integration projects. BizTalk Server is your integration swiss army knife which usually offers something for most problems and Service Bus offers your internet scale messaging bus. While these two are the heart of the integration platform its important to recognise the other technologies within the platform which offer extensions to this core integration capability to create specific kinds of integration solution such as creating API’s.