Fermer

juin 16, 2022

Infrastructure sans serveur AWS et opérations CRUD avec NodeJS

Infrastructure sans serveur AWS et opérations CRUD avec NodeJS


Une architecture sans serveur est un moyen de créer et d’exécuter des applications et des services sans avoir à gérer l’infrastructure. Votre application s’exécute toujours sur des serveurs, mais toute la gestion des serveurs est effectuée par AWS. Le framework sans serveur est une boîte à outils pour créer, déployer des fonctions sans serveur comme AWS Lambda, publier le message dans SNS, envoyer un message à SQS, stocker le message dans DynamoDB, etc. Cela peut être utilisé sur plusieurs fournisseurs de cloud. Non limité à AWS. AWS gère toutes les tâches back-end telles que le calcul, les bases de données, le stockage, le traitement et bien d’autres, ce qui permet à l’utilisateur de se concentrer sur son programme.

Node.js est un environnement d’exécution open source et multiplateforme pour le développement d’applications côté serveur et réseau. Les applications Node.js sont écrites en JavaScript et peuvent être exécutées dans le runtime Node.js sur OSX, Microsoft Windows et Linux.

Prérequis:

  • Peu de choses doivent déjà être configurées :
  • Télécharger le code NodeJS Dépôt GitHub

Flux de travail d’infrastructure sans serveur AWS :

Le workflow sans serveur est un service cloud entièrement géré qui coordonne les tâches distribuées. Dans le flux de travail sans serveur, vous pouvez orchestrer des tâches distribuées en séquence, en branches ou en parallèle. Sur la base des étapes définies, le flux de travail sans serveur coordonne de manière fiable les exécutions de tâches, suit la transition d’état de chaque tâche et exécute la logique de nouvelle tentative définie par l’utilisateur si nécessaire pour assurer le bon déroulement de notre flux.

Architecture

Configuration:

  • Le framework Serverless est facile à installer. Tout d’abord, vous avez besoin d’une version d’exécution Node.js12.x prise en charge par AWS Lambda. Vous voudrez également vous assurer que votre environnement local est aussi proche que possible de l’environnement de production. Installez maintenant l’environnement d’exécution Node.js 12.x ou basculez entre les versions de Node.js :

$ nvm installer v12.x

  • Maintenant que vous disposez de l’environnement d’exécution Node.js, procédez à l’installation globale de l’interface de ligne de commande du framework sans serveur :

$ npm install -g sans serveur

  • Vérifiez que la version installée du framework sans serveur :

$ version sans serveur

  • Créer un modèle sans service avec nodeJS

$ création sans serveur -template serverless-aws-infrastructure

Par défaut, les fichiers suivants sont générés à l’aide de la commande de modèle sans serveur.

├── gestionnaire.js

└── sans serveur.yml

Amazon Web Services - Évitez les pannes du centre de contact : planifiez votre mise à niveau vers Amazon Connect

Maintenant, handler.js est la fonction Lambda qui contient du code passe-partout ou votre logique métier. C’est là que notre logique demeure. Le fichier serverless.yml contient votre définition d’API et d’autres ressources.

Structure des dossiers

  • Apportons quelques modifications à serverless.yml. Nous allons changer la propriété d’exécution en nodejs12.x. Ensuite, nous ajouterons une nouvelle propriété, région, à l’objet fournisseur qui déploiera l’application dans la région que nous spécifions dans le serverless.yml. Ajoutez également le déploiement intermédiaire comme test, dev ou prod etc.

Yml sans serveur

  • L’application est maintenant prête à être déployée :

$ déploiement sans serveur – stade de développement – ​​région us-east-1

Le Serverless Framework va maintenant tout regrouper dans un seul bundle et créer un fichier CloudFormation à partir du sans serveur.yml et placez-le dans le compartiment AWS S3. Une fois les ressources créées et le code déployé, vous verrez la sortie dans votre console/terminal. L’important est de noter les points de terminaison.

Console de déploiement

  • Nous pouvons supprimer le déploiement à l’aide de la commande suivante :

$ supprimer sans serveur –stage dev –region us-east-1

Avantages des applications sans serveur :

  • Les applications sans serveur sont mises à l’échelle à la demande en fonction du nombre de ressources nécessaires pour gérer les requêtes, il n’y a donc pas lieu de craindre un plantage lorsque vous obtenez des augmentations soudaines de trafic.
  • Des requêtes simultanées sont déclenchées dans de nouvelles instances de conteneur
  • Les mises à jour ou correctifs de sécurité sont gérés pour nous
  • Vous pouvez écrire du code, et lorsque vous avez terminé avec tout, vous pouvez immédiatement déployer le système, et il sera disponible dans le monde entier en quelques minutes. Ainsi, aucun effort n’est nécessaire pour créer et gérer des serveurs.
  • Cycle de déploiement plus rapide exécuté via une seule commande, « déploiement sans serveur »
  • Serverless offre une abstraction pour l’infrastructure cloud
  • Vous pouvez choisir les paramètres appropriés selon les exigences de votre produit, ne payant ainsi que pour les fonctions que vous utilisez.

Comment tester les points de terminaison pour le fonctionnement CRUD :

  • Configurer l’autorisation : -nous devons configurer l’autorisation dans Postman avec l’ID client et le secret client du compte AWS

Configuration des informations d'identification

  • Configurer l’API POST pour envoyer un message dans DynamoDB

Post-API

  • Configurer l’API GET pour récupérer les messages de DynamoDB

Obtenir l'API

Vue Dynamodb

Sommaire:

Pour établir l’infrastructure AWS et effectuer des opérations CRUD, nous avons créé un projet NodeJS en utilisant le framework sans serveur.

Des instructions simples sont données pour installer NodeJS et NPM localement, ainsi que l’approche la plus simple pour configurer un framework sans serveur à l’aide de commandes.

Une fois que nous avons terminé la configuration de la configuration, nous pouvons utiliser la commande pour créer un modèle NodeJS, puis nous pouvons ajouter notre logique métier à AWS Lambda.

Pour créer des ressources AWS et exécuter des fonctions principales, notamment le calcul, les bases de données, le stockage, le traitement, l’évolutivité et la surveillance, utilisez le fichier serverless.yml.

Une fois que nous avons le fichier yml et le code logique prêts, nous pouvons utiliser la commande pour le déployer sur AWS, ce qui générera la pile et les ressources CloudFormation.

En conséquence, il nous fournit les points de terminaison du terminal. La plate-forme API Postman peut être configurée pour exécuter des tâches CRUD à l’aide des mêmes API.

Suivez ces étapes simples pour démarrer avec AWS sans serveur et effectuer des opérations CRUD.

A propos de l’auteur

Shishir Meshram est consultant technique senior chez Perficient Inc. Avec plus de 7 ans d’expertise en développement Java et AWS Cloud. Il est un développeur associé certifié AWS. Il aime explorer de nouveaux endroits aventureux et est un voyageur.

Plus de cet auteur






Source link