Eine Datei, eine Adresse
Die Funktion schreibst du direkt in der Console – ein Repository oder ein Build ist nicht nötig. In
Node.js bekommst du ein gewöhnliches Request-Objekt und gibst eine Response, einen
Text oder ein Objekt zurück:
export default async function (anfrage) {
const daten = await anfrage.json();
await sendeMail(daten.email, daten.nachricht);
return { ok: true };
}
In Python ist es eine Funktion handler(anfrage), die Text, ein dict oder ein Tupel aus
Inhalt, Status und Headern zurückgibt. Nach dem Speichern ist die Funktion sofort unter
einer eigenen Adresse wie kontaktformular.apps.rechenhalle.de erreichbar.
Bezahlt wird je Aufruf
Eine Funktion, die niemand aufruft, kostet nichts. Berechnet werden die Aufrufe und die Rechenzeit in Gigabyte-Sekunden – also Laufzeit mal Arbeitsspeicher, auf die Millisekunde genau.
- 1 Million Aufrufe und 100.000 GB-Sekunden je Team und Monat frei.
- Danach 20 Cent je Million Aufrufe und 0,0017 Cent je GB-Sekunde.
- Kein Preis für den Kaltstart und keiner für die Zeit, in der eine Funktion auf den nächsten Aufruf wartet.
Aufrufe und Rechenzeit zählen zu den Monatskosten deines Teams und damit auch zur Kostenwarnung: Bei 80 und 100 Prozent deines Betrags kommt eine E-Mail. Die Funktion nimmt danach weiter Aufrufe an.
Kaltstart, warm und Grenzen
Beim ersten Aufruf startet ein abgeschotteter Container mit deiner Funktion, das dauert einen Moment. Danach bleibt er fünf Minuten warm und antwortet sofort. Kommt nichts mehr, wird er beendet.
- Arbeitsspeicher wählbar von 128 MB bis 1 GB
- Zeitlimit je Aufruf einstellbar bis 60 Sekunden
- Anfragen bis 6 MB
- Optional ein Zeitplan: alle fünf Minuten, stündlich, täglich oder wöchentlich
Häufige Fragen
Kann ich npm- oder pip-Pakete nutzen?
Noch nicht. Eine Funktion besteht aus einer Datei und nutzt die Standardbibliothek – in Node.js gehören fetch, crypto und Web-Streams dazu. Wer Pakete braucht, nimmt eine App.
Wo sehe ich, was meine Funktion tut?
Auf der Detailseite in der Console: die letzten Aufrufe mit Status und Dauer, ein Verlauf der letzten 24 Stunden und alle Ausgaben von console.log oder print unter „Logs“.
Wo läuft der Code?
Auf denselben Servern in Falkenstein, Deutschland, wie deine Apps – in einem eigenen Container je Funktion.