Le serverless en bref
Le serverless ne signifie pas « sans serveur » mais « sans gestion de serveur ». Vous déployez du code, le cloud provider gère l’infrastructure, le scaling et la disponibilité.
Chez Lueur Externe, nous utilisons AWS Lambda pour les fonctions backend de nos projets, comme le handler de formulaire de contact de ce site.
AWS Lambda : les fondamentaux
Comment ça fonctionne
- Vous déployez une fonction (code + dépendances)
- Un événement déclenche la fonction (requête HTTP, message SQS, etc.)
- AWS provisionne un environnement d’exécution
- Votre code s’exécute
- L’environnement est libéré après inactivité
Exemple concret
// Handler de formulaire de contact
import { APIGatewayProxyEvent, APIGatewayProxyResult } from "aws-lambda";
import { SESClient, SendEmailCommand } from "@aws-sdk/client-ses";
const ses = new SESClient({ region: "eu-west-1" });
export async function handler(event: APIGatewayProxyEvent): Promise<APIGatewayProxyResult> {
const body = JSON.parse(event.body || "{}");
await ses.send(new SendEmailCommand({
Source: "noreply@lueurexterne.com",
Destination: { ToAddresses: ["contact@lueurexterne.com"] },
Message: {
Subject: { Data: `Contact: ${body.subject}` },
Body: { Text: { Data: `De: ${body.name}\nEmail: ${body.email}\n\n${body.message}` } }
}
}));
return {
statusCode: 200,
body: JSON.stringify({ success: true })
};
}
Cas d’usage pour le web
- Formulaires de contact : traitement et envoi d’emails
- API backend : endpoints REST ou GraphQL
- Traitement d’images : redimensionnement à la volée
- Webhooks : réception et traitement d’événements
- Tâches planifiées : cron jobs (monitoring SEO, génération de contenu)
Avantages
- Pas de serveur à gérer : focus sur le code
- Scaling automatique : de 0 à des milliers de requêtes simultanées
- Paiement à l’usage : facturé par exécution (pas de coût au repos)
- Haute disponibilité : multi-AZ par défaut
Limites
- Cold start : latence au premier appel (100-500 ms)
- Durée d’exécution : 15 minutes maximum
- Taille du package : 250 Mo décompressé
- État : fonctions stateless (pas de stockage local persistant)
- Debugging : plus complexe qu’un serveur traditionnel
Coûts
AWS Lambda offre un free tier généreux :
- 1 million de requêtes gratuites par mois
- 400 000 Go-secondes de compute gratuit
Au-delà : 0,20 $ par million de requêtes + 0,0000166667 $ par Go-seconde.
Pour un site comme celui-ci, le coût Lambda est quasi nul.
Bonnes pratiques
- Minimisez la taille du package (tree-shaking, dépendances légères)
- Réutilisez les connexions (SDK clients en dehors du handler)
- Utilisez des couches (layers) pour les dépendances partagées
- Configurez la mémoire de manière optimale (128-512 Mo pour la plupart des cas)
- Implémentez un retry avec backoff exponentiel
Lueur Externe conçoit des architectures serverless optimisées pour ses clients.
Conclusion
Le serverless est idéal pour les fonctions backend des sites web : formulaires, API, tâches planifiées. Il élimine la gestion d’infrastructure et réduit les coûts. Contactez Lueur Externe pour votre architecture serverless.