marius zaharia - app service plus fortement - global azure bootcamp 2016 paris

25
Global Azure Bootcamp #GlobalAzure @AZUGFR PARIS - FRANCE 1 Azure App Service, plus fortement (focus sur App Service Environment) Marius Zaharia

Upload: azug-fr

Post on 06-Jan-2017

116 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp #GlobalAzure @AZUGFR

PARIS - FRANCE1

Azure App Service, plus fortement(focus sur App Service Environment)

Marius Zaharia

Page 2: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 3: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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.

Page 4: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 5: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp #GlobalAzure @AZUGFR

PARIS - FRANCE

Azure App Service

5

Page 6: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 7: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp #GlobalAzure @AZUGFR

PARIS - FRANCE

démoAPERÇU RAPIDE – APP SERVICE

7

Page 8: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 9: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 10: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp #GlobalAzure @AZUGFR

PARIS - FRANCE

Introducing:App Service

Environment

10

Page 11: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 12: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp #GlobalAzure @AZUGFR

PARIS - FRANCE

démoAPP SERVICE ENVIRONMENTDémarrage / premier aperçu

12

Page 13: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 14: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 15: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 16: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 17: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 18: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 19: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 20: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp #GlobalAzure @AZUGFR

PARIS - FRANCE

ASE – problématiques

21

Page 21: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 22: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 23: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 24: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

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

Page 25: Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp #GlobalAzure @AZUGFR

PARIS - FRANCE

ORGANISATION GAB 2016

MERCI !

SPONSORS LOCAUX

26