Introduction à AWS Lambda

AWS Lambda est un service cloud réactif qui inspecte les actions de l'application et répond en déployant des codes définis par l'utilisateur appelés fonctions. Avant d'apprendre le sujet en profondeur, essayons d'abord de comprendre AWS Lambda à partir de deux scénarios différents.

Problème

Vous avez un projet en tête. Vous formulez l'algorithme dans votre esprit. Vous évaluez les options de pile technologique que vous pouvez utiliser pour créer votre projet. Tout se passe très bien jusqu'à ce que vous vous rendiez compte que vous devez télécharger le logiciel, les IDE, les outils requis et vous procurer un espace serveur pour servir votre code. D'accord, vous devez configurer l'infrastructure de base avant de commencer le codage réel de votre projet. Ohh, mais vous avez besoin que votre application s'exécute de manière transparente sur les ordinateurs ainsi que sur les interfaces mobiles. Cela signifie plus d'infrastructure à mettre en place avant de vous lancer dans le codage au sol.

Trop de frais généraux pour les premiers stades de développement? Trop de frais généraux pour la gestion des infrastructures alors que votre projet évolue? Votre projet dépasse-t-il les estimations de coûts? Votre attention est-elle divisée entre tout sauf le codage?

Solution - Ce sont les problèmes, mais AWS Lambda est la solution.

AWS Lambda - Informatique sans serveur

AWS Lambda vous permet d'exécuter votre code sans provisionner les serveurs et autres infrastructures de prise en charge. Vous pouvez coder dans n'importe quel type d'application ou de service backend sans vous soucier du serveur ou des DLL / logiciels de support. Il vous suffit de vous concentrer sur votre code. Reste tout est pris en charge par AWS, à commencer par la diffusion de votre code, en déclenchant votre code sur des événements spécifiques, jusqu'à la gestion de plus d'espace serveur lorsque votre code évolue.

  • AWS vous facture en fonction du temps d'exécution de votre code, en multiples de trames de 100 millisecondes. Le temps pendant lequel votre code reste inactif sur le serveur est gratuit. Quelle meilleure motivation pour écrire du code efficace!
  • Le terme «sans serveur» désigne souvent le passage au cloud. Avec le cloud, vous pouvez déléguer vos responsabilités opérationnelles à AWS et vous concentrer davantage sur la fourniture d'une meilleure expérience client via votre application.
  • Pendant ce temps, AWS gère des tâches telles que la gestion de l'infrastructure, le clustering, les correctifs, la sécurité, la maintenance du système d'exploitation, etc.

Pourquoi AWS Lambda?

Tout comme la nature humaine, il est toujours bon d'évaluer si la technologie / l'outil en vaut la peine. Voyons quelques-unes des fonctionnalités d'AWS Lambda qui facilitent la vie des développeurs.

1) Apportez votre propre code

Comme AWS se vante très affectueusement de cette fonctionnalité, Lambda vous permet de coder dans n'importe quel langage et AWS fournirait le support sous-jacent. Il prend en charge presque toutes les langues natives, les frameworks JavaScript, les bibliothèques tierces et autres.

2) Un hôte d'autres services AWS

AWS est un guichet unique pour toutes les infrastructures nécessaires. Il s'intègre facilement dans divers services tels que le stockage (S3), les bases de données (RDS, DynamoDB), les serveurs (EC2), la gestion de la sécurité (IAM), la mise en réseau (Route53, CloudFront) et bien plus encore.

3) Code personnalisé

Besoin d'écrire une logique back-end personnalisée sur mesure pour un seul client? Au lieu d'écrire la logique côté client, utilisez AWS Lambda pour écrire des services personnalisés et libérer votre code des mises à jour de la plateforme client.

4) Pay Per Use

Vous n'avez pas besoin de débourser de l'argent pour le temps que votre code reste inactif. Si votre service ne reçoit des hits que pendant la journée, ne payez que pour l'exécution de votre code. Ceci est calculé dans des délais de 100 millisecondes.

5) Mise à l'échelle automatique

AWS augmente automatiquement les ressources lorsque votre service reçoit des hits plus élevés. Vous n'avez rien à configurer pour obtenir des ressources supplémentaires. Il n'y a pas de limite au nombre de requêtes que votre code peut gérer. Ainsi, les performances restent élevées à tout moment.

6) Récupération après sinistre d'Amazon

Avec votre code et vos données répliqués sur plusieurs zones de disponibilité, toute défaillance de l'installation n'a pas d'impact sur votre application. Les demandes sont automatiquement acheminées vers une autre zone.

Commençons par le didacticiel AWS Lambda

Excité? Commençons avec AWS Lambda. Comme il s'agit d'une coutume dans le monde de la programmation, nous commencerions par un simple programme «Hello World».

Étapes préalables

Pour commencer avec AWS Lambda, vous devez disposer d'un compte AWS. Il est différent du compte Amazon que vous utilisez pour vos achats. Si vous en avez déjà un, connectez-vous à la console et passez à la section suivante. Sinon, suivez les étapes ci-dessous. Ne vous inquiétez pas, il est absolument gratuit tant que votre application ne dépasse pas la limite de niveau gratuit.

