Many established organisations hold data on internal legacy systems that have huge potential commercial value to other third party organisations. It maybe impractical or have restrictions preventing this data being moved to the cloud. So how can on-premise data be published over the internet in a simple, cost effective way, that is totally secure, won’t load the internal systems, where consumption can be monitored and itemized billing produced?
The Microsoft (MS) Azure cloud now has building block systems that can do this for you.
Option 1: APIM with VPN & API APP
Option 2: APIM with multiple Logic Apps
At the heart of this architecture is the API Management Gateway (APIM) and either a VPN with an API App or multiple Logic Apps (LA) and the On Premise Gateway (OPG). This technology together can publish secure API operations that make secure back end calls to on-premise database or file systems returning JSON or XML data to the calling client. The LA’s are configured to run in consumption mode where the cost of the call is chargeable plus the outbound egress charges.
So how secure is the APIM?
For further details please read: How to Secure your Azure API Management Infrastructure
How secure is the LA?
This at a minimum can be secured by it only accepting requests from the IP address of the APIM.
How secure is the OPG?
The OPG is a Windows Service that is designed in that it makes only outbound connections to the LA.
How can the API be monetized?
The APIM can be integrated with third party services such as Stripe. This can be configured to generate monthly emails that specify billings for monthly subscriptions (fixed prices) or monthly metering (cost per API call). For a great article on this click here.
How can API calls be audited and analysed?
APIM can be configured with a logger that publishes data to an Azure Event Hub. This Event Hub can be subscribed to for future storage, some kind of analytics, or real time dashboard (PowerBI). The Event Hub is used as an intermediary to prevent the logging process from affecting the performance of the APIM.