Sechs Stufen der Cloud-Offline-Fähigkeit
Die Cloud ist das aktuell bevorzugte Betriebsmodell, um Anwendungen zu betreiben und bereitzustellen. Doch fällt die Verbindung zwischen dem Client und der Cloud aus, dann sind die Cloud-basierten Anwendungen nicht mehr einsatzfähig.
Dieses Risiko lässt sich als unwahrscheinlich in Kauf nehmen. Wirtschaftlicher und nachhaltiger ist es hingegen, Verbindungsausfälle bewusst vorzusehen, einzuplanen und darauf aufbauend Maßnahmen zu ergreifen. Das steigert die Kundenzufriedenheit, ermöglicht den Einsatz in zusätzlichen Situationen und steigert den Mehrwert von Cloud-basierten Anwendungen.
Das Cloud Offline Capability Model erläutert sechs fachliche Stufen der Offline-Fähigkeit eines Cloud-Betriebsmodells. Zu jeder Stufe benennt es fachliche, methodische und technische Konzepte zu deren Umsetzung.
Cloud Computing
Das Cloud-Betriebsmodell sieht vor, dass Ressourcen zur Datenverarbeitung nach Bedarf bereitgestellt werden. Die Ressourcen unterteilen sich primär in Rechenleistung und Datenspeicher. Die Anwender müssen diese Ressourcen dabei nicht aktiv verwalten.
Business Information Systems
Client-Server-Anwendungen für betriebliche Informationssysteme sind eng mit betrieblichen Geschäftsprozessen verzahnt. Sie unterstützen diese oder ermöglichen sie überhaupt erst. Die Anwendungen sind darauf ausgelegt, geschäftsrelevante Daten zu erzeugen, zu bearbeiten, abzurufen oder zu löschen.
Ziel: Exceptional User Experience
Cloud-basierte Anwendungen, die explizit auf Offline-Situationen zugeschnitten sind, bieten eine herausragende Bedienerfahrung. Diese Bedienerfahrung ist nicht nur für klassische Kunden interessant, sondern auch für alle Mitarbeitende eines Unternehmens. Zufriedene Kunden sind treue Kunden, zufriedene Mitarbeitende sind produktiver.
Herausforderungen
Toggled Virtual (Private) Networks
Insbesondere Zugriffe auf firmeneigene Cloud-Umgebungen erfolgen in der Regel per VPN-Verbindung, um ein hohes Maß an Sicherheit zu ermöglichen. Ist die VPN-Verbindung ausgeschaltet, lässt sich aufgrund der aktuellen Umgebung nicht aufbauen oder sind Komponenten aufgrund unterschiedlicher Versionsstände inkompatibel, führt dies zu einer Offline-Situation.
Switched Mobile Network Cells
Verbindungsausfälle bei mobil arbeitenden Anwendern können mehrere Ursachen haben. Sind die Anwender in Bewegung, kann der Wechsel zwischen Funkzellen einen Ausfall verursachen. Aufgrund baulicher oder geologischer Bedingungen kann die Funkabdeckung zu schwach sein. Alle Anwender in einer Funkzelle teilen sich zudem die Bandbreite; auch dies kann Verbindungsausfälle oder -verzögerungen verursachen.
Failed Network Components
Zwischen dem Client und der Cloud organisieren verschiedene Komponenten die Netzwerkkommunikation. Der kurzzeitige Ausfall einer einzelnen dieser Komponenten kann bereits zum kompletten Ausfall der Netzwerkverbindung führen. Dabei müssen nicht die Komponenten selbst ursächlich sein, auch äußere Faktoren wie Stromausfälle oder mechanische Beschädigungen an der Infrastruktur sind Risiken.
Das msg Cloud Offline Capability Model
Das msg Cloud Offline Capability Model definiert sechs fachliche Stufen der Offline-Fähigkeit. Es startet mit Level 0, das gleichbedeutend mit gänzlich fehlender Offline-Kompensation ist. Level 5 bedeutet hingegen, dass die Anwendung nahezu vollumfängliche Offline-Fähigkeit bietet und für Anwendende im Grunde kein Unterschied in der Bedienung festzustellen ist.
Mit jedem nächsthöheren Level verbessert sich die Bedienerfahrung der Anwendenden. In gleichem Maße wie die Bedienerfahrung nimmt die technische Komplexität zu. Dies bedeutet, dass stets zwischen erwünschter oder erforderlicher Bedienerfahrung gegen akzeptablen oder realisierbaren technischen Aufwand abzuwiegen ist.
Eine Anwendung muss aber nie in allen Aspekten offlinefähig sein. So lassen sich einige Anwendungsfälle sinnvoll, andere gar nicht offline abbilden. Entsprechend gilt es, jeden der Anwendungsfälle individuell zu betrachten und den benötigten Grad der Offline-Fähigkeit festzustellen.
L0: Offline Unaware
Der Client kann mit Offline-Situationen nicht umgehen. Der Start der Anwendung schlägt fehl oder Operationen während der Bedienung des Clients lassen sich aufgrund eines Fehlers nicht abschließen.
Konzept, Methode, Technologie: Thin Client
L1: Offline Aware
Der Client erkennt Verbindungsausfälle aktiv und sperrt die Bedienoberfläche explizit. Zusätzlich kann er modale Fehlermeldungen oder einfache Hinweise einblenden.
Konzept, Methode, Technologie: Rich Client, Web API - Network Information API
L2: Offline Read
Während eines Verbindungsausfalls, also einer Offline-Phase, erlaubt der Client verschiedene Leseoperationen auf die lokal zwischengespeicherten Daten. Schreiboperationen sind nicht möglich.
Konzept, Methode, Technologie: Data Access Layer Proxy, Web API - Storage API
L3: Offline Read & User-Exclusive Write
Während einer Offline-Phase ermöglicht der Client atomare Leseoperationen auf alle lokal gespeicherten, Schreiboperationen aber nur auf anwenderexklusive, lokal gespeicherte Daten.
Konzept, Methode, Technologie: Data Synchronization, Last-Win Conflict Resolution
L4: Offline Read & Atomic Write
Trotz eines Verbindungsausfalls ermöglicht der Client atomare Schreib- und Leseoperationen auf sämtliche, lokal zwischengespeicherte Daten.
Konzept, Methode, Technologie: Conflict-Free Replicated Data Types (CRDT), Event Sourcing, CQRS, Optimistic Locking
L5: Offline Transactional Read & Write
Während einer Offline-Phase bietet der Client den Anwendenden nicht-atomare, transaktionale Schreibe- und Leseoperationen auf alle lokal zwischengespeicherten Daten an.
Konzept, Methode, Technologie: Saga, Compensation Pattern