Maximising Your APIs with a Digital Integration Hub

APIs make the digital world go round. According to Gartner, they are an essential element of every digital strategy. They enable systems and applications to interact, connecting disparate data sources and bridging access protocols. APIs can unlock your organisation’s digital assets and allow them to be consumed in a controlled manner.

However, simply exposing your systems and enterprise applications via an API layer presents some formidable challenges, for example:

  • How do you shield your backend systems from being overrun with numerous requests?
  • How do you avoid an unmanageable mess of tightly-coupled point-to-point connections?
  • How do you ensure that consumers only have access to the data they should?

The answer may be a Digital Integration Hub (DIH).

The Problem with a Traditional API Integration Architecture

Modern enterprises will typically have invested in a well-conceived integration architecture for their APIs, introducing multiple layers that serve the data through a request-based integration layer:

clip_image002Image from "Turbocharge Your API Platform with a Digital Integration Hub – Gartner (G00360082, Jul 2018)

The primary role of the integration platform is to field requests from the APIs and deliver data from the source systems. Depending on the complexity of the systems, the underlying data structures, and the expected load from the API consumers, this solution may work reasonably well.

The problem is that even though the integration layer abstracts the underlying systems from the consumers, there is still a degree of coupling:

  • Backend systems ultimately bear the burden of responding to API requests – even if asynchronously.
  • Changes to the backend systems will necessarily impact the APIs and, consequently, the consumers.
  • The data returned by the APIs is typically bound to the data structures of the backend systems as opposed to a non-proprietary business model.
  • Whilst the API Gateway may perform coarse level authorisation, it is unlikely to filter data at a granular level.

In this conventional model, the last two points can only be addressed at the cost of highly complex API service logic – hence the term “macroservices” used by Gartner.

One might represent this coupling as a collection of meshed gears, whereby moving any one will force movement in the others:

clip_image004

Digital Integration Hub to the Rescue

The problems mentioned above can be resolved by introducing a High-Performance Data Store (HPDS) which sits between the integration and the services layer:

clip_image006Image from "Turbocharge Your API Platform with a Digital Integration Hub – Gartner (G00360082, Jul 2018)

The main purpose of this layer is to create an aggregated replica of the system of record data, fed via the integration layer which ideally operates in an event-based fashion (for example, Change Data Capture). This enables several significant improvements:

  • The APIs can deliver a much more responsive user experience as they draw from the HPDS instead of competing with the core processing functions of the target System of Record (SoR).
  • The SoRs can concentrate resources on their primary activities rather than serving API requests.
  • Complete decoupling of the APIs from the SoRs affords potential 24/7 availability, as well as shielding consumers from replacement of a legacy system.
  • The heavy lifting of normalising and aggregating data can be delegated to the HPDS instead of the microservices.
  • Reporting and analytics can also draw from the HPDS, providing business insight whilst again relieving the load on the primary SoRs.

The HPDS can be implemented in many different ways; for example, it may include a data lake, a data warehouse, an MDM, etc. The key is that it is highly performant, and a good metadata management solution would be essential to support a domain-driven design.

The integration layer should also support multiple patterns, although these will vary according to the organisation’s requirements. Example patterns would include:

  • Event brokering / messaging
  • Extract Transform & Load (ETL)
  • Change Data Capture (CDC)
  • Integration Patterns (ESB, iPaaS)
  • Stream processing (Spark, Flint)

Example Architecture

There are few (if any) products that will give you a full Digital Integration Hub out of the box. In all likelihood, it requires an assembly of multiple products, possibly from different vendors.

That said, Microsoft provides an Azure DIH Accelerator to facilitate building a DIH architecture in the cloud. Hosted in GitHub, it provides a pre-configured development environment with a sample application, as well as build and deployment automation.

The architecture is fairly basic, but it is a starting point which supports injection of your own business logic, as well as swapping out components (for example, substituting a SQL Database for the provided PostgreSQL database).

clip_image008Image from Microsoft, DIH Accelerator on GitHub

In this sample, the front-end APIs are implemented via API Gateway and Azure Functions, the integration layer is comprised of Logic Apps and Event Grid, and a data layer consists of a PosgreSQL database. It also provides monitoring via App Insights and Log Analytics. Although not included in the sample, Azure Synapse can easily be bolted on to provide analytics.

