Qu'est-ce que AWS Lambda Layers?

AWS Lambda est un service de calcul proposé par Amazon dans le cadre d'Amazon Web Service (AWS) , qui vous permet d'exécuter des codes backend sans gestion ni provisionnement de serveur. Seul le temps de calcul consommé est facturable, vous n'avez pas besoin de payer pendant que votre code est en cours d'exécution. AWS Lambda peut être configuré pour inclure du code et du contenu supplémentaires sous la forme de différentes couches. Une couche est une archive ZIP qui contient toutes les bibliothèques, un runtime personnalisé ou d'autres dépendances. Les couches vous permettent d'utiliser des bibliothèques dans vos fonctions sans les inclure réellement dans votre package de déploiement, ce qui facilite votre développement.

Couches AWS Lambda

AWS Lambda Partners propose ses propres couches avec les clients AWS à travers la sécurité, la surveillance et la gestion des applications.

1. Couches de sécurité

La sécurité du cloud est la priorité absolue d'AWS. C'est une responsabilité partagée entre vous et AWS en tant que sécurité du cloud et sécurité dans le cloud.

  • Sécurité du cloud: AWS est responsable des infrastructures de service AWS et s'assure que les services sont utilisés en toute sécurité.
  • Sécurité dans le cloud: le service AWS que vous utilisez détermine votre responsabilité. Les facteurs dont vous êtes responsable comprennent la sensibilité de vos données, les exigences de votre entreprise et les autres réglementations et lois applicables.

Voici des exemples de couches de sécurité des partenaires APN:

  • Protego propose le module Protego Function Self Protection (FSP).
  • PureSec aide à régir et à appliquer les meilleures pratiques de sécurité sans serveur.
  • Twistlock fournit des contrôles de sécurité avec ses couches Defender.

2. Surveillance des couches

Toutes les fonctions Lambda sont automatiquement surveillées par AWS Lambda et les métriques sont signalées via CloudWatch. Lambda suit automatiquement le nombre de demandes, le nombre de demandes entraînant des erreurs et la durée d'exécution par demande. La console AWS Lambda, la console CloudWatch et d'autres ressources AWS affichent les taux de demande et les taux d'erreur de vos fonctions Lambda. Voici des exemples de couches de surveillance des partenaires APN:

  • Datadog propose une couche d'instrumentation pour Python
  • Epsagon propose une couche qui permet le traçage distribué Epsagon.
  • IOpipe propose des alertes configurables et multidimensionnelles.
  • NodeSource offre une surveillance à faible impact pour Node.js.

3. Couches de gestion des applications

La console AWS vous aide à surveiller et à gérer les applications Lambda. Les piles AWS CloudFormation sont répertoriées dans le menu d'application avec les fonctions Lambda. Les informations suivantes sur votre application seront affichées:

  • Modèle SAM ou modèle AWS CLoudFormation - C'est le modèle qui définit votre application.
  • Ressources - Les ressources AWS définies dans le modèle de votre application. Choisissez un nom de fonction dans la liste, pour gérer les fonctions Lambda de l'application.

Voici des exemples de couches de gestion des applications des partenaires APN:

  • Serverless Framework permet aux développeurs de déployer des applications sans serveur.
  • Stackery vous affiche une liste de toutes les couches de votre compte que vous pouvez appliquer à votre fonction.

Partenaires d'API AWS Lambda Runtime

Vous pouvez sélectionner un runtime personnalisé lors de la création ou de la mise à jour d'une fonction, avec l'API Lambda Runtime. Vos propres temps d'exécution peuvent être publiés ou vous pouvez utiliser les temps d'exécution fournis par d'autres. Voici des exemples de partenaires APN qui ont pris en charge de nouvelles exécutions:

  • Alert Logic fournit des bibliothèques d'exécution pour Erlang et
  • BluAge prend en charge
  • Stackery fournit une couche d'exécution PHP.

Configurations

Vous pouvez ajouter jusqu'à 5 couches à la configuration de votre fonction, pendant ou après la création de la fonction. Les versions de couche peuvent être spécifiées et peuvent être mises à jour plus tard dans la configuration de la fonction.

Ajout d'un calque à une fonction

  • Commander:

  • Exemple

  • Vous pouvez ajouter plusieurs couches à partir du même compte que la fonction ou d'un autre compte, en spécifiant son chemin.
  • Les versions de chaque couche peuvent être spécifiées en fournissant l'ARN complet de la version de la couche.
  • Les calques précédents seront remplacés lors de l'ajout de nouveaux calques à la même fonction.
  • Spécifiez une liste vide pour supprimer tous les calques.

  • Les fonctions accèderont aux couches pendant l'exécution dans le / opt
  • La version de la dernière couche appliquée est utilisée si le même fichier apparaît dans plusieurs couches.
  • Si un calque est supprimé par son créateur, la fonction continue de fonctionner tant que la version du calque existe.

Création d'un calque

  • Commander:

  • En plus de la commande, le nom, la description, l'archive ZIP et une liste d'exécutions optionnelles compatibles avec la couche sont utilisés.
  • Exemple

  • Une nouvelle version est créée lorsque la version de couche de publication est appelée à chaque fois.
  • La commande pour trouver des couches compatibles avec le runtime de votre fonction est,

  • La commande pour voir toutes les versions d'une couche est,

  • La commande pour obtenir plus de détails sur une version est,

  • La commande pour supprimer une version de couche est,

  • Les fonctions ne peuvent pas être configurées pour utiliser des versions de couches, une fois que vous les avez supprimées.

Inclusion de bibliothèques dans une couche

Placez les bibliothèques dans des dossiers pris en charge à l'exécution pour les inclure dans une couche.

  • Java:

  • Python:

  • Rubis:

  • Tout:

Autorisations de couche

  • Pour configurer une fonction dans une couche ou pour utiliser une couche dans un autre compte, les autorisations de stratégie utilisateur du propriétaire sont nécessaires.
  • La commande pour ajouter de telles autorisations est,

  • Les autorisations s'appliquent à une seule version de la couche.
  • Des autorisations doivent être accordées à chaque fois que vous créez une nouvelle version de couche.

Conclusion

AWS Lambda propose une plate-forme native pour le cloud pour les applications de calcul à court terme, sans état et événementielles. Les couches AWS Lambda vous permettent de garder votre package de déploiement petit et de faciliter le développement. En outre, il aide à créer une infrastructure d'autogestion basée sur des règles avec moins d'erreurs et moins de temps.

Articles recommandés

Ceci est un guide des couches AWS Lambda. Nous discutons ici des différentes couches d'AWS Lambda qui incluent les couches de sécurité, les couches de surveillance et les couches de gestion des applications ainsi que ses configurations. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Qu'est-ce qu'AWS RedShift?
  2. AWS Kinesis
  3. Services AWS
  4. Qu'est-ce qu'AWS CloudFront
  5. Top 9 des comparaisons utiles entre Erlang et Haskell
  6. Concurrents d'AWS avec fonctionnalités

Catégorie: