How would I implement high availability across regions for Azure IOT hub?

rfazley 6 Reputation points
2021-10-07T12:51:27.417+00:00

I'm looking into what our high availability options are for our IOT hubs on azure, specifically cross-region as discussed in this article:

https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr

Cross-region HA would give us the quickest RTO (recovery time objective) but I’m struggling to find pertinent tutorials, guidelines on implementation.

So far I think these are our options: i) Go down the route of using a mediator/listener in a load balanced configuration across regions ii) setup a secondary connection on the devices?

Could anyone help with advising on a typical approach, possibly reference an article we can use as an example?

Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
1,124 questions
0 comments No comments
{count} vote

1 answer

Sort by: Most helpful
  1. QuantumCache 20,031 Reputation points
    2021-10-08T02:57:29.177+00:00

    Hello @rfazley This is a great question and very helpful.

    You are right about the ways to implement the cross-region HA.

    The technology used in IoT subsystems have different failover and cross-region support characteristics. For IoT applications this can result in requiring hosting of duplicate services and duplicating application data across regions depending on acceptable failover downtime and data loss.

    Because cloud solutions are composed of multiple services, it is important to consider what is necessary to achieve HA/DR for the individual services or components of the solution, instead of thinking about one approach for the entire solution.

    Also please refer to this 2018 dated published IoT Architecture reference guide which may help in some areas, I did not see a new version as of now, so I will keep you posted if I find any. Read the section which talks about [High Availability and Disaster Recovery (HA/DR)]

    One of the recommended ways is to have an application that serves as a concierge service, Point '1' of your initial question.
    "The concierge service can be a web application that is replicated and kept reachable using DNS-redirection techniques".

    138638-image.png

    138717-image.png

    Please comment in the below section for further help in this matter, happy to help.

    1 person found this answer helpful.