Challenges

A Digital Integration Hub is not a simple architecture by any means and would typically be suited to a large mature enterprise that is going through a digital transformation. Some of the key challenges include:

  • Complexity of rolling out a high-performance data management technology (e.g. NoSQL DBMS or in-memory data grid)
  • Supporting bidirectional, event-driven synchronization between the HPDS and SoR applications
  • Designing a canonical data model for the DIH business entities that supports multiple channels
  • Implementing appropriate metadata management to support discovery and introspection of data entities and relationships represented across multiple data sources
  • Designing, building, and managing the complex distributed architecture of a DIH

Any organisation that aspires to setting up a DIH would do well to follow these recommendations:

  • Determine if the organisation needs a DIH and if it has the skills to support it.
  • Know its data and consumer requirements.
  • Understand the integration patterns that will be required.
  • Design its APIs to be abstracted from the underlying systems (“API First” approach).
  • Consider using a technology partner for implementation.

Summary

API-based access to disparate data services is costly from a performance and maintenance perspective. A Digital Integration Hub enables enhanced performance in accessing your organisational data, while ensuring effective protection of your backend systems. A DIH architecture also provides increased scalability, greater flexibility, and better insights.

Sneak Peak: My Integrate 2020 Remote Presentation on Azure Event Grid

I feel very privileged to be a speaker at INTEGRATE for the 4th year in a row. Many thanks to Saravana Kumar and Kovai for the privilege & opportunity! Of course, thanks to COVID-19 this year will be a bit different… no jet lag, no expensive bar tabs, and (sadly) no catching up with my good friends & colleagues from around the world (at least not in person anyway). But on the plus side, an online event does have the potential to reach a limitless number of integration enthusiasts. And if you think that you might be one of them, here’s a discount code for you to use!

Image may contain: 1 person, text

So what will my talk be about? Well as the title suggests, you will learn about the benefits of event-based integration and how it can help modernise your applications to be reactive, scalable, and extensible. The star of the show here is Event Grid, a lynchpin capability offered as part of Azure Integration Services.

image

Event Grid offers a single point for managing events sourced from within and without Azure, intelligently routing them to any number of interested subscribers. It not only supports 1st class integration with a large number of built-in Azure services, but also supports custom event sources and routing to any accessible webhook. On top of that, it boasts low-latency, massive scalability, and exceptional resiliency. It even supports the Cloud Events specification for describing events, as well as your own custom schemas.

My talk will feature a demo showing how Event Grid easily enables real-time monitoring of Azure resources – but this is only one of many possible scenarios that are supported. Register for Integrate 2020 Remote so you can not only attend this session but also 40 other topics presented by 30+ integration experts from around the world! Use the discount code INT2020-SPEAKER-DAN to get 15% off any ticket price.

New Dev SKU for Azure Integration Service Environment (ISE)

Last week, Microsoft responded to numerous requests from the community by announcing a new developer tier offering for Integration Service Environments (ISE). The ISE has been generally available for several weeks, but the single available SKU prior to this announcement carried a hefty price tag.

(fromEldert)WhatsApp Image 2019-06-27 at 10.59.51 AMI had the great honour and privilege of speaking about ISE at the INTEGRATE 2019 conference at Microsoft headquarters in Redmond, WA (USA) last month.  My topic was Four Scenarios for Using an Integration Service Environment, which attempted to shed some light on what type of situations would justify using this flat-cost product as opposed to the consumption-based serverless offering of Logic Apps.

While this presentation hopefully piqued interest in the offering, one of the burning questions from the attendees was “When will a lower cost developer SKU be available so we can try it out?”  All Microsoft was able to say at that point was, “Soon.”  Well, at least they were right, as it is now available only a few weeks later!

Read more of this post

Swift Service Fabric Deployments with PowerShell

Presentation

A few weeks ago I had the great privilege of presenting a 60 minute breakout session at Microsoft Ignite | The Tour in Sydney. It was thrilling to have over 200 people registered to see my topic “Seamless Deployments with Azure Service Fabric”, especially in the massive Convention Centre.

