Introduction aux Azure Functions pour réaliser vos applications ServerLess sur la plateforme Microsoft Azure.
Slidedeck utilisé pour l'aOS Tahiti le 03/03/2020 par Julien Chable.
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
Microservices ?
• 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
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’utiliser 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
• Comme des micro services, votre entreprise peut ou non en avoir
besoin
• Si vous souhaitez accélérer vos développements
• Si vous souhaitez connecter des services/apps 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