Offline Capabilities for Cloud Applications
The last days, by chance, I had a short look at an older edition of the iX magazine (in German), the one from July 2024. One article written by Andreas Lehmann , Mark Lubkowitz , and Michael Schaefer caught my attention. The article elaborates how to engineer offline-ready cloud apps. These are applications with the backend running in the cloud and clients running on mobile devices, laptops, or PCs. The aim: client application should continue to behave adequately even when not reaching the backend in the cloud.
The authors present their msg cloud offline capability model, which distinguishes the following maturity levels:
The authors list various technologies and products that support the different levels. Rather than looking at them, I want to share some remarks regarding the levels allowing writing to a local data copy respectively a database (extract) while offline. The conceptual challenge is the reconciliation of locally performed data changes during the offline period if the backend or other clients changed independently the same (!) data. However, the reconciliation (and, thereby, higher maturity levels) require an in-depth analysis (knowledge about transaction theory might help, too) and is always application specific.
So, are offline capabilities the solution for organization to address stability issues in the backend or even solve the BCM challenge? There are, in my opinion, three limitations:
领英推荐
To conclude: offline readiness does not improve the availability of the (backend) cloud workload of an application, but it is a crucial element for improving the availability for solutions from a user and customer perspective!
Source:
A. Lehmann, M. Lubkowitz, M. Sch?fer: Cloud-Apps offlinef?hig machen, iX extra, July 2024, https://shop.heise.de/ix-07-2024/print
IT Security Operations Engineer
4 个月I would argue these are use cases addressed by future block chain applications where the client has the ability to determine the state even after a longer offline period.
Back2tech
4 个月Hello??Klaus Haller, thank you for mentioning our article. You are absolutely right; the described methods refer exclusively to the problem of short-term network outages due to white spots in mobile network coverage as well as in tunnels, underground garages, etc. and for thin- and thick-clients on mobile devices. For the server side, there are other approaches to ensure availability, resilience, and business continuity management (BCM). Synchronization of data after a network outage is not performed by the developer here, but by the underlying database management system of the cluster. This differs from the client, which must use special libraries for this purpose. Nevertheless, offline capability also helps with server-side outages, as users can continue to work with local data depending on the implementation of the offline capability, until the servers are back up.