In the session I demonstrated the self-healing capabilities of Service Fabric by introducing a bug in the code and then attempting a rolling upgrade. It was impressive to see how Service Fabric detected the bug after the first node was upgraded and then immediately started rolling it back.

As you can imagine, it took a fair amount of practice to get the demo smooth and functioning within the tight time limits of the average audience attention span. (In fact, I had to learn how to tweak both the cluster and the application health check settings to shorten the interval – perhaps the subject of another blog post!) Naturally this also entailed frequently “resetting” the environment so that I could start over when things didn’t go quite as planned, or if I wanted to reset the version number. If you’ve ever worked with Service Fabric before you would know that deployments from Visual Studio (or Azure DevOps) can take a while; and undeploying an application from Service Fabric manually in the portal is painful!

Read more of this post

INTEGRATE 2018: Highlights from Another Great Event

34777644_920192494824567_1394121413341741056_o

Photo by Tariq Sheikh

Two weeks ago I had not only the privilege to attend the sixth INTEGRATE event in London, but also the great honour of speaking for the second time. These events always provide a wealth of information and insight as well as opportunities to meet face-to-face with the greatest minds in the enterprise integration space. This year was no exception, with at least 24 sessions featuring as many speakers from both the Microsoft and the MVP community.

As usual, the first half of the 3-day conference was devoted to the Microsoft product team, with presentations from Jon Fancy (who also gave the keynote), Kevin Lam, Derek Li, Jeff Hollan, Paul Larsen, Valerie Robb, Vladimir Vinogradsky, Miao Jiang, Clemens Vasters, Dan Rosanova, Divya Swarnkar, Kent Weare, Amit Kumar Dua, and Matt Farmer. For me, the highlights of these sessions were: Read more of this post

6th Annual Global Azure Bootcamp Brings Azure to Brisbane

imageLast weekend I had the honour of both organising and speaking at the 6th annual Global Azure Bootcamp in Brisbane. This is always a large event to manage, typically sold out with a long waiting list – and this year was no exception! We had over 70 people attend this all-day Saturday deep-dive into Microsoft Azure technologies – and the response was extremely favourable by all signs.

As the name suggests, this is a global initiative which is organised by six individuals from around the world who donate a massive amount of time and effort to facilitate the launching of local community events on a specific common day. Through their website they manage to collect registrations from local organisers, disseminate information, create hands-on lab materials (e.g. racing game), obtain global sponsors (who donate free licenses and trial subscriptions of their products), set up support for sub-domains, and even help obtain local sponsorship (e.g. Microsoft providing free Subway lunches at most locations).  It is a massive undertaking. This year we had 262 locations from around the world participate.

image

Local organisers were free to decide their own agenda in terms of content and activity. In Brisbane, we nominated to have a full day of presentations while allowing attendees to go off and work on hands-on labs whenever they wanted to. This has worked out well in the past, and this year was not exception. In this way we were able to accommodate seven presentations, from some of which you can download the content (I’ll keep updating this as they are posted, so please check back if a link isn’t available just yet):

Speaker Title Download
Adam Cogan Keynote: The Nine Knights of Azure Slides | Video
Todd Whitehead Azure Ninja Tips & Tricks Slides | Video
Adam Stephensen Bots – The Next UI Revolution Slides | Video
Alessandro Cardoso Identity Modernization with Azure Slides | Video
Dan Toomey Serverless iPaaS in Azure Slides | Video
David Alzamendi Ingesting, Processing & Displaying Real Time Information with Azure Slides | Video
Elliot Munro Automate Office 365 administration with Azure Functions and PowerShell Slides | Video

Dan-wAudience-DeanROne challenge this year was finding a venue after a building-wide power outage at Microsoft was scheduled at the last minute. Fortunately, The Precinct was available and was generous in lending us their Staircase Stadium. What an interesting space! It came with an excellent A/V package, free wi-fi, and a kitchen that was well suited to the catering. Although it did not offer the luxuriant comfortable seating one might prefer for an all day event, the attendees nevertheless seemed to agree that it was a good venue. AdamCogan-Keynote

Lunch was provided by Subway through the generous sponsorship of Microsoft. We also were served an excellent morning and afternoon tea by Art of Catering.

At the end of the day, we were able to raffle off some excellent prizes to six lucky winners thanks to the generous donations of both the global and local sponsors.

