The Doppler Quarterly (DEUTSCHE) Frühjahr 2018 | Page 52
wird. Bei Nutzung eines Container-Ansatzes sollte sich die Geschäftslogik
außerhalb der Datenbank befinden, um die Skalierung unabhängig von anderen
Anwendungsfunktionen zu ermöglichen und Flexibilität bei der Auswahl des
Datenspeichers, der verwendet werden soll, zu erlauben. Die Geschäftslogik
sollte im Idealfall mit anderen Aspekten der Anwendungsfunktionalität über ein
Publish/Subscribe-Modell verknüpft werden. Dadurch ist Skalierbarkeit auf ver-
schiedenen Ebenen der Anwendung möglich, wenn sich die Workloads
weiterentwickeln.
Lektion 3 – Der Anwendungsstatus sollte niemals in Containern gespeichert
werden. Container sind flüchtige Ressourcen, die nicht zum Speichern persis-
tenter Informationen verwendet werden können. Stattdessen sollte eine Daten-
speicherebene genutzt werden, um den Status zu verfolgen, der für das Manage-
ment von Workflows und der Benutzererfahrung notwendig ist.
Lektion 4 – Messaging und Workflow sollten von Services außerhalb der Con-
tainer und der Anwendungslogik gesteuert werden. So wird sichergestellt, dass
Services unabhängig von der Anwendungsfunktionalität weiterentwickelt und
skaliert werden können. Diese Vorgehensweise erlaubt außerdem eine zuverläs-
sigere Verarbeitung von erneuten Versuchen nach Fehlern.
Diese Lektionen zeigen, wie wichtig es ist, die zwei zentralen Cloud-Grundsätze
bei der Migration von Containern in die Cloud zu berücksichtigen: die Trennung
von Rechenleistung und Speicherkapazität und die Aufteilung monolithischer
Anwendungen in kleinere, lose verbundene Funktionsmodule. Zudem bieten
Container die Möglichkeit, Ressourcen bei Bedarf zu implementieren und wie-
der zu entfernen, wenn sie nicht mehr benötigt werden. Damit und mit den
genannten Lektionen können Architekturen bereitgestellt werden, in denen die
Vorteile von Cloud und Containern kombiniert sind.
Werden cloudbasierte Datenservices genutzt, um den persistenten Datenspei-
cherbedarf von Containern zu erfüllen, lassen sich die wichtigsten Nachteile von
„Daten im Container“ (keine unabhängige Skalierung), Docker-Volumes (die an
bestimmte Maschinen gebunden sind) oder der Erstellung von „Datencont-
50 | THE DOPPLER | FRÜHJAHR 2018