Bevor Cloud Computing zum Mainstream wurde, warteten Entwicklungsteams ihre eigene Serverhardware und kümmerten sich selbst um Software- und Sicherheitsupdates. Das war zeitaufwendig, umständlich und teuer.
Doch dank des Aufkommens von Cloud Computing und Serverless Computing, das von Drittanbietern ermöglicht wird, können Entwicklungsteams ihre Dienste erstellen und ausführen, ohne sich um die Infrastruktur kümmern zu müssen, die diese Aktivitäten unterstützt.
Mehr dazu: Was ist eine serverlose Architektur?
So funktioniert Serverless Computing
Beim Serverless Computing wird in der Regel eine von einem Entwickler geschriebene Funktion auf Grundlage eines Triggers ausgeführt. Wenn kein Server läuft, wird einer gestartet und die Funktion ausgeführt. All das wird seitens des Drittanbieterdienstes abgewickelt.
Angenommen, Sie möchten Kundendaten überprüfen: Dazu könnten Sie Serverless Computing verwenden. Die Kunden würden ihre Dateien hochladen. Anschließend würde eine Funktion ausgeführt, die sicherstellt, dass alle Dateien eines bestimmten Kundenstapels bereitstehen, um die Struktur jeder Datei zu validieren.
Warum Serverless Computing einsetzen?
Ohne Serverless Computing müssten Sie sich selbst dann um die Wartung der Infrastruktur kümmern, wenn Sie einen virtuellen Server verwenden. Mit Serverless Computing können Sie sich dagegen auf Ihren Code konzentrieren und sicherstellen, dass er seine Aufgabe erfüllt.
Ein Drittanbieter für Serverless Computing kümmert sich um die physische Hardware, das Betriebssystem und die Verwaltung der Websoftware. Zu den Anbietern, die Serverless-Computing-Funktionen anbieten, gehören:
- Twilio Functions
- AWS Lambda
- Microsoft Azure Functions
- Cloudflare Workers
- Google Cloud Functions
Eine der beliebtesten Architekturen für Serverless Computing ist Function-as-a-Service (FaaS). Bei dieser Architektur teilen Entwickler ihren Code in separate Funktionen auf, die bestimmte Aufgaben ausführen und durch Ereignisse wie eingehende E-Mails oder HTTP-Anfragen ausgelöst werden.
Dieser Artikel konzentriert sich hauptsächlich auf diese Architektur. Die meisten Anbieter von Serverless Computing bieten jedoch auch Datenbank- und Speicherdienste an.
Mehr dazu auf TechRepublic: Die besten Lösungen für Serverless Computing
Vorteile von Serverless Computing
Die Nutzung von Cloud Computing nimmt weltweit zu, wobei sowohl kleinere Unternehmen als auch multinationale Konzerne auf diese Technologie setzen. Hier sind einige Vorteile einer Serverless-Computing-Architektur:
- Kosteneffizienz: Beim Serverless Computing zahlen Sie nur für Ihre tatsächliche Nutzung. Sie müssen also kein Geld für ungenutzte Server ausgeben.
- Effizienz: Bei einer serverlosen Architektur müssen Sie sich nicht um die Wartung von Servern kümmern. Dadurch kann sich Ihr Team ganz auf Ihre Codebasis konzentrieren.
- Skalierbarkeit: Code lässt sich problemlos entsprechend Ihrem Bedarf skalieren. Das übernimmt Ihr Anbieter.
- Verkürzte Markteinführungszeit: Da sich Ihr Team nur um die Codebasis und nicht um die Serverinfrastruktur kümmern muss, gelangen Produkte schneller auf den Markt.
Mehr dazu auf IT Business Edge: DevOps mit Serverless Computing verbessern
Herausforderungen von Serverless Computing
Obwohl der Einsatz einer Serverless-Computing-Architektur mehrere Vorteile bietet, sollten Sie bei der Entscheidung, ob diese Technologie für Sie geeignet ist, auch die damit verbundenen Herausforderungen berücksichtigen.
- Fehlende Kontrolle: Beim Serverless Computing besitzen Sie die Serverinfrastruktur nicht und haben keinerlei Kontrolle darüber. Das bedeutet, dass Hardwarefehler, Softwarefehler oder andere Probleme, die Ihren Server betreffen, Ihre Abläufe erheblich beeinträchtigen könnten.
- Mögliche Kompatibilitätsprobleme: Möglicherweise möchten Sie Cloud-Dienste mehrerer Anbieter nutzen. Theoretisch ist das möglich. Wenn Sie jedoch einen Anbieter für Ihre serverlose Architektur verwenden und dessen Funktionen mit anderen Cloud-Diensten nutzen möchten, kann es zu Kompatibilitätsproblemen kommen.
- Mögliche Leistungseinbußen: Wenn eine Funktion eine Weile nicht verwendet wurde, wird sie beendet. Wird sie erneut aufgerufen, wird die für die Ausführung des Codes benötigte Zeit vorübergehend verlängert. Dieser sogenannte Kaltstart könnte Ihre Abläufe beeinträchtigen.
Mehr dazu auf Developer.com: Serverless-Funktionen vs. Microservices
Anwendungsfälle für Serverless Computing
Generell eignet sich Serverless Computing gut für Teams, die kleinere Funktionen hosten möchten. Serverless Computing ist für mehrere Anwendungsfälle ideal, darunter:
- Triggerbasierte Aufgaben: Ein Ereignis, das auf Grundlage eines Triggers ausgeführt werden soll, eignet sich ideal für Serverless Computing. Ein gutes Beispiel dafür ist eine Willkommens-E-Mail, die versendet wird, nachdem sich ein Benutzer auf Ihrer Website für einen Dienst registriert hat.
- Asynchrone Aufgaben: Serverless Computing kann Back-End-Prozesse wie die Bildverarbeitung übernehmen, nachdem Bilder auf eine Website hochgeladen wurden.
- Erstellung RESTful APIs: Serverless Computing erleichtert die Erstellung von RESTful APIs, die Sie bei Bedarf skalieren können.
Serverless Computing zu Ihrem Vorteil nutzen
Wenn Sie normalerweise kleine Funktionen selbst oder sogar auf virtuellen Servern hosten, könnte es sich für Sie lohnen, die Vorteile einer Serverless-Computing-Lösung zu prüfen.
Sie müssen sich nicht mehr um die Wartung eigener Server kümmern und profitieren von Vorteilen wie Kosteneinsparungen, einer kürzeren Markteinführungszeit und besserer Skalierbarkeit.
Als Nächstes lesen: Die besten NAS-Lösungen für Unternehmen