Quels scénarii ? Quelle infrastructure derrière ? Quel développement ? Quelles options d’intégration ?Passons en revue – avec leur similitudes et différences - les options principales d’implémentation des APIs dans Azure, Azure Functions et API Apps.
4. Couche APIs
Architecture centrée autour des APIs
Applications mobiles Applications web
Applications clientes
natives
Objets connectés
Applications
d’entreprise
Applications
partenaires
Scénarii d’APIs : au cœur des archis SI
6. Concepts autour des architectures serverless
Ou full of servers?
Cloud
Evénements
Evénements
Evénements
CODE
Il n’y a plus la notion de
serveur.L’infrastructure supportée par les serveurs est abstraite.
Adaptation à la charge : gestion automatique de la scalabilité
Les nouvelles métriques plus pertinentes :
• les événements,
• la durée d’exécution
Déploiement simple sans contraintes d’infrastructure :
introduit de nouveaux niveaux de développement
7. La plateforme Cloud Microsoft Azure
Open and hybrid
Data-driven intelligence
Trust
App innovation
11. Fonctionnalités
API Apps
APIs déployées sans modifications de code
APIs cloud ou hybridation on-premises
Plateforme managée (PaaS) Hautement
disponible
Métadonnées Swagger
SSL, domaines custom
affinité Cookie/ARR configurable
Cross-Origin Resource Sharing (CORS)
configurable
Azure Functions
Traitements stateless
Plateforme managée (PaaS++)
Scalabilité transparente
Coût lié à l’événement et à l’opération
SSL, domaines custom
Cross-Origin Resource Sharing (CORS)
configurable
12. Plateforme technique
API Apps
Plateforme App Service
App Service Plans (partage des
apps)
OS Windows (masqué)
IIS comme serveur applicatif
Azure Functions
Géré par Microsoft Azure
OS Windows (masqué)
IIS comme serveur applicatif
13. Développement : langages et frameworks
API Apps
C#, Java, Python, PHP, Nodejs
.NET Framework 3.5-4.6
Java 7-8
PHP 5.5-7.1
Python 2.7-3.4
Web Sockets
32 ou 64 bit
App Extensions
Azure Functions
Se base sur le WebJobs SDK
C#, JavaScript, F#, Python, PHP,
Bash,
Batch,
PowerShell
14. Déploiement et cycle de vie
API Apps
Déploiement via FTP, webdeploy
Sources : Visual Studio Team
Services, GitHub, BitBucket,
stockage cloud, GIT local, …
Versioning inclus
Continuous Delivery natif avec
VSTS
Jusqu’à 20 slots
Azure Functions
WebDeploy
Sources : Visual Studio Team
Services, GitHub, BitBucket,
stockage cloud, GIT local, …
Continuous Delivery natif avec
VSTS
Slot en preview
15. Intégration
API Apps
Intégration avec Logic Apps et API
Management
(voire avec Power Apps et Flow)
VNET / VPN avec on-premises
Connexions hybrides avec on-
premises (sans VPN) possibles
Exposition définition API
(Swagger)
Azure Functions
Connecteurs natifs :
Service Bus
Azure Storage
OneDrive
Twilio
Intégration avec Logic App
Exposition définition API
(Swagger)
16. Mise à l’échelle
API Apps
Scale Up-Down: de 1 à 4 CPU
Niveaux de service Free et Shared
disponibles
Scale Out-In : de 1 à 20 instances
(voire 50 avec App Service
Environments)
Durée : quelque minutes (B, S, P);
- dizaines de minutes pour ASEs
Autoscale : règles très flexibles
Azure Functions
Scalabilité transparente
Instantané
Les serveurs sont préinstanciés
17. Fiabilité, continuité, testabilité
API Apps
Jusqu’à 20 slots de staging
Tests de performance
Test en production (swap
progressif entre slots)
Azure Backup : sauvegarde dans le
cloud et restauration
Log Stream des logs web et
applicatifs
Azure Functions
Possibilité de tester directement
sur le portail Azure
Support des slots de staging
Fonctionnalités Proxies
18. Productivité
API Apps
Développement et déploiement
itératifs
Web Editor en preview
Remote debugging dans Visual
Studio
Fonctionnalité « clone app »
Console de management Kudu
Process Explorer
Azure Functions
Peu de gestion, rapide à mettre en
place
Développement directement à
partir du portail
19. Sécurité
API Apps
Auth. : anonyme, Azure AD,
Facebook, Microsoft Account,
Google, Twitter
Token Store disponible
Protection niveau VNET possible
(avec NSG)
Détection/protection d’attaques
possible, avec WAF ou App GW
Azure Functions
Possibilité de sécuriser son API
nativement
Auth. : anonyme, Azure AD,
Facebook, Microsoft Account,
Google, Twitter
20. Pricing
API Apps
Basé sur App Service Plans: Free,
Shared, Basic, Standard, Premium
Prix modique à la base mais
monte fortement jusqu’à Premium
& ASE
A nous d’optimiser le
remplissement des instances pour
un cout optimal
Azure Functions
Dépend du nombre d’exécutions
et de la durée d’exécution
Prix très faible (0,169 pour 1 million
d’exécution)
Attribution gratuite par mois
21. And the WINNER IS … well it depends!
API Apps
APIs « classiques » (pour web)
APIs d’entreprise & B2B
Multi-tenant
APIs « legacy » (on-premises)
Besoin de scalabilité forte
Azure Functions
APIs « rapides » et « légères »
Plus orienté microservice
Scénarii d’intégration
Applications orientées message
Mise à l’échelle ultra-rapide mais
limitée en nombre