Dreißig Stundenzettel pro Tag
Ein Handwerksbetrieb lässt Mitarbeitende ihren Stundenzettel als Datei hochladen. Jede Datei muss geprüft werden, etwa ob jemand mehr als 12 Stunden eingetragen hat.
Dafür einen Server rund um die Uhr zu mieten, wäre Verschwendung. Es sind 30 kurze Aufgaben am Tag. Hier hilft Serverless.
Am Ende dieser Lektion
Notiz
Ich kann sagen, wofür Serverless-Code gut geeignet ist.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Serverless | Code läuft nur bei Bedarf, ohne dass Sie einen Server verwalten | |
| Funktion | ein kleines Stück Code mit einer Aufgabe | |
| Ereignis | etwas, das die Funktion auslöst | eine hochgeladene Datei |
| Aufruf | ein einzelner Lauf der Funktion | |
| Kaltstart | die Verzögerung beim ersten Aufruf nach einer Pause |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Funktion läuft, wenn etwas passiert
Bei Serverless laden Sie eine Funktion hoch, ein kleines Stück Code. Der Anbieter startet sie, sobald ein Ereignis eintritt, zum Beispiel eine hochgeladene Datei.
Jeder Lauf heißt Aufruf. Server gibt es natürlich auch. Sie kümmern sich nur nicht darum, der Anbieter tut es.
Ausprobieren: eine Funktion mit einem Ereignis
# Eine Serverless-Funktion ist eine gewöhnliche Funktion.
# Der Anbieter ruft sie auf und übergibt die Angaben zum Ereignis.
def verarbeite(ereignis):
datei = ereignis["datei"]
stunden = ereignis["stunden"]
if stunden > 12:
return "Prüfen: " + datei + " hat mehr als 12 Stunden"
return "In Ordnung: " + datei
# Zwei erfundene Ereignisse, so wie der Anbieter sie schicken würde.
print(verarbeite({"datei": "zettel/mueller-montag.csv", "stunden": 8}))
print(verarbeite({"datei": "zettel/schmidt-dienstag.csv", "stunden": 14}))
# Fügen Sie ein drittes Ereignis hinzu: zettel/weber-mittwoch.csv mit 7 Stunden.
# Drücken Sie dann Run.
Kurz und unregelmäßig passt, lang und gleichmäßig nicht
Serverless passt zu kurzen Aufgaben, die mal oft und mal gar nicht kommen: Dateien prüfen, Mails verschicken, Meldungen anderer Dienste annehmen.
Es passt schlecht zu langen Aufgaben, denn jede Funktion hat ein Zeitlimit, oft nur wenige Minuten. Und bei gleichmäßiger Last rund um die Uhr ist ein dauerhaft laufender Server meist billiger.
Passt Serverless?
| Aufgabe | Passt? | Grund |
|---|---|---|
| Stundenzettel beim Hochladen prüfen | Ja | Kurz und unregelmäßig |
| Nachts 3 Stunden Daten umrechnen | Nein | Länger als das Zeitlimit |
| Webseite mit Last den ganzen Tag | Eher nein | Ein Server ist billiger |
| Bestätigungsmail nach Anmeldung | Ja | Kurz, von einem Ereignis ausgelöst |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein häufiger Fehler
Warnung
Viele denken, Serverless sei immer die billigste und schnellste Lösung. Das stimmt nicht. Nach einer Pause braucht der erste Aufruf etwas länger, der Kaltstart. Bei Millionen Aufrufen am Tag kann ein eigener Server günstiger sein.
Sie zahlen pro Aufruf
Der Anbieter rechnet nach der Zahl der Aufrufe und ihrer Laufzeit ab. Meist gibt es eine Freimenge pro Monat, etwa eine Million Aufrufe gratis.
Ein kleiner Betrieb bleibt so oft bei null Euro. Die Zahlen hier sind erfunden, und die Aufgabe rechnet vereinfacht nur die Aufrufe. Prüfen Sie immer die aktuelle Preisliste.
Beispiel: 3 Millionen Aufrufe im Monat
| Posten | Aufrufe | Preis |
|---|---|---|
| Aufrufe insgesamt | 3.000.000 | |
| Freimenge | 1.000.000 | 0 Cent |
| Berechnet | 2.000.000 | 40 Cent bei 20 Cent je Million |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.