Créer un compte AWS

  • Ouvrez la console AWS. Cliquez sur Créer un nouveau compte AWS.

  • Remplissez vos informations et mettez à jour les détails de votre carte. Amazon ne vous facturera rien sauf si vous dépassez la limite d'utilisation du niveau gratuit. La limite d'utilisation du niveau gratuit est abondante pour le développement mono-utilisateur.
  • Après avoir terminé le processus d'inscription, visitez à nouveau le lien à l'étape 1. Cette fois, connectez-vous à la console avec votre nom d'utilisateur et votre mot de passe.

Entrez dans la console Lambda

Une fois connecté à la console de gestion AWS, vous verrez un lien vers les services dans le volet d'en-tête. Cliquez dessus et vous trouverez Lambda dans la sous-section Calcul .

Voici à quoi ressemble la console lambda à première vue:

Vous pouvez également parcourir le tableau de bord Lambda et voir les statistiques de votre code. Il vous donne un aperçu du nombre d'appels, de la durée d'exécution, du taux de réussite et d'erreur, etc. Un exemple de tableau de bord ressemble à ce qui suit.

Ok, donc la prochaine étape est de créer une fonction. Tous les codes dans Lambda sont appelés fonctions car, eh bien, ils effectuent une tâche spécifique. Remarquez un bouton Créer une fonction en haut à droite de la console Lambda. Ce bouton nous amènera à l'écran ci-dessous:

Création d'une fonction AWS Lambda

Voyons comment créer la fonction AWS Lambda en suivant les étapes ci-dessous.

Étape 1

Nous avons maintenant trois options, pour commencer:

  • Auteur à partir de zéro - Vous recevrez un modèle vierge et pourrez écrire votre code à partir de zéro.
  • Utilisez un Blueprint - Un modèle avec certaines bibliothèques incluses pour répondre à vos besoins. Il vous suffit de travailler sur la logique de votre code.
  • Parcourir le référentiel d'applications sans serveur - Codes intégrés prêts à l'emploi exécutant diverses fonctions. Ceux-ci peuvent également être facilement utilisés dans votre code.

Pour convenir à notre objectif de comprendre Lambda, nous commencerions par utiliser un plan. Une fois que vous êtes suffisamment confiant, vous pouvez commencer à construire votre code à partir de zéro et explorer le potentiel d'AWS Lambda.

Maintenant, cliquez sur Use A Blueprint et recherchez le mot bonjour. Les résultats suivants apparaissent. Créons notre application Hello World en utilisant NodeJS.

Étape 2

Nous arrivons maintenant à l'écran de configuration de notre fonction. Entrez un nom de votre choix et sélectionnez `` Créer un nouveau rôle à partir de modèles de stratégie AWS '' dans la liste déroulante pour le rôle d'exécution. Donnez le nom du rôle comme 'lambda_basic_execution'.

Remarque - Un rôle d'exécution définit les autorisations qu'AWS Lambda peut assumer lors de l'exécution de votre code. Une exécution de base signifie que lambda exécutera simplement le code là où aucune bibliothèque tierce n'est impliquée. Dans le cas où votre code doit interagir avec Amazon S3 ou RDS ou EC2 ou tout autre service, les autorisations appropriées pour accéder à ces services doivent être accordées à votre fonction AWS lambda.

Cliquez sur le bouton Créer une fonction en bas de l'écran. L'écran suivant apparaît sur la création réussie de votre fonction.

Remarque - L'ARN ou Amazon Resource Name est un nom unique de votre fonction. Cela peut être utilisé comme point de terminaison pour déclencher votre fonction. Les déclencheurs de la section concepteur vous permettent d'ajouter des services pouvant déclencher votre fonction. Dans chaque service qui peut déclencher votre fonction, l'ARN de votre fonction devrait être configuré. C'est comme une liaison bidirectionnelle de services. Le service de déclenchement sait qu'il doit toucher votre fonction et votre fonction est configurée pour recevoir des demandes des services de déclenchement que vous ajoutez. L'ajout de déclencheurs est le niveau suivant des didacticiels lambda et dépasse le cadre de cet article.

Étape 3

Sous la sous-section du concepteur se trouve la sous-section du code de fonction. Il s'agit de votre IDE en ligne facilité par Amazon. Cela ressemble à ceci:

  • Dans la liste déroulante Type d'entrée de code, vous pouvez choisir si vous souhaitez modifier le code en ligne ou télécharger un fichier zip depuis votre système ou télécharger un fichier zip depuis Amazon S3. Les options de téléchargement peuvent être utilisées pour des codes complexes qui peuvent être facilement modifiés dans un IDE plus performant de votre système local.
  • Le runtime est le langage / framework qui prend en charge votre code.
  • Un gestionnaire est une fonction d'invocation à l'intérieur de votre fonction lambda AWS. Votre fonction AWS lambda peut avoir plusieurs gestionnaires et vous pouvez spécifier le gestionnaire par lequel commencer l'exécution. Les gestionnaires d'images en tant que méthodes désignées pour effectuer des tâches spécifiques.

