Serverless FirstSpirit mit Google Cloud

Veröffentlicht am 08.04.2019

FirstSpirit und Google Cloud? Das geht! In diesem Artikel möchte ich anhand der Google Cloud Platform kurz umreißen, welche Features wir als Entwickler nutzen können, um FirstSpirit in der Cloud serverless zu betreiben.

Rafael Lopes das Dores

Consulting and Development

Immer mehr Dienste gehen von einem On-Premise über zu einem SaaS-Geschäft. Auch FirstSpirit als vorgenerierendes Content Management System lässt sich ideal in der Cloud betreiben. Das umfasst die Steuerung des Redaktionssystems, der dazugehörigen Datenbank und auch des Livesystems. Es werden keine eigenen Application- und Webserver benötigt. Schauen wir uns das ganze anhand einiger Dienste an.

Google Cloud Platform

Die Google Cloud Platform (GCP) ist eine große Sammlung verschiedenster Dienste zu den Themen Computing, BigData, Storage, AI und vielen anderen. Es folgt eine kurze Erläuterung der verschiedenen Google-Dienste, die für die Realisierung dieses Konzeptes verwendet werden:

Google Compute Engine

Das Kernstück der Architektur bietet eine sogenannte Compute Engine. Das sind einfach ausgedrückt virtuelle Maschinen, die von Google auf einem Cluster betrieben werden. Diese gibt es mit verschiedenen Betriebssystemen vorkonfiguriert und werden nach Nutzungskontingent berechnet. Das heißt: Läuft das System acht Stunden, zahlt man auch nur für genau diese Zeit. Dadurch eignet sich die Compute Engine ideal als Redaktionssystem für ein vorgenerierendes System wie FirstSpirit. Nur wenn Redakteure akut mit dem Erstellen von Inhalten beschäftigt sind, muss die Maschine gestartet sein, da sie nicht mit dem Livesystem in Verbindung steht. Dadurch lassen sich Betriebskosten und Wartungsaufwand deutlich reduzieren.

Google Cloud - SQL

Mit diesem Dienst lassen sich unterschiedliche SQL Datenbanken per Knopfdruck zur Verfügung stellen. Wir benötigen eine relationale Datenbank für FirstSpirit, um mit den CMS internen Datenquellen arbeiten und strukturierte Inhalte speichern zu können. Derzeit stehen hier die jeweils aktuellen Versionen von MySQL und PostgreSQL zur Auswahl. Google kümmert sich vollständig um den Betrieb und die Wartung der Infrastruktur, sodass keine zusätzliche Administrationsarbeit anfällt. Wir müssen lediglich die Datenbankbenutzer anlegen und ihre Rechte verwalten.

Google Firebase - Hosting

Firebase nutzen wir hier für die Auslieferung unserer statischen Inhalte, die vom CMS bereitgestellt werden. Mit diesem Dienst können außerdem Domains verwaltet, Live-Funktionalitäten angeboten und die Authentifizierung gesteuert werden. Dabei werden sicherheitsrelevante Features wie SSL standardmäßig vom System konfiguriert. Wir kümmern uns lediglich darum, dass die Inhalte aus dem CMS aufbereitet in ein dediziertes Hosting-Verzeichnis geschrieben werden. Dafür nutzen wir ein eigens-geschriebenes FirstSpirit Java Modul, um den Abgleich durchzuführen.

FirstSpirit Google Cloud Platform
FirstSpirit eingebettet in die Architektur der Google Cloud Platform

Google Cloud: Pub/Sub

Hinter diesem Namen verbirgt sich Googles eigene Nachrichten Middleware. Damit können verschiedene Instanzen oder Dienste miteinander über Messages kommunizieren. Wir nutzen diese in unserem Fall dafür, mit einem Trigger die VM-Instanz des FirstSpirit Servers zeitgesteuert zu starten und herunterzufahren. Die Nachricht wird dabei durch Pub/Sub übermittelt.

Google Cloud Functions

Der Name ist in diesem Fall selbsterklärend: Cloud Functions ist ein Functions-as-a-Service-Dienst. Hier können Funktionen jeglicher Art und in verschiedensten Programmiersprachen implementiert werden. Auch die Auswahl an möglichen Triggern, um die Funktion auszulösen, ist groß. So kann entweder direkt per HTTP/HTTPS darauf zugegriffen werden oder man nutzt eine Nachrichten-Middleware wie das oben genannte Pub/Sub. Hier sind bei uns die Funktionen zum Starten und Stoppen der FirstSpirit VM hinterlegt.

Google Cloud: Scheduler

Mit dem Scheduler lassen sich über UNIX-Cronjobs zeitgesteuert Cloud-Funktionen ausführen. Es ist somit der letzte Baustein in unserem Start-/Stopp-Konzept für den automatisierten Betrieb eines FirstSpirit Servers. Sobald ein Job angestoßen wird, führt dieser die jeweils ausgewählte Cloud-Funktion zum Starten oder Stoppen des Servers aus. In unserem Fall starten wir an Wochentagen regelmäßig um 8:00 Uhr das Redaktionssystem und fahren es um 19:30 Uhr wieder herunter.

facebook icon twitter icon xing icon linkedin icon
© 2019 aboutcontent GmbH