Mitverfasst von Thijs de Vries und Walter van der Scheer
Wir bewegen uns auf eine serverlose Zukunft zu, eine Zukunft, in der Anwendungen in der Cloud entwickelt werden. Der serverlose Ansatz verspricht, viele der Probleme des traditionellen (Cloud-)Hostings zu lösen und gleichzeitig die neuesten technologischen Funktionen bei unendlicher Skalierbarkeit und noch nie dagewesenen niedrigen Kosten bereitzustellen. In diesem Artikel erläutern wir das Konzept von Serverless, was es ist und wie es funktioniert.
Was ist Serverless?
Serverlos bedeutet einfach, dass Sie Daten speichern und Funktionen auf einer Cloud-Plattform ausführen können, wann immer Sie wollen, während der Cloud-Anbieter den Prozess automatisch nach Ihren Bedürfnissen skaliert. Sie stellen nie zu viel oder zu wenig Kapazität zur Verfügung und der Cloud-Anbieter kümmert sich sicher um die Server, die die Funktionen ausführen.
Speicher und Rechenleistung
Beim Cloud-Hosting entfällt ein Großteil des Wartungs- und Installationsaufwands, der mit dem Hosten von Anwendungen auf Maschinen in Ihren eigenen Racks verbunden ist. Das Konzept des serverlosen Hostings hebt die Installation, Wartung und Aktualisierung von Software und Anwendungen auf eine ganz neue Ebene der Effizienz und Effektivität. Serverless ist extrem effizient, denn es ist darauf ausgelegt, Spitzenleistungen zu bewältigen, indem es unendliche Skalierbarkeit bietet.
Bei Serverless müssen Sie keine Software oder Dienste auf Ihren eigenen Rechnern installieren. Sie greifen einfach auf eine Funktion eines Cloud-Anbieters zu, der diesen speziellen Dienst als Endpunkt oder ereignisgesteuert als Teil eines Prozesses ausführt (z. B. automatische Größenänderung eines Bildes, wenn ein Benutzer ein Profilbild hochlädt). In nur wenigen Millisekunden oder weniger sorgt der Cloud-Anbieter dafür, dass Maschinen zur Verfügung gestellt werden, um die Funktion für Sie auszuführen. Neben der Speicherung gibt es auch eine wachsende Zahl von serverlosen Rechendiensten, die bewährte Technologien und Funktionen anbieten, die für einen Cloud-Anbieter einzigartig sind.
Die neueste Technologie auf Abruf verfügbar
Ein Beispiel für einzigartige Funktionen, die serverlos verfügbar sind, sind Bilderkennungsdienste. Algorithmen, die zur Erkennung von Personen in Bildern verwendet werden, werden vom Cloud-Anbieter trainiert und als serverlose Funktion zur Verfügung gestellt. Lassen Sie uns ein Beispiel betrachten. Wir haben ein Selfie-Foto aufgenommen, um den Dienst darauf zu trainieren, eine bestimmte Person zu erkennen.

Das Ziel war es, diese Person auf anderen Bildern wiederzuerkennen, wie z.B. auf dem Gruppenbild unten.

Wir haben beide Bilder in den Amazon-Dienst Rekognition eingegeben. Er lieferte uns sofort das Ergebnis mit einer 90%igen Ähnlichkeit. Alle anderen Personen auf dem Bild wurden als "andere" Personen erkannt.

Ihre eigenen Funktionen - Serverless
Natürlich ist es großartig, dass es möglich ist, das zu nutzen, was ein Cloud-Anbieter bereits aufgebaut hat. Aber es ist auch möglich, serverlose Rechendienste zu nutzen, um Ihren eigenen Code als Reaktion auf Ereignisse auszuführen. Natürlich verwaltet der Compute Service automatisch die zugrunde liegenden Rechenressourcen für Sie. Auf diese Weise können Sie andere Cloud-Dienste mit benutzerdefinierter Logik erweitern oder Backend-Dienste erstellen, die in Bezug auf Skalierung, Leistung und Sicherheit serverlos arbeiten. Bei Amazon wird dieser Dienst Lambda genannt. Google bietet mit Google Cloud Functions einen vergleichbaren Dienst an, ebenso wie Microsoft Azure mit Functions.
Diese benutzerdefinierten Funktionen ermöglichen es Ingenieuren, Anwendungen mit einer serverlosen Architektur schneller zu entwickeln. Letztendlich führt dies zu einem beschleunigten Entwicklungsprozess mit einer ereignisgesteuerten, serverlosen Compute-Erfahrung, während Sie nur für die verbrauchten Ressourcen bezahlen.

Serverlos vs. Container
Bedeutet all dies also, dass die Ära der Container völlig vorbei ist? Nein, das bedeutet es nicht, denn serverlose Funktionen sind nicht immer die beste Lösung.
Die Vorhersagbarkeit eines Prozesses
Die Entscheidung zwischen Serverless und Containern lässt sich am einfachsten treffen, wenn man sich die Art und Weise ansieht, in der die Funktionen verwendet werden.
Serverlose Funktionen sind ideal für spitzfindige Funktionen, bei denen es nicht unbedingt auf Geschwindigkeit ankommt, während Container die richtige Option für geschäftskritische Funktionen mit vorhersehbaren Prozessen sind.
Wenn Funktionen eine Zeit lang nicht verwendet wurden, können sie abgeschaltet werden. Wenn Sie dann auf diesen Endpunkt zugreifen, dauert es einige Zeit (denken Sie an Millisekunden), bis das System hochgefahren ist, was in der Computerwelt als Kaltstart bezeichnet wird. Wenn Ihr System vorhersehbare Prozesse hat, ist die Bereitstellung der richtigen Anzahl von Servern und die Verwendung von Containern wohl die beste Option. In dieser Konstellation gibt es kaum Überkapazitäten, und dennoch sind die Dienste immer verfügbar. Bei vielen Anwendungen ist die Kombination aus Containern und Serverless jedoch unschlagbar. Nehmen wir an, Sie bieten einen Dienst an, mit dem Verbraucher Konzertkarten kaufen können. Eine Kunden-"Warteschlange" muss in der Lage sein, extreme Spitzen im Datenverkehr zu bewältigen, z.B. wenn Imagine Dragons oder Taylor Swift (zwei der Top-Ten-Künstler der Billboard 100) in der Stadt sind. Serverlose Funktionen entwickeln diese Warteschlange. Wenn der Benutzer die Warteschlange durchlaufen hat und zur Ticketauswahl und Bezahlung übergeht, wird der Datenverkehr vorhersehbar. In diesem Szenario würden Container wie ein Zauberspruch funktionieren.
Die serverlose Zukunft
Durch die Verwendung von serverlosen Funktionen können Ingenieure mit einer serverlosen Architektur Anwendungen schneller entwickeln. Letztlich führt dies zu einem beschleunigten Entwicklungsprozess mit einer ereignisgesteuerten, serverlosen Compute-Erfahrung, bei der Unternehmen nur für die Ressourcen zahlen, die sie verbrauchen. Die On-Demand-Verfügbarkeit von Funktionen ist ideal für Prozesse mit schwankender Nutzung sowie für Funktionen, bei denen es nicht ausschließlich auf Geschwindigkeit ankommt.
Dieser Artikel ist Teil des Berichts Urgent Future Cloud - Ein goldenes Zeitalter.
{{cta('7e1bb41c-1580-458d-b3c3-226db4630ad7')}}

Contact