Étape 4

En haut de la page, vous verrez une bande avec quelques boutons. Cliquez sur Sélectionner un événement de test pour tester notre code. Cela vous demandera de configurer un événement de test, au cas où aucun ne serait créé.

Configurez votre premier événement de test comme celui ci-dessous:

Enregistrez l'événement test et cliquez sur Test. Vous verrez les résultats d'exécution de votre fonction.

  • Réponse - Le résultat final renvoyé par votre fonction. Notez que notre fonction a renvoyé key1.
  • ID de demande - Chaque demande à votre fonction a un identifiant de demande unique. Ces informations sont utilisées par Amazon pour suivre les demandes et générer vos informations de facturation.
  • Journaux des fonctions - La partie la plus intéressante d'AWS Lambda. Ce sont des journaux détaillés qui spécifient le début et la fin de l'exécution de votre fonction. Contrairement au débogage dans les IDE habituels, AWS Lambda s'appuie fortement sur les journaux à des fins de débogage. Ils sont également stockés dans CloudWatch pour de futures références.

Toutes nos félicitations! Vous avez réussi à créer une fonction Lambda. Mais attendez, nous ne l'avons pas encore invoqué. Nous venons de le tester à partir de notre propre environnement. Invoquons-le du monde extérieur.

Appel de la fonction AWS Lambda

Nous créerions une API REST pour appeler la fonction Lambda.

Étape 1

Accédez à Amazon API Gateway. Il peut également être trouvé sous Services -> Mise en réseau et livraison de contenu. Cliquez sur Créer une API.

Étape 2

Configurez les détails de base de votre API comme ci-dessous et cliquez sur Créer une API.

Étape 3

Votre API est maintenant créée, mais aucune méthode HTTP n'est définie dans l'API. Cliquez sur le menu déroulant Actions et sur Créer une méthode. Vous remarquerez qu'un menu déroulant plus petit apparaît dans le volet gauche. Cliquez sur GET dans cette liste déroulante. Donc, fondamentalement, nous créons une méthode HTTP GET pour notre API.

Étape 4

Configurez votre méthode GET pour invoquer une fonction lambda comme illustré ci-dessous. Vous devez spécifier l'ARN de votre fonction Lambda dans le champ Fonction Lambda. Cliquez sur Enregistrer.

Une fois votre méthode GET enregistrée, vous arriverez à l'écran d'exécution de méthode ci-dessous.

Étape 5

Maintenant, votre méthode GET est également créée. Mais nous n'avons toujours pas fourni les paires clé-valeur que nous avons faites dans notre environnement de test. Notre fonction AWS Lambda attend trois clés et valeurs. Définissons-les.

Cliquez sur demande d'intégration et faites défiler jusqu'à Modèles de mappage. Définissez votre modèle de mappage comme ci-dessous. Le type de contenu est application / json. Il s'agit simplement du format des paramètres que vous enverriez dans votre corps de demande.

L'API est maintenant prête à être déployée.

Étape 6

Cliquez sur Actions et déployer l'API. Dans la fenêtre contextuelle de déploiement, sélectionnez Nouvelle étape et donnez un nom et une description significatifs.

Vous arriverez à l'écran ci-dessous avec le point de terminaison REST de votre API configuré et prêt à l'emploi.

Cliquez sur le point final et le navigateur enverra une demande à votre fonction Lambda et affichera la réponse.

Toutes nos félicitations! Vous avez également réussi à appeler votre fonction Lambda. Tout un exploit.

Qui peut apprendre AWS Lambda

Il doit maintenant être évident que la fonction AWS Lambda nécessite un peu de connaissances sur les services, le déploiement des services, les demandes et les réponses. Il s'agit de choses de base que tout programmeur informatique doit connaître pour créer des applications Web. Si vous ne disposez pas de connaissances suffisantes à ce sujet, il est recommandé d'acquérir ces connaissances afin de garantir un codage sans tracas dans AWS Lambda.

AWS dispose également d'une documentation complète sur tous ses services. Explorez la documentation pour une compréhension plus approfondie du monde AWS.

Carrière chez AWS Lambda

Ce n'est pas seulement Lambda, mais l'ensemble du secteur Amazon Web Services est en plein essor aujourd'hui. Il existe une demande d'experts en services AWS. AWS fournit également des certifications adaptées à votre niveau d'expertise. Explorez le site Web AWS pour plus d'informations à ce sujet.

Conclusion

Maintenant que vous avez compris les bases des fonctions AWS Lambda, continuez à créer plus de fonctions et à intégrer avec d'autres services AWS. Continuez à jouer et continuez à apprendre. À votre santé!

Articles recommandés

Cela a été un guide sur ce qu'est AWS Lambda. Dans ce didacticiel sur la fonction AWS Lambda, nous avons expliqué comment configurer et déployer l'API. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Qu'est-ce qu'AWS? | Comment ça marche?
  2. Carrière chez Azure | L'éducation | Cheminement de carrière
  3. Guide des services de cloud computing
  4. Quelles sont les alternatives à AWS?
  5. Guide complet des fournisseurs de services de cloud computing

Catégorie: