In this next post within my series on Power Platform solution architecture weāll move onto a final consideration for solution architects to make taking things into account at a high level relevant to the platform. Weāll focus specifically on needs and considerations for solutions that should have āhigh availabilityā and weāll look at considerations for backup and redundancy.
What is high availability?
When we refer to high availability weāre talking about highly scalable solutions with no single points of failure or potential failure, backed on a highly scalable cloud platform (Microsoft Azure) and that have granular monitoring and error reporting for mitigation and resolution.
The outcome of following these principals should be that we have a highly available solution that doesnāt encounter outages regularly if at all.
When it comes to Dynamics 365 first-party product and Power Platform products and the backend functionality of the objects we build with, we donāt need to worry about these and Microsoft manage the high availability of these.
The areas we have to think about are areas of custom logic. These are areas where the responsibility lies with us as solution architects to ensure the code we develop is reliable enough to be highly available and has the various things in place that follow the previous principals we spoke about. That may include things like monitoring and logging issues to something like Azure Monitor.
Redundancy
When it comes to redundancy or backup options Microsoft handle the best part of this for us in terms of location based outages if these arise. There are areas as solution architects we should consider though. For example if building plug-ins or integrations as options for custom logic, we should ensure they have the appropriate functionality implemented to utilise and handle retries if needed. Or letās say the endpoint for an environment has changed. Integrations should use the global discovery service for endpoint discovery to get the latest environment endpoint. These are some of the things we should be thinking about in terms of redundancy and these are based around custom logic we implement.