Seidor
AWS

25 mars 2024

Automatisez votre application en utilisant le service serverless AWS Lambda

Après le jalon des conteneurs, nous avons commencé à éliminer les grandes pièces de nos applications, en remplaçant nos serveurs par des machines virtuelles, nos machines virtuelles par des conteneurs et nos conteneurs par du code "in situ".

Grâce à cela, vous pouvez atteindre le potentiel maximal de votre application en peu de temps sans vous soucier des questions opérationnelles (matériel et logiciel sous-jacent) et rendre la vie des développeurs plus facile.

Avec l'utilisation du service Serverless AWS Lambda, vous pouvez réaliser de nombreuses actions et ainsi obtenir de nombreux avantages.

Mais, qu'est-ce qu'AWS Lambda ?

AWS Lambda est une plateforme de calcul sans serveur, dirigée par des événements et fournie par AWS, qui permet d'exécuter du code sans provisionner ni gérer de serveurs en temps réel. Si vous exécutez votre application 24 heures sur 24 et 7 jours sur 7, vous serez facturé pour le temps pendant lequel les fonctions sont exécutées. Le code qui s'exécute sur AWS Lambda est appelé fonction Lambda.

Nous pouvons considérer Lambda comme une plateforme basée sur des événements qui s'exécute lorsqu'elle est activée et déclenche le code qui a été chargé dans le système.

Avec AWS Lambda, vous pouvez exécuter du code pour pratiquement tout type d'application ou de service Backend. Cette fonction est compatible avec Java, Go, PowerShell, Node.js, C#, Python et le code Ruby, qui, en outre, fournit une API d'exécution qui vous permet d'utiliser n'importe quel langage de programmation supplémentaire pour créer vos fonctions.

Cas d'utilisation de cette plateforme de calcul sans serveur

AWS Lambda est un service qui peut être idéal pour de nombreuses situations. Le code des applications doit être écrit dans les langages pris en charge et mentionnés précédemment. Voyons quelques exemples de la manière dont vous pouvez utiliser ce service pour simplifier et automatiser votre infrastructure Cloud :

  • Traitement de fichiers en temps réel : vous pouvez utiliser Amazon S3 pour déclencher AWS Lambda et traiter les données immédiatement après leur chargement. Par exemple, vous pouvez utiliser Lambda pour créer des images miniatures, transcoder des vidéos, indexer des fichiers, traiter des journaux, valider du contenu, agréger et filtrer des données en temps réel.
  • Sauvegardes automatiques : vous pouvez facilement écrire une fonction Lambda qui créera automatiquement des sauvegardes d'informations importantes. La sauvegarde peut être programmée pour s'exécuter à la fin de chaque journée. Et, si vous le souhaitez, votre système de sauvegarde peut être incrémental, différentiel, etc.
  • Personnalisation, intégration et envoi d'alertes : vous pouvez facilement créer une fonction Lambda pour vérifier les journaux depuis Cloudwatch. Lambda peut rechercher dans les journaux des événements spécifiques ou des entrées de journal au fur et à mesure qu'ils se produisent, et envoyer des notifications via SNS. Il peut s'intégrer à des applications comme Slack pour envoyer des notifications personnalisées et être surveillé avec l'envoi d'e-mails et d'appels pour des alertes sur les ressources définies.
  • Programmation de tâches : vous pouvez programmer des tâches de « démarrage/arrêt » de différentes ressources (instances RDS, instances EC2, etc.) et éliminer la nécessité d'un système de serveur traditionnel « toujours actif » derrière une application, ce qui réduira considérablement la complexité et les coûts opérationnels.
  • Lacs de données : vous pouvez configurer une fonction Lambda lors de la copie des fichiers dans S3 pour vérifier la taille du fichier qui vient d'arriver avant de l'envoyer à la couche de test via DataPipeline ou S3 upload, en plus de configurer une deuxième Lambda pour ouvrir les clusters EMR pour traiter les données et effectuer la normalisation et ETL (extraction, transformation, chargement) avant qu'elles ne soient conservées dans DynamoDB ou AuroraDB.