Deux heures de travail par mois
Un cabinet d’expertise comptable à Rennes prépare les bulletins de paie de 300 petites entreprises. Le 28 du mois, il faut créer 4 000 PDF.
Le travail dure deux heures. Le reste du mois, le serveur loué ne fait rien. Le cabinet paie pourtant chaque heure.
À la fin de cette leçon
Remarque
Je peux dire à quels travaux convient le code sans serveur.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Sans serveur | du code lancé par le fournisseur, sans machine à gérer | |
| Fonction | un petit programme qui fait un seul travail | |
| Événement | ce qui déclenche la fonction | un fichier déposé |
| Appel | une exécution de la fonction | |
| Démarrage à froid | le délai du premier appel après une pause | |
| Durée maximale | le temps au-delà duquel la fonction est arrêtée | 15 minutes |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un événement réveille une fonction
Avec le code sans serveur, vous n’écrivez qu’une fonction. Vous ne louez aucune machine.
Un événement la déclenche : un fichier déposé, une heure fixe, une page demandée. Le fournisseur lance la fonction, elle fait son travail, puis elle s’arrête.
Vous payez chaque appel et sa durée. Sans appel, vous ne payez rien.
Essayez : une fonction et ses événements
# Une fonction sans serveur reçoit un événement et fait un seul travail.
def traiter(evenement):
salarie = evenement["salarie"]
mois = evenement["mois"]
return "Bulletin de " + salarie + " pour " + mois + " : PDF créé"
# Le fournisseur appelle la fonction à chaque événement.
# Ici, on simule trois événements à la main.
print(traiter({"salarie": "Mme Lefèvre", "mois": "octobre"}))
print(traiter({"salarie": "M. Diallo", "mois": "octobre"}))
print(traiter({"salarie": "Mme Nguyen", "mois": "octobre"}))
# Ajoutez un quatrième événement pour M. Garcia, puis relancez.
Des travaux courts et ponctuels
Le sans serveur convient aux travaux courts, lancés de temps en temps. Il convient aussi quand le trafic monte et descend sans prévenir.
Il convient mal aux longs calculs : une fonction est arrêtée après sa durée maximale, souvent 15 minutes. Il convient mal aussi à un trafic fort et régulier, jour et nuit. Un serveur loué revient alors moins cher.
Exemple travaillé : sans serveur ou non
| Travail | Sans serveur ? | Pourquoi |
|---|---|---|
| Créer un bulletin de paie à partir d’un fichier | Oui | Court, une fois par mois |
| Réduire une photo de profil envoyée | Oui | Court, déclenché par un dépôt |
| Recalculer trois heures de statistiques | Non | Plus long que la durée maximale |
| Un site très visité jour et nuit | Non | Trafic fort et régulier |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent que « sans serveur » veut dire qu’il n’y a aucun serveur. Il y en a bien. Le fournisseur les gère à votre place. Après une pause, le premier appel peut donc attendre un peu : c’est le démarrage à froid.
Un prix par million d’appels
Le fournisseur affiche souvent un prix pour un million d’appels, par exemple 0,20 €. La durée de chaque appel s’ajoute, mais elle reste faible pour un travail court.
Pour estimer un mois, divisez les appels par un million, puis multipliez par ce prix.
Exemple travaillé : à 0,20 € le million d’appels
| Appels par mois | Millions | Coût des appels |
|---|---|---|
| 4 000 | 0,004 | 0 €, presque rien |
| 500 000 | 0,5 | 0,10 € |
| 3 000 000 | 3 | 0,60 € |
| 20 000 000 | 20 | 4 € |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.