Dans cette session, nous discuterons l'intérêt des architectures serverless. Par la suite, nous aborderons plus concrètement la mise en place avec Azure Functions & Azure Logic Apps.
La session sera accompagnée par une démonstration pratique sur des uses cases : IoT, APIs et Intégration,..et des retours d’expérience.
5. L’ÉVOLUTION DES ARCHITECTURES APPLICATIVES
MONOLITHE
1 2 3 4
MICROSERVICES
SOA SERVERLESS
1 application = 1
système
Découpage en
services
Découpage en plus
petits services
Découpage en
fonctions
7. SERVERLESS
• Function as a Service (FaaS)
– Exécution du code de votre fonction à la demande
– Paiement seulement pour le temps d’exécution de votre fonction
• Serverless = Compute + Patterns
• Les caractéristiques d’une application Serverless :
– Pas de serveurs à gérer
– Continuous scaling
– Ne jamais payer pour les serveurs inactifs (Never pay for idle)
– Utilisation de services tiers (Third party services)
8. LES PROMESSES D’UNE APPLICATION SERVERLESS
Scaling
automatique
Paiement
à l’utilisation
Abstraction
des serveurs
13. AZURE FUNCTIONS
• Azure Functions est un service de calcul qui permet d’exécuter du code à la
demande sans explicitement configurer ou gérer l’infrastructure.
– Calcul à la demande déclenché par des évènements
• Les langages de développement supportés :
– C#, F#, Node.js, Java, Python, TypeScript, PHP, Batch (.cmd, .bat), PowerShell
=
14. AZURE FUNCTIONS
• Deux plans d’hébergement:
– Plan App Service :
• Function App exécutées sur App Service plan tout comme les Web App (Basic, Standard
ou Premium)
• Gestion mise à l’échelle (horizontale, verticale)
• Paiement à la machine
• Modèle PaaS
– Plan dynamique de consommation (Dynamic) :
• Les Functions sont exécutées sur des serveurs mutualisés
• Mise à l’échelle dynamique
• Paiement à l’exécution (temps, mémoire)
• Modèle Serverless
15. AZURE FUNCTIONS - DEVELOPER EXPERIENCE & TOOLS
• Visual Studio Tools for
Azure Functions :
– Projet Visual Studio
– Debug en local
– Versionning
– Source Control (Git) & CI/CD
• Azure Functions Tools -
Extensions for VS Code
– https://github.com/johnpapa/v
scode-azure-functions-tools
18. AZURE LOGIC APPS
• Service d’intégration
– Connecter les applications : on-
premises, hybrid et cloud
– Exécuter des scénarios d'intégration
complexes avec facilité
• Orchestration de workflow
• Notions de déclencheurs et d’actions
• Passage des paramètres d’actions en
actions
• Monitoring de l’exécution de chaque étape
• Plusieurs dizaines de modèles existants
19. AZURE LOGIC APPS CONNECTORS
• Connecteurs prêts à
l’emploi
– Connecteurs mangés
par la plateforme
• API connections
– Réutilisation
– Gestion depuis le
portal
Protocols/Native
XML & EDI
Hybrid
SaaS
20. AZURE LOGIC APPS : OUTILLAGE
• Logic Apps tools for Visual
Studio
– Logic Apps designer
– Deployment templates
– Source Control & CI/CD
21. AZURE LOGIC APPS : MONITORING
• Debugging and History
• Trigger history
• Run history
• Tracking
– Azure Monitoring
– Emit core tracking events
– Send to storage or event hub
– Use TrackedProperties for your
own tracking data
• Monitoring view
• Diagnostics & Alerts
Azure
23. LE CONTEXTE
• Client : mySmartHome
– Métier de l’entreprise : Domotique & maison connectée
– Production, distribution et commercialisation de produits domotiques
• Canaux de vente :
– De la vente directe : un site web (e-commerce)
– De la vente indirecte : marketplaces (Amazon, Cdiscount,
Manomano….)
24. LE BESOIN
• Lancement d’une nouvelle offre domotique
• Les services à développer pour lancer la nouvelle offre :
– Une plateforme IoT (backend)
– Des APIs pour faciliter le développement d’applications
(web et mobile)
– Des dashboards pour le département marketing pour
suivre les ventes et la satisfaction (ou non) des clients
– ….
25. LES EXIGENCES
• Lancer la nouvelle offre rapidement
• Réduire les coûts de développement, de maintenance et
d’exploitation
• Garantir un niveau de service (SLA)
• Garantir les performances
• Faciliter la surveillance et la supervision
• Sécurité
55. Azure LOGIC APPS - FONCTIONNALITÉS AVANCÉES
• On-premises Data Gateway avec logic apps (hybrid)
– Pour accéder aux données locales, vous pouvez configurer une Data
Gateway pour les connecteurs Azure Logic Apps compatibles :
• BizTalk Server
• DB2
• File System
• Informix
• MQ
• MySQL
• Oracle Database
• SAP Application Server
• SAP Message Server
• SharePoint for HTTP only, not HTTPS
• SQL Server
• Teradata
– https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-gateway-
connection
57. AVANTAGES / INCONVÉNIENTS
Pros
- Pas de serveurs à gérer
- Évolutivité et flexibilité
- Coût plus bas*
- Moins de code
Cons
- Pas pour toutes les
applications
- Vendor lock-in*
- Décentralisation