SlideShare une entreprise Scribd logo
1  sur  25
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
1
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
• marius.zaharia@cellenza.com | marius@lecampusazure.net
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
APERÇU RAPIDE – APP SERVICE
7
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Free Shared Basic Standard Premium*
(*hors ASE)
Utilisation
Applications de
développement/tes
t
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 Oui
Dé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
APP SERVICE ENVIRONMENT
Dé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
VNET
Subnet 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 ASE
Niveau d’isolation Multi-tenant (pas isolé) Isolé
Spécialisation des ressources Générique 4 pools: 1 Front-End et 3 Workers
Intégration VNET Oui, via VPN P2S Oui, via subnet dédié
- VNET v1 Oui Oui
- VNET v2 Oui Non
Inspection du trafic Non Oui, via WAF dans VNET
Restriction du trafic in/out Non Oui, via NSG
Connectivité à demeure Oui, via VPN Oui, via VPN
IP statique public Non Oui 1 ou plusieurs
IP statique privé Non Non
Mise à l’échelle/Scale UP Oui, F/S/B/S/P1-P3 Oui, P1-P4
Mise à l’échelle/Scale OUT Max 10 (S) / 20 (P) Max 50
Mise à 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
SPONSORS LOCAUX
26

Contenu connexe

En vedette

Portrait de startuper #51 - Trendeo - David Cousquer
Portrait de startuper #51 - Trendeo - David CousquerPortrait de startuper #51 - Trendeo - David Cousquer
Portrait de startuper #51 - Trendeo - David CousquerSébastien Bourguignon
 
Cours PE1 par Jacques Gleyse
Cours PE1 par Jacques GleyseCours PE1 par Jacques Gleyse
Cours PE1 par Jacques GleyseSantesih
 
Presentation francophonie 2012 - final
Presentation francophonie 2012 - finalPresentation francophonie 2012 - final
Presentation francophonie 2012 - finalMihai Stanescu
 
Práctica III: Contacto Transparente Grupo EPM
Práctica III: Contacto Transparente Grupo EPMPráctica III: Contacto Transparente Grupo EPM
Práctica III: Contacto Transparente Grupo EPMTransparenciaporColombia
 
îLe De Ré
îLe De RéîLe De Ré
îLe De RéCaamille
 
Formation génie écologique
Formation génie écologiqueFormation génie écologique
Formation génie écologiqueThomas Redoulez
 
Extract from Kisco_Spring2015_part1_rev
Extract from Kisco_Spring2015_part1_revExtract from Kisco_Spring2015_part1_rev
Extract from Kisco_Spring2015_part1_revAngela Bourgogne
 
Recommendation letters
Recommendation lettersRecommendation letters
Recommendation lettersTina Purdue
 
Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014
Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014
Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014XWiki
 
Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...
Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...
Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...Guillaume Fontaine
 
WordPress Meetup Liège #1 : Projet client Reaklab, EEB1
WordPress Meetup Liège #1 : Projet client Reaklab, EEB1WordPress Meetup Liège #1 : Projet client Reaklab, EEB1
WordPress Meetup Liège #1 : Projet client Reaklab, EEB1reaklab
 
Marimer Nasal Spray for the whole Family
Marimer Nasal Spray for the whole FamilyMarimer Nasal Spray for the whole Family
Marimer Nasal Spray for the whole FamilyAl Manara Pharmacy
 
Rahnuma e-khawateen-april-2015
Rahnuma e-khawateen-april-2015Rahnuma e-khawateen-april-2015
Rahnuma e-khawateen-april-2015Muhammad Tariq
 

En vedette (18)

Portrait de startuper #51 - Trendeo - David Cousquer
Portrait de startuper #51 - Trendeo - David CousquerPortrait de startuper #51 - Trendeo - David Cousquer
Portrait de startuper #51 - Trendeo - David Cousquer
 
Cours PE1 par Jacques Gleyse
Cours PE1 par Jacques GleyseCours PE1 par Jacques Gleyse
Cours PE1 par Jacques Gleyse
 
Presentation francophonie 2012 - final
Presentation francophonie 2012 - finalPresentation francophonie 2012 - final
Presentation francophonie 2012 - final
 
Práctica III: Contacto Transparente Grupo EPM
Práctica III: Contacto Transparente Grupo EPMPráctica III: Contacto Transparente Grupo EPM
Práctica III: Contacto Transparente Grupo EPM
 
îLe De Ré
îLe De RéîLe De Ré
îLe De Ré
 
Mes PoèMes
Mes PoèMesMes PoèMes
Mes PoèMes
 
Formation génie écologique
Formation génie écologiqueFormation génie écologique
Formation génie écologique
 
Extract from Kisco_Spring2015_part1_rev
Extract from Kisco_Spring2015_part1_revExtract from Kisco_Spring2015_part1_rev
Extract from Kisco_Spring2015_part1_rev
 
