agenda de la journée 10h00 : la place dasp.net dans la plate-forme microsoft 10h30 : développement...
TRANSCRIPT
Agenda de la journéeAgenda de la journée
10h00 : La place d’ASP.NET dans la plate-forme Microsoft10h30 : Développement rapide d’applications Web en
ASP.NET12h00 : Construire des intranets de collaboration12h30 : Pause Repas14H00 : Solution d’hébergement14H15 : Déployer et gérer des applications
ASP.NET en production (IIS6)14H45 : Starter Kits, Accélérateurs de projets Web15h30 : Pause, Tirage du Jeu Concours16h00 : ASP.NET Avancé: architecture en couches,
Services Web, composants17h15 : Conclusion17h30 - 19H30 : Questions/Réponses,
Ateliers de prise en main, Apéro
Le serveur Web -Le serveur Web -Déploiement - SécuritéDéploiement - Sécurité
Rencontres ASP.NET : Rencontres ASP.NET : Développement RapideDéveloppement Rapided’Applications Webd’Applications Web
Agenda détailléAgenda détaillé
Rappels IIS 5 versus IIS 6.0IIS 6.0 : Internet Information Services
SécuritéRecyclageFiabilitéAdministrabilité WMI, ADSI, …
Déploiement d’application ASP.NETRessources et outilsQuestions / Réponses
Le modèle de IIS 5Le modèle de IIS 5
INETINFO.exeINETINFO.exe
MétabaseMétabase FTP, SMTP, FTP, SMTP, NNTPNNTP
W3SVCW3SVC
WinsockWinsock
Filtres ISAPIFiltres ISAPI
Appl.Appl.In-In-
processprocess
ASP.NETASP.NET
.Net App .Net App DomainDomain
.Net App .Net App DomainDomain
Application Application Domain .NETDomain .NET
ASPNET_WP.exeASPNET_WP.exe
Appl. Appl. Poolées Poolées
OOPOOP
DLLHOST.exeDLLHOST.exe
Isolated Isolated OOP AppOOP App
DLLHOST.exeDLLHOST.exe
Isolated Isolated OOP AppOOP App
DLLHOST.exeDLLHOST.exe
Appl. Appl. Poolées Poolées
OOPOOP
DLLHOST.exeDLLHOST.exe
Mode Utilisateur
Mode Noyau
Internet Information Services 6.0Internet Information Services 6.0Traitement des requêtesTraitement des requêtes
AdministrationAdministration& &
MonitoringMonitoring
AdministrationAdministration& &
MonitoringMonitoring
W3ADMW3ADM
HTTP.sysHTTP.sysHTTP.sysHTTP.sysCacheCacheCacheCacheQueueQueueQueueQueue
Kernel modeKernel mode
User modeUser mode
XMLXMLMetabaseMetabase
InetinfoInetinfo
FTPFTPFTPFTP
NNTPNNTPNNTPNNTP
SMTPSMTPSMTPSMTP
IIS 6.0IIS 6.0
RequestRequest ResponseResponse
Application Pools
……XX
TCP/IP
IIS 6.0IIS 6.0 Sécurité à plusieurs niveauxSécurité à plusieurs niveaux
Pas installé par défaut
Installé dans un état verrouillé
Fonctionne sous un compte à faibles privilèges
Extensions de fichiers connues
Outils en ligne de commande non accessibles aux utilisateurs
Contenus protégés en écriture
Protection contre les dépassements de buffers
Sécurité à l’installationSécurité à l’installation
Windows Server 2003 désactive plus de 20+ services
IIS n’est pas installé par défaut sur Windows Server 2003
Même une fois IIS installé :IIS components IIS 5.0 clean
installIIS 6.0 clean install
Static file support enabled enabled
ASP enabled disabled
Server-side includes enabled disabled
Internet Data Connector enabled disabled
WebDAV enabled disabled
Index Server ISAPI enabled disabled
Internet Printing ISAPI enabled disabled
CGI enabled disabled
Frontpage Server Extensions enabled disabled
Password Change Functionality enabled disabled
SMTP enabled disabled
FTP enabled disabled
ASP.NET X disabled
BITS X disabled
Architecture IIS 6.0Architecture IIS 6.0 Pools d’ApplicationsPools d’Applications
Un ou plusieurs pools d’applications
Chacun est servi par un ou plusieurs W3WP.exe
Chaque W3WP.exe ne sert qu’un pool
Requêtes routées directement au Pool par le HTTP.sys
Isolation basée sur :Site/Client
Fonctionnalité
Fiabilité
Architecture IIS 6.0Architecture IIS 6.0 Recyclage Périodique des ProcessusRecyclage Périodique des Processus
Recyclage périodique des applications basé sur :
Uptime [Défaut]
Nb. requêtes
A heure planifiée
Conso. mémoire
A la demande (GUI)
Pourquoi ?Rafraîchir les applications pour s’assurer de leur disponibilité
Éviter que des applications ne perturbent le système
Comment ?Recouvrement au recyclage
Pas de perte de connexions pendant le recyclage
Architecture IIS 6.0 Architecture IIS 6.0 Recommandations sur les App. PoolsRecommandations sur les App. Pools
Mettez les sites/applications critiques dans leur propre pool
Regroupez les applications non critiques et sans défaillances quand c’est possible
Économise les ressources serveur
Sites/applis d’un même client ou entité
Créez un App Pool recycléConfigurez un recyclage agressif
Placez les sites/applis posant problème dans ce Pool recyclé
Architecture IIS 6.0Architecture IIS 6.0Self-Healing ArchitectureSelf-Healing Architecture
Vérification de bonne santé (Ping)
Qu’est-ce ?Conçu pour détecter les blocage d’applicationComment ça fonctionne ?W3ADM va “pinger” chaque W3WP.exe, à intervalle régulierSi sans réponse dans la limite de temps, tue le process
ASP & ASP.NET peuvent explicitement solliciter un recyclage si l’application est instable
FiabilitéFiabilitéDétection de Crash et repriseDétection de Crash et reprise
Détection de CrashWAS détecte les crash des W3WP.exeWAS démarre un nouveau W3WP.exe si besoinRequêtes en file d’attente dans HTTP.sys pendant que W3WP démarreRésultat -> Pas d’Interruption de Service
Rapid Fail ProtectionN’autorise que X fautes par intervalle de tempsStoppe automatiquement le Pool si la valeur est dépassée
IIS6 retourne des codes 503 aux requêtes sur ce pool
Nouveau compte systèmeNouveau compte systèmeNetworkService / Service RéseauNetworkService / Service Réseau
IIS fonctionne désormais sous le compte système NetworkService
NetworkService est prédéfini
Compte à faibles privilègesNe peut pas accéder au système de fichiers
Ne peut pas accéder à la registry
Moins de privilèges = plus sur !
Comptes UtilisateurComptes Utilisateur NetworkService / Service RéseauNetworkService / Service Réseau
Si vous avez besoin de plus de permissions que ce qu’offre NetworkService :
N’ajoutez pas des permissions à NetworkServiceCela affecterait tous les sites sous IIS
Créez plutôt un nouveau compte avec les privilèges supplémentaires requis et dans le groupe IIS_WPGDonnez-lui en le moins possible !
Les application Web utilisent l’ “impersonation” pour utiliser ces nouveaux comptes
En synthèseEn synthèseAméliorations dans IIS 6Améliorations dans IIS 6
FiabilitéFiabilité
Montée en chargeMontée en charge
Recyclage des Processus basé sur la durée, Recyclage des Processus basé sur la durée, l’utilisation et la consommation mémoirel’utilisation et la consommation mémoire
Support du debugging amélioréSupport du debugging amélioré Isolation intégrale des ApplicationsIsolation intégrale des Applications
Augmentation des PerformancesAugmentation des Performances Serveurs Web natifs 32bit et 64bitServeurs Web natifs 32bit et 64bit Plusieurs milliers de sites par machinePlusieurs milliers de sites par machine Support amélioré des dossiers partagésSupport amélioré des dossiers partagés
AdministrabilitéAdministrabilité
Métabase XML, possibilité d’édition directeMétabase XML, possibilité d’édition directe Import/Export de la config. des sites et applicationsImport/Export de la config. des sites et applications Scripting WMIScripting WMI Outils en ligne de commandeOutils en ligne de commande Rollback de Versions et de ConfigurationRollback de Versions et de Configuration Isolation des utilisateurs en mode FTPIsolation des utilisateurs en mode FTP
DéploiementDéploiement
Mode de déploiement d’application ASP.NET
Copie de fichier / ftp
Msi
One Click Hosting
Déploiement de base MSDE / SQL Server
SQL Server Web Data Administrator
DémonstrationDémonstration
Déploiement du site test chez l’hébergeur
MSI
One Click Hosting
SQL Server Web Data Administrator
Questions ?Questions ?