Application web - Architectures à plusieurs niveaux sans serveur AWS avec Amazon API Gateway et AWS Lambda

Application web

Modèle architectural d'une application web

Tableau 3 : composants de l'application web

Niveau Composants
Présentation

L'application frontend est constituée de tout le contenu statique (HTML, CSS, JavaScript et images) qui est généré par des utilitaires React tels que create-react-app. Amazon CloudFront héberge tous ces objets. L'application web, lorsqu'elle est utilisée, télécharge toutes les ressources sur le navigateur et commence à s'y exécuter. L'application web se connecte au backend en appelant les API.

Logique

La couche logique est construite à l'aide de fonctions Lambda gérées par les API REST API Gateway.

Cette architecture présente plusieurs services exposés. Il existe plusieurs fonctions Lambda différentes, chacune gérant un aspect différent de l'application. Les fonctions Lambda se trouvent derrière API Gateway et sont accessibles à l'aide de chemins d'URL d'API.

L'authentification des utilisateurs est gérée à l'aide de groupes d'utilisateurs Amazon Cognito ou de fournisseurs d'utilisateurs fédérés. API Gateway utilise l'intégration prête à l'emploi avec Amazon Cognito. Ce n'est qu'après l'authentification d'un utilisateur que le client reçoit un jeton JSON Web Token (JWT) qu'il doit ensuite utiliser lors des appels d'API.

Chaque fonction Lambda se voit attribuer son propre rôle IAM afin de fournir un accès à la source de données appropriée.

Données

Dans cet exemple particulier, DynamoDB est utilisé pour le stockage des données, mais d'autres bases de données ou services de stockage Amazon spécialement conçus peuvent être utilisés en fonction du cas d'utilisation et du scénario d'utilisation.