- Mettre les actions détaillées dans le chronogramme
Présentation du Serverless avec les Fonctions Azure : définition du Serverless, évolution des architectures (monolithique, microservice, nanoservice), provisionnement dans Azure, développement , calcul de la tarification et les bonnes pratiques.
4. aOS Noumea
28 Février 2020
Serverless signifie …
• Aucun serveur à provisioner
• Mise à l’echelle à l’usage
• Vous ne payez pas quand votre
application attend
• Disponibilité et tolérance de panne
intégré
5. aOS Noumea
28 Février 2020
Les microservices sont …
• Un ensemble de services réduits et isolés,
scalable et résilient aux pannes
• Les services s’appellent les uns les autres
pour executer une fonctionnalité
• Avantage : scale up d’un microservice
exigeant en termes de ressources par rapport
aux autres
6. aOS Noumea
28 Février 2020
En quoi le Serverless est lié au
Microsservices ?
• Le serverless s’aligne avec l’approche et les principes de conception
des microservice
• Permet une architecture Single Responsibility Principle : chaque
fonction à une responsabilité sur une partie d’une fonctionnalité,
quelle encapsule intégralement
• Le Serverless n’est pas
une “Silver Bullet”
7. aOS Noumea
28 Février 2020
Et les Fonctions Azure dans tout ça ?
• Une Fonction Azure est une App qui fait une chose, une seule chose et
qui le fait bien et c’est tout !
• Les Fonctions Azure sont des “nanoservices” serverless orienté
évènement
8. aOS Noumea
28 Février 2020
Fonctionnalités des Fonctions Azure
• Choix du langage (C#, PowerShell, Node, Python, PHP, Bash, …)
• Modèle de facturation au « paiement à l’utilisation »
• Possibilité d’utilizer ses propres dépendances (NuGet, NPM)
• Sécurité Intégrée
• Intégration simplifiée
• Développement et Déploiement flexible
• Open source
• Performant, caches et décaches rapide
9. aOS Noumea
28 Février 2020
Pour qui ?
• Toutes les entreprises n’ont pas besoin d’un scalabilité importante
• Votre entreprise peut ou non en avoir besoin, comme des micro
services
• Une chose simple pour faire une tâche simple que vous pouvez
extraire de votre application
• Exemple : envoyer des emails
• Si vous souhaitez accélérer vos développements
• Si vous souhaitez connecter des services entre eux
16. aOS Noumea
28 Février 2020
Combien cela coûte ?
• https://azure.microsoft.com/en-us/pricing/calculator/
• Gratuit jusqu’à 1 000 000 d’appels par mois !
17. aOS Noumea
28 Février 2020
Quelques bonnes pratiques de
conception
• Les Fonctions doivent faire “une seule chose”
• Les Fonctions sont « stateless »
• Les Fonctions doivent être idempotent
• Les Fonctions doivent se terminer dès que possible
18. aOS Noumea
28 Février 2020
Quelques bonnes pratiques
d’utilisation
• Réduisez, réutilisez et recyclez vos ressources
• Les Fonctions dans une Function App partage la mémoire
• Un Singleton peut être partagé en plusieurs fonctions (pool de
connextions DB, caches Redis caches, etc)
• Supprimer les objets/données de traitement dont vous n’avez plus
besoin
19. aOS Noumea
28 Février 2020
Comment démarrer ?
• Démarrer petit, remplacer 1 API ou un élément de traitement de fond
• L’intégration est un bon candidat, souvent ajouter une nouvelle
couche à de vieilles couches