Pourquoi l’architecture serverless ?
Pourquoi l’architecture serverless ?
Qu’est-ce que le serverless ?
Serverless ne signifie pas “sans serveur”. Les serveurs existent toujours, mais leur gestion est entièrement déléguée au fournisseur cloud (AWS Lambda, Azure Functions, Google Cloud Functions).
Le principe : des fonctions exécutées à la demande, déclenchées par des événements spécifiques.
Exemple concret
API de notifications push :
- Classique : Serveur qui écoute en permanence, consomme des ressources même avec 0 notification
- Serverless : Fonction envoyerNotification() se déclenche uniquement quand une notification doit être envoyée
Résultat : Pas de serveur inactif, pas de coûts inutiles.
Les 4 avantages clés
1. Zéro gestion d’infrastructure
Le cloud gère tout : serveurs, sécurité, maintenance. Vous vous concentrez sur le code métier.
2. Scalabilité automatique
De 10 à 100 000 utilisateurs ? Le système s’adapte instantanément.
3. Paiement à l’usage
- Serveur classique : 50€/mois même inactif
- Serverless : 0,50€ pour 1000 exécutions
4. Développement accéléré
Plus d’infrastructure à configurer = plus de temps pour les fonctionnalités.
Les limites à connaître
-
Cold Start : Première exécution plus lente (quelques ms à plusieurs secondes). Problématique pour les apps ultra-réactives.
-
Durée limitée : Maximum 15 minutes par fonction sur AWS Lambda. Inadapté aux longues tâches.
-
Vendor Lock-in : Dépendance au fournisseur. Solution : frameworks comme Serverless Framework ou Terraform.
Exemple pratique : Traitement d’images
// Fonction AWS Lambda de redimensionnement
exports.handler = async (event) => {
const image = downloadFromS3(event.bucket, event.key);
const resizedImage = await resizeImage(image, 300, 200);
await uploadToS3(resizedImage, 'resized-bucket', event.key);
return { status: 'Processing complete' };
};
Flux :
- Image uploadée → S3 déclenche la fonction
- Traitement en 100ms
- Paiement uniquement pour ces 100ms
Quand utiliser le serverless ?
Parfait pour :
- APIs et microservices
- Traitement événementiel
- Trafic imprévisible
- Automatisation
Éviter pour :
- Applications monolithiques
- Processus longs (>15min)
- Trafic constant et prévisible
- Besoin de contrôle hardware
L’écosystème 2024
Providers principaux :
- AWS Lambda : Le plus mature
- Azure Functions : Intégration Microsoft
- Google Cloud Functions : Idéal avec Firebase
Frameworks de développement :
- Serverless Framework : Multi-cloud, le plus populaire
- AWS SAM : Spécifique AWS
- Terraform : Infrastructure-as-code
Conclusion
Le serverless représente un changement de paradigme fondamental. Adoptez-le si vous voulez :
- Innover rapidement
- Réduire les coûts d’infrastructure
- Gérer des charges variables
- Vous concentrer sur le métier
Ce n’est pas magique, mais pour de nombreuses organisations, c’est le chemin le plus direct vers l’agilité cloud native.
Ressources pour aller plus loin
Livres recommandés
- “Serverless Architectures on AWS” - Peter Sbarski
- “Learning Serverless” - Jason Katzer
Podcast
Spotify : Épisode avec Stephen Liedig sur l’évolution du serverless