There are several people and organisations I’d like to thank for their contributions to this event:

Looking forward to next year!

2nd Annual Global Integration Bootcamp a Success!

DZLx-R1UQAEhxvOLast Saturday I had the great privilege of organising and hosting the 2nd annual Global Integration Bootcamp in Brisbane. This was a free event hosted by 15 communities around the globe, including four in Australia and one in New Zealand!

It’s a lot of work to put on these events, but it’s worth it when you see a whole bunch of dedicated professionals give up part of their weekend because they are enthusiastic to learn about Microsoft’s awesome integration capabilities.

The day’s agenda concentrated on Integration Platform as a Service (iPaaS) offerings in Microsoft Azure. It was a packed schedule with both presentations and hands-on labs:

Time Slot Topic Speaker
08:30 – 08:45 Arrival & Check-In  
08:45 – 09:00 Introduction & Welcome Dan Toomey
09:00 – 09:45 Serverless Computing with Logic Apps, Functions & Event Grid Dan Toomey
09:45 – 10:45 Building a Smart Solution with Azure Storage, Event Grid, Functions, Logic Apps & the Computer Vision API (Hands-On Lab)
10:45  – 11:30 Microsoft Flow, LUIS and Bots Susie Moore, Dan Toomey
11:30 – 13:00 Creating a Smart Expense Claims Bot using Flow & Bizzy (Hands-On Lab)
13:00 – 13:30 Cognitive Services Adam Finster
13:30 – 15:00 Recognising People  with Cognitive Services Face API (Hands-On Lab)
15:00 – 15:30 Azure API Management Dan Toomey
15:30 – 16:30 API Management Tutorials (Hands-On Lab)
16:30 – 17:00 Integration Design Lee Simpson

It wasn’t all work… we had some delicious morning tea, lunch and afternoon tea catered by Artisan’s Café & Catering, and there was a bit of swag to give away as well thanks to Microsoft and also Mexia (who generously sponsored the event).

0a4f5bc5-e350-401a-b98d-a26c7cd6a502-originalOverall, feedback was good and most attendees were appreciative of what they learned. The slide decks for most of the presentations are available online and linked above, and the labs are available here if you would like to have a go.

I’d like to thank my colleagues Susie, Lee and Adam for stepping up into the speaker slots and giving me a couple of much needed breaks! I’d also like to thank Joern Staby for helping out with the lab proctoring and also writing an excellent post-event article

Finally, I be remiss in not mentioning the global sponsors who were responsible for getting this world-wide event off of the ground and providing the lab materials:

  • Martin Abbott
  • Glenn Colpaert
  • Steef-Jan Wiggers
  • Tomasso Groenendijk
  • Eldert Grootenboer
  • Sven Van den brande
  • Gijs in ‘t Veld
  • Rob Fox

Really looking forward to next year’s event!

Integration Down Under… is UP & RUNNING!

For years now Integration Monday has been faithfully giving us webinars almost every week. There have been some outstanding sessions from international leaders in the integration space including MVPs, members of the Microsoft product team, and other community members. For the Asia Pacific community, however, it has always been a challenge to participate in the live sessions due to the unfriendly time zone.  (I certainly know what a struggle it was to present my own session last October at 4:30am!)  Even from the listener’s perspective, it is usually nicer to be able to join a live webinar and ask questions rather than to consume the recordings afterwards.

Thanks to the initiative of veteran MVP Bill Chesnut (aka “BizTalk Bill”) and the sponsorship of his employer SixPivot, we now have a brand new webinar series starting up in a friendlier time slot for our APAC community! Integration Down Under is launching its inaugural webinar session on Thursday, 8th February at 7:00pm AEST. You can register for this free event here.

This initial session will introduce the leaders and allow each of us to present as very short talk on a chosen topic:

    There are already more than twenty registrations even though the link has been live for only a few days. I hope that this is a good sign of the interest within the community!

Feeling really fortunate to be part of this initiative, and looking forward to delivering my intro to Event Grid talk! It will be a slightly scaled down version of what I presented at the Sydney Tech Summit back in November. Hope to see you there!

Speaking on Azure Event Grid at the Microsoft Tech Summit in Sydney

I’m really excited about the opportunity to speak at the Microsoft Tech Summit in Sydney this week! This free two-day event is a technical learning opportunity with a focus on Microsoft Azure and Microsoft 365. There are some great sessions lined up with mostly Microsoft speakers, and although my partner slot is only 15 minutes, I’m grateful for the opportunity to share my thoughts on Azure Event Grid with the community:

image

Unfortunately with such a short time frame, there won’t be the opportunity to share and demonstrate the scenario which I’ve blogged about here, but I hopefully will have time to do a very short demo of the blob storage integration. In my preparation, I’ve been able to whittle down the execution time to less than three minutes, which includes:

  • Showing a pre-created Azure blob storage account with a single empty container
  • Provisioning an Event Grid subscription to blob creation events from within this storage account
  • Targeting the subscription at a URL from Request Bin
  • Uploading a file to the blob container using Azure Storage Explorer
  • Observing the event message displayed in Request Bin
    Getting all this to work smoothly in a limited time will feel a bit like a Mister Maker “Make It in a Minute” challenge – but Event Grid makes it so easy to integrate with Azure services that I’m pretty confident in being able to pull it off.
    Right now, the preview version only accepts a limited number of publishers and subscribers from Azure, but these options will expand over the coming months:

image

    And with support for custom topics and WebHook subscriptions, Event Grid is capable of handling events from anywhere today that can publish a properly formatted message to a URL and provide the necessary SAS token!
    If you’re going to be in Sydney at the event, please be sure to drop by the Amplify 1 stage at 9:15am on Thursday and check out my presentation! You won’t be disappointed. And don’t be shy about coming up to say “Hi” – I’ll be around for the rest of the two days, including the MVP  “Meet the Expert” sessions.

Serverless Logging & Alerting with Service Fabric & Azure Event Grid

(This post was originally published on Mexia’s blog on 1st September 2017)

Microsoft recently released the public preview of Azure Event Grid – a hyper-scalable serverless platform for routing events with intelligent filtering. No more polling for events – Event Grid is a reactive programming platform for pushing events out to interested subscribers. This is an extremely significant innovation, for as veteran MVP Steef-Jan Wiggers points out in his blog post, it completes the existing serverless messaging capability in Azure:

  • Azure Functions – Serverless compute
  • Logic Apps – Serverless connectivity and workflows
  • Service Bus – Serverless messaging
  • Event Grid – Serverless Events

And as Tord Glad Nordahl says in his post From chaos to control in Azure, “With dynamic scale and consistent performance Azure Event grid lets you focus on your app logic rather than the infrastructure around it."

The preview version not only comes with several supported publishers and subscribers out of the box, but also supports customer publishers and (via WebHooks) custom subscribers:

EventGridPubsSubs

In this blog post, I’ll describe the experience in building a sample logging mechanism for a service hosted in Azure Service Fabric. The solution not only logs all events to table storage, but also sends alert emails for any error events:

image

Read more of this post

John Glisson - Geek of the Cloth

Thoughts on integration, technology and what-not...

Prashant BizTalk And Azure Integration Blogs

My Integration Experiences - BizTalk And Azure Integration

The CRUCIBLE

THINK: It's not illegal....yet.....

Abdul Rafay's BizTalk Blog

My experiences with BizTalk related to architecture, development and performance in my enterprise.

BizTalk musings

Issues, patterns and useful tips for BizTalk development

EAI Guy.net

Enterprise Applicaiton Integration and SOA 2.0

Connected Pawns

Mainly BizTalk & Little Chess

Adventures inside the Message Box

BizTalk, Azure, and other tools in the Microsoft stack - Johann Cooper

Biz(Talk)2

Talk, talk and more talk about BizTalk

Richard Seroter's Architecture Musings

Blog Featuring Code, Thoughts, and Experiences with Software and Services

Sandro Pereira BizTalk Blog

My notes about BizTalk Server 2004, 2006, 2006 R2, 2009, 2010, 2013 and now also Windows Azure BizTalk Services.

BizTalk Events

Calendar of BizTalk events all over the world!

Mind Over Messaging

Musings on BizTalk, Azure, and Enterprise Integration

WordPress.com News

The latest news on WordPress.com and the WordPress community.