CMS für die Cloud
Wenn du dich mit dem Thema Cloud beschäftigst, ist Neos CMS einen Blick wert.
Es wurde für die Cloud gebaut.
Seine entkoppelte Architektur ist prädestiniert für
verteilte Dienste, nicht-persistente Dateisysteme und natürlich Skalierbarkeit.
Cloud Bestandteile
Was bedeutet "Cloud Readiness"?
Der Betrieb eines CMS in der Cloud kann recht kompliziert sein, insbesondere bei einem Container-Setup. Unserer Erfahrung nach gibt es einige Probleme, die angegangen werden müssen, damit die Vorteile voll zum Tragen kommen.
Natürlich ist Cloud in erster Linie auf Skalierbarkeit zurückzuführen. Aber bei der Skalierung treten einige Probleme auf. Denke über die gemeinsame Nutzung deines Dateisystems über Container, Protokollierung, Metriken usw. nach. Wie geht Neos mit diesen Herausforderungen um?
Die gemeinsame Nutzung von Dateien über Instanzen hinweg sollte auf jeden Fall vermieden werden. Jede einzelne Instanz muss in sich geschlossen und unabhängig sein. Cloud impliziert auch, dass kein persistentes Dateisystem zur Verfügung steht, daher sind Umgebungsvariablen das Mittel der Wahl. Neos löst diese Probleme - ein lose gekoppeltes Asset-Management mit einer Vielzahl an Adaptern - Plugins müssen von dieser Tatsache nichts wissen.
In einer ephemerischen Umgebung ist das Wissen, wo genau ein Fehler aufgetreten ist, die Grundlage für sauberen Betrieb und effiziente Fehlersuche. Mit Neos kannst du dich um das Logging über Instanzen hinweg kümmern, da es vollständig PSR-3-kompatibel ist und mit geeigneten Backends, z.B. JSON für deinen ELK-Stack oder Diensten wie papertrail läuft.
Neos bietet eine Vielzahl moderner Web-Mikrodiensten an, die perfekt zu modernen (progressiven) Webanwendungen in Kombination mit statischen Marketinginhalten passen. Beginnend mit der Authentifizierung (oAuth2, openID Connect), seinen PSR-7-kompatiblen HTTP-Stack- und RESTful-APIs und GraphQL, punktet es heute bei vielen Entwicklern.
Server
Um Security-Management in der Cloud muss man sich proaktiv und permanent kümmern - ansonsten ist die potenzielle Angriffsfläche viel breiter als in nicht-Cloud-Szenarien: Replizierung repliziert schließlich auch Schwachstellen. Das gilt für die Systemumgebung, aber auch für deine Anwendung. Neos bietet dir sehr defensive Sicherheitsmechanismen, die für jeden Funktionsaufruf eine explizite Genehmigung verlangt und über eine Eingabevalidierung verfügt.
Wenn möglich, lassen sich Dienste in Neos entkoppeln. Es gibt eine Vielzahl von Funktionen, die auf unterschiedlichen Nodes ausgeführt werden können. Dies gilt für Elasticsearch, Redis, MessageQueues, Mails - und sogar für Metriken, die bei der Überwachung deiner Systeme helfen. All dies kann von deiner eigentlichen Neos-Umgebung getrennt und auf verschiedenen Nodes ausgeführt werden. Das kommende Event Sourced Content Repository bietet einen weiteren separierbaren Dienst.
JobQueue
Fazit
Es ist eine echte Herausforderung, ein CMS in der Cloud zu betreiben. Neos bietet dir eine große Vielfalt an Lösungen und fühlt sich der Cloud zu Hause.