Agilität spielt nicht nur in der IT eine immer wichtigere Rolle. Dabei ist eine moderne und flexible IT-Infrastruktur unabdingbar. Im Bereich der Cloud gibt es für schnelles und effizientes Arbeiten zum Beispiel Serverless-Computing. Als Serverless-Computing bezeichnet man eine Art von Cloud-Dienst, bei dem Nutzer Anwendungen erstellen und ausführen – ohne dabei einen Gedanken an den oder die darunterliegenden Server verschwenden zu müssen.
Im Artikel „Was ist Serverless Computing?“ haben wir den Begriff Serverless-Computing und alle Möglichkeiten sowie Vor- und Nachteile bereits beschrieben. Der nun folgende Artikel beleuchtet, wie Serverless-Computing in der Umgebung des Google Cloud-Anbieters funktioniert.
Google Cloud bietet, wie viele andere Cloud-Anbieter auch, eine Serverless-Funktion an. Hierbei handelt es sich um ein skalierbares und kostenpflichtiges Function-as-a-Service-Modell (FaaS). Die Cloud Functions bieten eine einfache und intuitive Entwicklererfahrung. Der Entwickler kann sich auf das Schreiben des Codes fokussieren und der Google Cloud die operative Infrastruktur überlassen. Entwickeln Sie schneller, indem Sie kleine Codeschnipsel schreiben und ausführen, die auf Ereignisse reagieren. Stellen Sie über Trigger eine Verbindung zu Google Cloud oder Cloud-Diensten von Drittanbietern her, um schwierige Orchestrierungsprobleme zu lösen. Die Google Cloud Functions unterstützt verschiedene Programmiersprachen, darunter Python, Node.JS, GO, Ruby, Java, .NET und PHP. (Quelle)
Zu Beginn muss die Programmiersprache festgelegt werden, die verwendet werden soll. Das Einrichten wird mit dem gcloud-Kommandozeilen-Tool durchgeführt. Dann ist es einfacher, schrittweise zu beginnen: (Quelle)
Schritt 1: Neues Konto erstellen (300$ kostenloses Guthaben zum Ausführen, Testen und Bereitstellen von Workloads)
Schritt 2: In der Google Cloud-Konsole auf der Projektauswahlseite ein Google Cloud-Projekt auswählen oder erstellen
Schritt 3: Stellen Sie sicher, dass die Rechnungsstellung für Ihr Cloud-Projekt aktiviert ist
Schritt 4: Aktivieren Sie die Cloud Functions und Cloud Build APIs
Schritt 5: Installieren und initialisieren Sie das Cloud SDK
Schritt 6: Aktualisieren Sie gcloud-Komponenten
Schritt 7: Bereiten Sie Ihre Entwicklungsumgebung vor
Nach der Vorbereitung geht es richtig zur Sache. Um die Arbeit zu vereinfachen, können Sie das Beispiel-Repository auf den lokalen Rechner klonen (jede nach Entwicklungsumgebung). Wechseln Sie dann in das Beispielverzeichnis und bearbeiten Sie den Beispielcode. Um die Funktion mit einem HTTP-Trigger bereitzustellen, führen Sie den folgenden Befehl in dem Verzeichnis aus, das Ihre Funktion enthält (Beispiel):
Wenn das Deployment der Funktion abgeschlossen ist, notieren Sie sich die url-Eigenschaft des HTTPS-Triggers und besuchen Sie die URL im Browser. Es sollte „Hello World!“ sichtbar als Nachricht sein. Um die Funktion zu löschen, führen Sie den folgenden Befehl aus (Beispiel):
Cloud Function ist für kleinere Codeeinheiten gedacht, die durch Cloud-Ereignisse oder HTTP-Anfragen ausgelöst werden und nur pro Anfrage abgerechnet werden, was zu Einsparungen bei Anwendungen mit geringem oder unregelmäßigem Datenverkehr führen kann. Eine Funktion mit einem Ereignisauslöser verfügt nicht über eine öffentliche URL. Sie wird als Reaktion auf ein Ereignis innerhalb Ihres Cloud-Projekts ausgeführt. Eine Funktion kann zum Beispiel als Reaktion auf Änderungen an Daten in einer Datenbank ausgeführt werden. (Quelle)
Cloud-Funktionen werden in einer vollständig verwalteten, serverlosen Umgebung ausgeführt, in der Google die Infrastruktur, die Betriebssysteme und die Laufzeitumgebungen vollständig in Ihrem Namen verwaltet. Jede Cloud-Funktion wird in ihrem eigenen isolierten, sicheren Ausführungskontext ausgeführt, skaliert automatisch und hat einen von anderen Funktionen unabhängigen Lebenszyklus. (Quelle)
Im Vergleich zu den anderen Top-Cloud-Anbietern hat GCP Cloud Functions etwas weniger Schnickschnack, ist aber dennoch mit den beiden anderen vergleichbar. Einer der größten Vorteile von GCP ist der so genannte „Kaltstart“. Wenn eine neue Instanz ihre erste Anfrage bearbeitet, erhöht sich die Antwortzeit, was als Kaltstart bezeichnet wird. Betrachtet man die gleiche Paketgröße, so liegen AWS und GCP gleichauf, während MS Azure ein wenig zu kämpfen hat. (Quelle)
Der Funktionsumfang ist im Vergleich zu einem konkurrierenden Dienst wie AWS Lambda sehr begrenzt. Solange Google nicht mehr Ressourcen investiert und Google Functions einen höheren Stellenwert einräumt als anderen Container-basierten Diensten, wird AWS Lambda bei den Entwicklern einen höheren Stellenwert haben. Wenn Sie ein Google Cloud-Benutzer sind oder ein Spektrum von Diensten für die Bereitstellung von Microservices und Cloud-Funktionen wünschen, kann Google Functions zusammen mit Google Run, Google Kubernetes Engine und Google App Engine eine gute Wahl sein. (Quelle)
In unserer Blogreihe zum Thema „Serverless“ haben wir uns die größten Anbieter für Serverless Computing wie IBM Cloud Functions, Google Cloud und AWS Lambda genauer angeschaut.
Auch wir bei der Libelle IT Group setzen auf die Vorteile der Cloud und stellen Ihnen verschiedene Lösungen zur Verfügung. Nutzen Sie jetzt die Cloud-Editions von Libelle DataMasking (AWS / Microsoft Azure), Libelle SystemCopy (AWS / Microsoft Azure) oder Libelle CloudShadow (IBM Cloud).