230 likes | 410 Views
Intoduction à IIS7. Philippe FREDDI Entreprise Architecte -- PFFC philippe@pffc.ch. Division Plateforme & Ecosystème. Agenda. Nouvelle architecture d’IIS7 Etendre les fonctionnalités de base du serveur IIS7 L’intégration avec .NET L’administration.
E N D
Intoduction à IIS7 Philippe FREDDI EntrepriseArchitecte -- PFFC philippe@pffc.ch Division Plateforme & Ecosystème
Agenda • Nouvelle architecture d’IIS7 • Etendre les fonctionnalités de base du serveur IIS7 • L’intégration avec .NET • L’administration
Version IIS 6 : Une plateforme fiable • Une extensibilité prouvée • MySpace - 23 milliards* Visites/Mois • Microsoft.com – 10K Req/sec & 300K Connexions • Match.com 30 millions de pages consultées quotidiennement • Une sécurité prouvée • Aucun hotfix critique IIS 6 depuis la sortie RTM* • Une confiance prouvée • 54% des entreprises classés dans les 1000 premières fortunes utilisent IIS (port80software.com) Une fondation solide sur laquelle on peut s’appuyer *(en date du 28novembre 2006)
Internet Information Services (IIS) 7.0 Création de serveur spécialisé Architecture modulaire Surface d’attaque réduite Etendre/Modifier les fonctionnalités d’IIS Serveur personnalisable Intégré avec .NET Déploiement rapide d’application Gestion personnalisable Tracabilité des requêtes intégrée Plus qu’un serveur WEB, les Internet Information Services 7.0 fournissent un accès aisé à une plateforme extensible de développement et accueillent de manière fiable des applications et des services Web. Améliorations de IIS 7.0 Diagnostique « temps réel »
Conception modulaire • Pipeline modulaire • Les fonctionnalités sont fournies par des modules séparés • Ajout/Suppression des modules à votre convenance • En terme de sécurité, réduit la surface d’exposition • En terme de mémoire, limite la demande au besoin du module • Améliore les performances • Ajout de modules personnalisés en mode natif ou managé • Améliore la puissance pour le contenu .NET • S’intègre avec des infrastructures spécialisées • Facilite l’intégration de nouvelles technologies • Interface graphique modulaire • Ajout de pages personnalisées (WinfForm) • Intègre la configuration d'application avec IIS
Traitement de la demande dans IIS6 Exécution monolithique Installe Tout ou rieN! Authentification NTLM Basic Anon … Choix du Handler CGI Fichier statique ASP.NET ISAPI PHP … Retourne la réponse Les fonctionnalités du serveur sont étendues uniquement via ISAPI! Log Compresse
Traitement de la demande dans IIS7 Les fonctionnalités du serveurs ont été séparées en ~ 40modules... Autentification Authentification Autorisation NTLM Basic Anon … Les modules s’intègrent sur un pipeline générique d’événements … Est-ce en cache? Choix du Handler CGI … Fichier statique Exécute le Handler Les modulesétendent les fonctionnalités du serveur grâce à une API publique. ISAPI … … Mise à jour du cache Retourne la réponse Log Compresse Retourne la réponse
Extensible • IIS 6 • L’extensibilité est limitée aux filtres et extensions ISAPI • La modification de l’interface graphique dans la MMC relève du parcours du combattant • Il est difficile d’étendre le schéma • L’activation des Web Services n’est possible qu’en mode HTTP • IIS 7 • Intégration de modules en code natif ou managé • Il est très facile d’ajouter des applications de tiers • Il est très facile d’étendre le schéma • Les applications de tiers s’intègrent avec le traçage IIS7 • Les Web Services peuvent utiliser des protocoles TCP personnalisés
Intégration avec .NET • Simplification de la sécurité et de l’administration • Utilise la puissance de .NET pour tous les contenus • Formulaires d’authentification • Autorisation d’URL • Cache .NET • Fournisseurs de rôles et d’appartenance .NET • Les nouvelles APIs gèrent IIS 7 et .NET • Permet d’écrire des scénarios de déploiement en utilisant Xcopy
aspnet_isapi.dll Autentification Forms Windows … ASPX Map Handler Trace … … Intégration d’IIS6 et ASP.NET • Limitations dues au runtime • Voit seulement les requêtes ASP.NET • Duplication des fonctionnalités Authentification NTLM Basic Anon … Choix du Handler CGI Fichier statique ISAPI … Retourne la réponse Log Compresse
IIS7 ASP.NET Integration Basic • Mode classique (natif) • Identique à IIS6 • Mode Intégré (managé) • Modules et handlers .NET s’attachent sur le pipeline • Exécute toutes les requêtes Authentification Anon Autorisation NTLM … Est-ce en cache? … aspnet_isapi.dll Exécute le Handler Fichier statique Authentication … ISAPI Forms Windows … … Mise à jour du cache CGI ASPX Map Handler Trace Compresse … Retourne la réponse … Log
Outilsd’administration GUI Ligne de commande Script Code managé Script IIS Manager appcmd WMI (root\WebAdministration) Microsoft.Web.Administration PowerShell • AdministreIIS et ASP.NET • Visualisationétendue runtime data • worker processes, appdomains, executing requests • Administration déléguée • Différents types d’outils pour différentsadministrateurs
Code: Microsoft.Web.Administration De nouvelles APIs permettent aux développeurs d’écrire des applications pour déployer, administrer et dépanner ASP.NET et IIS ServerManageriisManager = newServerManager(); foreach(WorkerProcess w3wpiniisManager.WorkerProcesses) {Console.WriteLine("W3WP ({0})", w3wp.ProcessId);foreach(Request requestinw3wp.GetRequests(0)) {Console.WriteLine("{0} - {1},{2},{3}",request.Url,request.ClientIPAddr,request.TimeElapsed,request.TimeInState); }}
Dépannagerapide avec le traçage des requêtesayantéchouées • Diminue le besoin d’analyse de type “crash dump analysis” • Des définitions d’erreurs personnalisées sont configurables par URL • Temps de réponse • “Ecrire un événement de traçage pour les demandes de type 200 (ok) ayant répondues en plus de 15 secondes • Statut/Sousstatutcodes HTTP • “Ecrire un événement de traçage pour la page “Invoice.aspx” ayant un type 500 • Niveau d’erreur • Utilisable avec UI, WMI, API, Appcmd
Résumé • Devient une solide fondation pour des applications WEB • La granularité de l’administration permet de n’exposer que ce qui est nécessaire • Le concept modulaire permet d’étendre les fonctionnalités de base sans compromettre ces dernières
Résumé • On ne raisonne plus en terme de serveur WEB mais de serveur applicatif pour client léger • Philippe FREDDI
Call to action • Web cast en anglais • Vidéos de DinnerNow • Virtual Training en français • En juin sur le canal MSDN • Diner Now en anglais • Etudier le scénario et les exemples de DinnerNow
Liens utiles • Site global • www.microsoft.com/iis • Site consacré à IIS mis à jour par l’équipe d’IIS • www.iis.net • Différents informations utiles • www.codeplex.com • DinnerNow • www.dinnernow.com