marius zaharia - app service plus fortement - global azure bootcamp 2016 paris
TRANSCRIPT
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE1
Azure App Service, plus fortement(focus sur App Service Environment)
Marius Zaharia
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Glossaire Azure• Azure App Service – vue générale• App Service standard: limitations• Introducing « App Service Environment »• Description et architecture d'un ASE• Configuration (plus) avancée• Tableau comparatif avec App Service classique• Problématiques, points d'attention• ASE : regard vers le future… (en première !)• Conclusion
SOMMAIRE
2
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Marius Zaharia
3
• Architecte senior chez Cellenza• Azure MVP & Azure Advisor• P-SELLER Microsoft – Cloud Platform & Azure Dev• Community manager - AZUG.FR• Organisateur Global Azure Bootcamp 2013, 2014, 2015, 2016
• blog.cellenza.com | blog.lecampusazure.net• @lecampusazure• [email protected] | [email protected]
Cellenza est un cabinet de conseil, d’expertise technique et de réalisation, exclusivement dédié aux technologies Microsoft et aux méthodes agiles.
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Web Apps (a.k.a. Web Sites)• Mobile Apps• API Apps• Logic Apps• Web Jobs, Functions• Visual Studio Team Services (a.k.a. Visual Studio Online)• Déploiement classique vs ARM• VNET, Subnet, NIC• Infrastructure génération v1 vs v2• Access Control List (ACL) vs Network Security Group (NSG)• VPN: S2S IPSec, ExpressRoute; P2S• Load balancers: Public (LB) / Internal (ILB)• Translation de ports (NAT)• Web Application Firewall (WAF) – appliance virtuelle
Glossaire Azure (+/-)
4
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Azure App Service
5
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Plateforme PaaS fondamentale dans Azure• Héberge Web Apps, Mobile Apps, API Apps, Logic Apps, Web Jobs,
Functions, …• Provisionnement rapide et simplifié, via App Service Plans
– Les Plans correspondent aux charges de calcul (compute) facturées• Multi-langage: .NET, NodeJS, PHP, Python, Java, …• Possibilité d’hybridation VNET
– Pour les Plans qui supportent• Mise à l’échelle manuelle / automatique• Déploiement continu: VSTS, Github• Mise en production progressive via des slots multiples• Journaux et diagnostiques riches• Debugage « live » à distance possible• Fonctionnalités de « auto-healing »
Azure App Service – vue générale
6
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
démoAPERÇU RAPIDE – APP SERVICE
7
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Free Shared Basic Standard Premium*(*hors ASE)
UtilisationApplications de développement/test
Développement et test avec des limites plus hautes
Démarrage avec les Apps niveau basique
Web Apps, API Apps ou Mobile Apps à l’échelle moyenne
Apps dans contexte entreprise, à grande échelle
Taille des instances compute Partagé Partagé 1/2/4 CPUs 1/2/4 CPUs 1/2/4 CPUs
Espace disque 1 Go 1 Go 10 Go 50 Go 250 Go Nombre maximal d'instances -- -- Jusqu'à 3 Jusqu'à 10 Jusqu'à 20
Contrat SLA -- -- 99,95 % 99,95 % 99,95 % Web Apps, API Apps ou Mobile Apps 10 100 Illimité Illimité Illimité
Auto-Scale - - - Oui OuiDéploiement distribué - - - Oui Oui
Environnements/slots - - - 5 20
Sauvegardes auto - - - 2 50
Azure App Service – niveaux de service
8
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Avantages : toute la liste décrite dans « Vue générale »
• Inconvénients / limitations– Max 20 unités de calcul / 4CPU => mise à l’échelle limitée– Isolation des ressources limitée; environnement multi-
tenant– Manque de contrôles de sécurité– Manque de contrôle ou inspection du trafic entrant ou
passant
App Service standard - limitations
9
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Introducing:App Service
Environment
10
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Un système complet App Service niveau Premium mis exclusivement à votre disposition
• Correspond à une structure similaire à celle utilisée par Microsoft derrière App Service « classique »
• Permet d’y déployer exactement les mêmes services (Web Apps, Mobile, Logic etc.) mais en maitrisant beaucoup plus d’éléments
• …tout en prenant plus de responsabilités en échange
Qu’est-ce qu’App Service Environment ?
11
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
démoAPP SERVICE ENVIRONMENTDémarrage / premier aperçu
12
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Front End Pool: pour équilibrage de charge et terminaison SSL
• Worker Pools (3): les vraies instances applicatives• Service Plans: s’appuient sur (une partie ou toutes)
les instances de Worker Pools• Applications: provisionnées dans les Service Plans
– Niveau portail : provisionnement classique, ou via l’interface ASE (limité)
Description d’un ASE
13
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Architecture d’un ASE
14
FEP
WP3
WP1
Service Plan 3
Service Plan 1
WP2
Service Plan 2
VNETSubnet 1
Subnet 2
Subnet 3
App Service Environment
Azure
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Mise à l’échelle / Scale UP• Tailles Premium uniquement• Tailles disponibles: P1 (1
CPU), P2, P3, P4 (8 CPU)• Front End Pool: minimum P2
(« overhead »)• Worker Pools (3): choix de
taille du compute par pool; entre P1-P4– Critère à votre choix. Ex. WP1=P1,
WP2=P3, WP4=P4
ASE : Configuration (plus) avancée
15
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Mise à l’échelle / Scale OUT• Maximum total 50 instances; mais vous payez 55
– Besoin de redondance (fiabilité) et scale-out buffering• Pools : mise à l’échelle indépendante par pool, dans
la limite du maximum cumulé • Auto-scale out: multiples critères• Profilage et set de règles très flexibles• Formule de « taux d’inflation »• Alertes sur les évenements de mise à l’échelle
ASE : Configuration (plus) avancée
16
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Sécurité et protection• L’IP public fixe permet de l’inscrire
dans les listes d’ouverture d’accès– Cela concerne ainsi le trafic entrant que
sortant– On peut avoir plusieurs IP statiques par ASE– Cependant, impossible d’assigner des
adresses de domaine à des IP• L’application de NSGs sur les
subnets fera la délimitation des zones– Ouverture de ports: attention aux ports
prérequis par ASE (usage propre)• Hybridation: connectivité
VPN/ExpressRoute à demeure• Utilisation de WAF
ASE : Configuration (plus) avancée
17
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Modèle de consommation– On pré-provisionne (met à l’échelle) les Pools pour
couvrir les besoins de Service Plans– Ou on modélise (de manière simple ou complexe) la mise
à l’échelle automatique des Pools– Il y aura toujours une marge de cout supplémentaire en
dessus de la consommation effective• Instances (1-5) prises par ASE pour la fiabilité / HA• « Scale-Out Buffer », pour donner plus d’élasticité
pendant la mise à l’échelle
ASE : Configuration (plus) avancée
18
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
Fonctionnalité App Service classique ASENiveau d’isolation Multi-tenant (pas isolé) IsoléSpécialisation des ressources Générique 4 pools: 1 Front-End et 3 WorkersIntégration VNET Oui, via VPN P2S Oui, via subnet dédié - VNET v1 Oui Oui - VNET v2 Oui NonInspection du trafic Non Oui, via WAF dans VNETRestriction du trafic in/out Non Oui, via NSGConnectivité à demeure Oui, via VPN Oui, via VPNIP statique public Non Oui 1 ou plusieursIP statique privé Non NonMise à l’échelle/Scale UP Oui, F/S/B/S/P1-P3 Oui, P1-P4Mise à l’échelle/Scale OUT Max 10 (S) / 20 (P) Max 50Mise à l’échelle auto Oui Oui, mais prévoir « tampon »Durée de déploiement Rapide/très rapide Lent (>2h)
ASE – Tableaux comparatifs *à jour*
20
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
ASE – problématiques
21
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• Agilité– Lent à provisionner (2h)– Mise à l’échelle longue; faut bien prévoir l’évolution scale-up
+ scale-out• Surcharge de travail de management• Limitation réseau: VNET v1 uniquement
– Solutions: connexions VNET 2 VNET avec v2, si besoin• Fiabilité: à surveiller• PRIX
ASE – problématiques, points d’attention
22
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
A venir:• Plages IP publiques utilisables dans
VNET v1– Effet collatéral éventuel
• Support de ILB devant ASE• « Peering » entre VNETs v1 et v2
– Palier les contraintes de réseau ASE
ASE – regard vers le future… (en première !)
23
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• App Service Environment est un service complexe qui palie en échange des besoins très importants des entreprises dans un contexte de services PaaS
• Garder l’œil en parallèle sur les options et comparer: App Service vs ASE
Conclusion
24
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
• https://azure.microsoft.com/en-us/blog/introducing-app-service-environment/
• https://blog.kloud.com.au/2016/04/05/when-to-use-an-azure-app-service-environment/
• https://azure.microsoft.com/en-us/documentation/articles/app-service-app-service-environment-network-architecture-overview/
• https://azure.microsoft.com/fr-fr/documentation/articles/app-service-web-scale-a-web-app-in-an-app-service-environment/
• https://azure.microsoft.com/fr-fr/documentation/articles/app-service-app-service-environment-control-inbound-traffic/
Références
25
Global Azure Bootcamp #GlobalAzure @AZUGFR
PARIS - FRANCE
ORGANISATION GAB 2016
MERCI !
SPONSORS LOCAUX
26