Recommendation letters
Recommendation lettersRecommendation letters
Recommendation letters
 
Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014
Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014
Présentation de l'USH lors du petit déjeuner XWiki du 7 octobre 2014
 
Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...
Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...
Prendre soin d’un parent âgé vulnérable, une réflexion sur le concept de ...
 
El cristo del pueblo
El cristo del puebloEl cristo del pueblo
El cristo del pueblo
 
WordPress Meetup Liège #1 : Projet client Reaklab, EEB1
WordPress Meetup Liège #1 : Projet client Reaklab, EEB1WordPress Meetup Liège #1 : Projet client Reaklab, EEB1
WordPress Meetup Liège #1 : Projet client Reaklab, EEB1
 
Manual larvas
Manual larvasManual larvas
Manual larvas
 
Developper son image grace aux reseaux sociaux
Developper son image grace aux reseaux sociauxDevelopper son image grace aux reseaux sociaux
Developper son image grace aux reseaux sociaux
 
Marimer Nasal Spray for the whole Family
Marimer Nasal Spray for the whole FamilyMarimer Nasal Spray for the whole Family
Marimer Nasal Spray for the whole Family
 
Cuestiones y objeciones
Cuestiones y objecionesCuestiones y objeciones
Cuestiones y objeciones
 
Rahnuma e-khawateen-april-2015
Rahnuma e-khawateen-april-2015Rahnuma e-khawateen-april-2015
Rahnuma e-khawateen-april-2015
 

Plus de Cellenza

The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017Cellenza
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsCellenza
 
DevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisDevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisCellenza
 
DevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementDevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementCellenza
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière Cellenza
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC Cellenza
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA Cellenza
 
04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core 04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core Cellenza
 
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, LinuxCellenza
 
Integration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsIntegration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsCellenza
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsCellenza
 
Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Cellenza
 
Integration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationIntegration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationCellenza
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Cellenza
 
Integration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppIntegration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppCellenza
 
Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Cellenza
 
Integration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsIntegration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsCellenza
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !Cellenza
 
[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1Cellenza
 
[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2Cellenza
 

Plus de Cellenza (20)

The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applications
 
DevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisDevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & Luis
 
DevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementDevCon 3 : Azure API Management
DevCon 3 : Azure API Management
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA
 
04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core 04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core
 
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
 
Integration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsIntegration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration Trends
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
 
Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016
 
Integration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationIntegration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid Integration
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
 
Integration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppIntegration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic App
 
Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management
 
Integration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsIntegration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power apps
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
 
[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1
 
[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2
 

[GAB2016] Azure App Service - Marius Zaharia

  • 1. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE 1 Azure App Service, plus fortement (focus sur App Service Environment) Marius Zaharia
  • 2. 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
  • 3. 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 • marius.zaharia@cellenza.com | marius@lecampusazure.net Cellenza est un cabinet de conseil, d’expertise technique et de réalisation, exclusivement dédié aux technologies Microsoft et aux méthodes agiles.
  • 4. 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
  • 5. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Azure App Service 5
  • 6. 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
  • 7. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE APERÇU RAPIDE – APP SERVICE 7
  • 8. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Free Shared Basic Standard Premium* (*hors ASE) Utilisation Applications de développement/tes t 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 Oui Déploiement distribué - - - Oui Oui Environnements/slots - - - 5 20 Sauvegardes auto - - - 2 50 Azure App Service – niveaux de service 8
  • 9. 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
  • 10. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Introducing: App Service Environment 10
  • 11. 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
  • 12. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE APP SERVICE ENVIRONMENT Démarrage / premier aperçu 12
  • 13. 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
  • 14. 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 VNET Subnet 1 Subnet 2 Subnet 3 App Service Environment Azure
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE Fonctionnalité App Service classique ASE Niveau d’isolation Multi-tenant (pas isolé) Isolé Spécialisation des ressources Générique 4 pools: 1 Front-End et 3 Workers Intégration VNET Oui, via VPN P2S Oui, via subnet dédié - VNET v1 Oui Oui - VNET v2 Oui Non Inspection du trafic Non Oui, via WAF dans VNET Restriction du trafic in/out Non Oui, via NSG Connectivité à demeure Oui, via VPN Oui, via VPN IP statique public Non Oui 1 ou plusieurs IP statique privé Non Non Mise à l’échelle/Scale UP Oui, F/S/B/S/P1-P3 Oui, P1-P4 Mise à l’échelle/Scale OUT Max 10 (S) / 20 (P) Max 50 Mise à 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
  • 20. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE ASE – problématiques 21
  • 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
  • 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
  • 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
  • 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
  • 25. Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE ORGANISATION GAB 2016 SPONSORS LOCAUX 26

Notes de l'éditeur

  1. 1 min
  2. 3 min
  3. 7 min
  4. 4 min
  5. 5 min
  6. 3 min
  7. 2 min
  8. 5 min
  9. 3