Serverless Architectures

From air
Jump to navigation Jump to search

Résumé

logo AWS

Le serverless est une technologie assez récente. Différents acteurs ont émergés ces dernieres années, dont AWS, le plus connu. D'autres ont suivi comme Microsoft Azure, Google cloud platform, ou encore IBM. Ce type d'architecture permet de s'abstenir de la gestion des serveurs. En effet il n'y a plus besoin d'employés pour maintenir, mettre à jour, gérer les serveurs etc. De plus Cela permet un gain non négligeable de temps et d'argent, surtout pour les petits projets.

Abstract

Serverless is a relatively new technology. Various actors have emerged in recent years, including AWS, the best known. Others followed, such as Microsoft Azure, Google Cloud Platform, or IBM. This type of architecture allows you to avoid server management. Indeed, there is no longer any need for employees to maintain, update, manage servers etc. In addition, this saves a significant amount of time and money, especially for small projects.

Le principe du serverless

Architecture d'un site E-commerce

Architecture normal (3-tiers) :

Serveur.png


Architecture serverless :

Serverless.png


Dans la première image nous pouvons voir une architecture "basique" 3-tiers composé d'un front-end qui s'éxecute sur le browser, d'un back-end sur le serveur et d'une base de donnée.

Dans le deuxième cas, il s'agit d'une architecture serverless basée sur les services fournis par le fournisseur cloud tel que S3(stockage), cognito(IAM) ou encore Lambda(fonctions) pour AWS.

Les différents services proposés

  • Gestion de base de donnée
  • Autentification
  • Fonctions
  • Stockage
  • Machine virtuelle
  • Et bien d'autres encore

Le service FaaS

Exemple de fonction Lambda

Lambda.png

Chaque fonction est empaquetée dans un conteneur. Cela permet d'être resistant à la charge, c'est a dire que les fonctions sont toujours disponible quelque soit le nombre de client faisant des requêtes.

Les fonctions peuvent être développés en différents langages tels que node.js, python, C#, java ...

Comparaison des fournisseurs cloud

AWS

Premier sur le marché

  • Large offre de services
  • Domine le marché
  • Grosse expérience dans le domaine

Azure

Second sur le marché

  • Les entreprises sont souvent liées à Microsoft

Google

Troisième sur le marché

  • Peu cher
  • Plus performants que les autres sur ce qui touche au machine learning

Avantages / Inconvénients

Avantages:

  • Optimiser le développement
  • Meilleurs qualité de code
  • Gérer les montées en charges
  • Economique :
  • pas de coûts d’achats de matériel
  • pas de coûts de maintenance
  • économie dû aux ressources inutilisés (serveurs qui tournent pour rien)
  • pay-as-you-go

Inconvénients:

  • Latence dû à l’optimisation des ressources
  • Dépendant de la plateforme :
  • Économiquement
  • Sécurité
  • Panne


Sources


VT2019

  • Année : VT2019
  • Sujet : Serverless Architecture
  • Auteurs : TRESTOUR Grégory, RIVOIRE Antoine