Serverless Architectures

=Résumé= 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) :



Architecture serverless :



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



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=
 * https://blog.ippon.fr/2017/06/09/les-architectures-serverless/
 * https://serverless-stack.com/chapters/what-is-aws-lambda.html
 * https://www.valnaos.com/aws-azure-google-quel-cloud-choisir/
 * https://www.itforbusiness.fr/atouts-et-limites-du-serverless-computing-18219

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