43
Microsoft Confidential – Internal Use Only IIS Web Eco- System Kenny Abdiel Maita Premier Field Engineer 27 th February 2013 Customer Service and Support

IIS Web Ecosystem

Embed Size (px)

Citation preview

Microsoft Confidential – Internal Use Only

IIS Web Eco-System

Kenny Abdiel Maita Premier Field Engineer 27th February 2013

Customer Service and Support

2Microsoft Confidential – Internal Use Only

1 MS Web Eco-system2 Web Platform Installer 3 Web Deploy4 Web App Gallery

Agenda.IIS Web Eco-System

Microsoft Confidential – Internal Use Only

Section 1:IIS Web Eco-system

3

4Microsoft Confidential – Internal Use Only

IIS Web Eco-system

Set of Servers, Databases, Frameworks, Tools, Applications, Hosting partners and training partners looking to help you succeed on the web.

Microsoft Confidential – Internal Use Only

Section 2:Web Platform Installer (Web PI 4.5)

5

6Microsoft Confidential – Internal Use Only

Web PI 4.5

Makes it easy for you to download, install, and keep up to date on the latest software components of the Microsoft® Web Platform for development and application hosting on the Windows® operating system.

• What it provides• Installation • How it works

7Microsoft Confidential – Internal Use Only

Web PI 4.5: What it provides

WPI allows for easier management, download and install of:

• IIS Components• SQL Server

Express/Compact• .Net Framework/PHP• IDE Tools and SDK• Apps from Gallery and

dependencies.

IIS Manager integration allows for usage simplicity

WebPICMD.exe:Used to script, installs and automate deployment of servers.3 Operation modes:• List products• Install products • Offline cache

8Microsoft Confidential – Internal Use Only

Web PI 4.5: Installation

http://www.microsoft.com/web/downloads/platform.aspx

9Microsoft Confidential – Internal Use Only

Web PI 4.5: How it works

10Microsoft Confidential – Internal Use Only

Web PI 4.5: How it works

11Microsoft Confidential – Internal Use Only

Web PI 4.5: Options

12Microsoft Confidential – Internal Use Only

Web PI 4.5: Issues

If WebPI itself is failing to install – Check or Post the log file here: %temp%\webpi_launcher.txt

If WebPI is installed, but an application or product fails to install: Check or Post the latest WebPIx.txt file from here:

Win7/Vista/Win2k8 and above: %localappdata%\microsoft\web platform installer\logs\webpi

XP/Win2k3: %userprofile%\local settings\application data\microsoft\web platform installer\logs\webpi

WebPI is installed and you know specifically which product is failing:  You can look for the installer log file from the component that failed.

Win7/Vista/Win2k8 and above: %localappdata%\microsoft\web platform installer\logs\install\<datetimestamp>

XP/Win2k3:  %userprofile%\local settings\application data\microsoft\web platform installer\logs\install\<datetimestamp

http://forums.iis.net/1155.aspx

Microsoft Confidential – Internal Use Only

Web PI 4.0Demo

13

Microsoft Confidential – Internal Use Only

Section 3:Web Deploy

14

15Microsoft Confidential – Internal Use Only

Web Deploy V3.0

Web Deploy (msdeploy) simplifies deployment of Web sites, Web applications and Virtual directories to IIS servers. Administrators can use Web Deploy to synchronize content and configurations between IIS servers or migrate to newer versions of IIS. Additionally, Web Deploy tool enables administrators and delegated users to use IIS Manager to deploy ASP.NET and PHP applications to an IIS server.

• Main features • How it works• Usage scenarios

16Microsoft Confidential – Internal Use Only

Web Deploy: Main features

It simplifies the management and deployment of IIS on multiple servers (Win2003 and Higher)

www.iis.net/download/WebDeploy

Three primary tasks:• Sync• Package• Deploy

17Microsoft Confidential – Internal Use Only

Web Deploy: Main features

Sync

• Synchronize or migrate the entire Web server, a Web site or application.

• Synchronizes only the data that has changed

• Ability to detect missing dependencies during synchronization

• Automatically gathers content, IIS configuration, SSL certificates and ASP.NET configuration when you sync a Web site

Package• Package a Web

application or an entire site, including the associated databases.

• Package ACLs, COM, GAC and registry settings.

• Support both live servers and zipped packages as a source or destination.

Deploy

• Operations can be performed and can delegate tasks to non-administrators.

• Ability to add powerful parameters to change text in files when they are deployed.

18Microsoft Confidential – Internal Use Only

Web Deploy: How it works

Windows Service (Listening)

Hosting Escenarios

Win 2003-IIS RMWin VistaWin 7Win 2008Win 2008R2Win 8 (V3)Win 2012(V3)

Win 2003-IIS RMWin VistaWin 7Win 2008Win 2008R2Win 8 (V3)Win 2012(V3)

MsDepSvc.exe

8172

19Microsoft Confidential – Internal Use Only

Web Deploy: Verbs

VERBS

• Verbs are used to determine the operation that is being performed.

Dump

Sync – you will most commonly use this verb

Delete

getDependencies

getParameters

getSystemInfo

20Microsoft Confidential – Internal Use Only

Web Deploy: Providers

Providers

• Provide a scope for the tool to work on (Source and Destination).

•About 32 available.

21Microsoft Confidential – Internal Use Only

Web Deploy: Providers Setting

Providers Setting(Common Settings)

Customize the Providers chosen:

source:webserver, computerName=<servername>

22Microsoft Confidential – Internal Use Only

Web Deploy: Link Extensions

Link Extensions

Just Five

Provide supplementary data not called out explicitly by the Provider.

23Microsoft Confidential – Internal Use Only

Web Deploy: Rules

Rules

• 35 built in rules

• Apply when a Sync operation is being attempted

• Custom rules are present in msdeploy.exe.configsettings file

• Examples : skipUNC,

DependencyCheckAppPoolExists etc.

24Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

1. Synchronization Operations•Migrate settings from an IIS 6.0 server to an IIS 7.x and IIS8 servers•Synchronize settings between IIS 8.0 servers•Synchronize settings between IIS 7.0 servers•Synchronize settings between IIS 6.0 servers

2. Package and Deploy Operations•Create a Package•Import / Install a Package

25Microsoft Confidential – Internal Use Only

Web Deploy: Samples

Sync (Live)

msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site“

msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site“, computername=Server2 > msdeploysync.log

msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" > msdeploysync.log

Migration (Offline)

msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1

msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip > WebDeployPackage.log

msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/2 > PackageSyncFinal.log

PUSH from source

PULL from Destination

26Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

1.Sync IIS objects between two IIS 7 machines

msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=sourceserver -dest:apphostconfig="Default Web Site" -enableLink:AppPoolExtension

msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=sourceserver -dest:apphostconfig="Default Web Site" -enableLink:AppPoolExtension -disableLink:ContentExtension

msdeploy -verb:sync -source:iisApp=EntPortal\Intranet,computerName=sourceServer -dest:iisApp=EntPortal\Intranet

27Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

2. Migrate a website from IIS 6.0 to IIS 7.0msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1

msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/2

msdeploy -verb:sync -source:metaKey=lm/w3svc/1,metaDataGetInherited=true -dest:metaKey=lm/w3svc/2

28Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

3. Using manifests to sync multiple providers

<site> <appHostConfig path="Default Web Site" /> <contentPath path="c:\source" /> <appPoolConfig path="mySitePool" /> <gacAssembly path="Test.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2eds8d236nhbbf786k" /> <dirPath path="C:\MyExtraFiles" /> <regKey path="HKLM\Software\ODBC" /> <comObject32 path="Microsoft.ApplicationHost.AdminManager" /></site>

msdeploy.exe -verb:sync -source:manifest=custom.xml -dest:manifest=custom.xml,computername=Server1

29Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

4. Modifying sync behavior using rules (Msdeploy.exe.configsetting.example)

msdeploy -verb:sync -source:webServer -dest:webServer,computerName=Server2 -disableRule:SkipUNC

msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=sourceserver -dest:apphostconfig="Default Web Site" -enableLink:AppPoolExtension -skip:objectName=filepath, absolutePath=.*folder\\subfolder\\.*\.gif$msdeploy -verb:sync -source:apphostConfig=”Default Web Site -dest:auto,computername=Destination -replace:objectName=virtualDirectory,match="c:\\content",replace="c:\content2"

Msdeploy.exe -verb:sync -source:iisApp=mySite -dest:auto,computername=<publishUrl> -enableRule:AppOffline

30Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

5. Offline syncing of servers

msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:archivedir=C:\archive

msdeploy -verb:sync -source:archivedir=c:\archive -dest:appHostConfig="Default Web Site"

31Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

6. Syncing databases with Web Deploy

msdeploy.exe -verb:sync -source:dbFullSql="Data Source=.\SQLEXPRESS;Initial Catalog=SourceDatabase;Integrated Security=true" -dest:dbFullSql="Data Source=.\SQLEXPRESS;Initial Catalog=DestDatabase;Integrated Security=true"

msdeploy.exe -verb:sync -source:dbFullSql="Data Source=.\SQLEXPRESS;Initial Catalog=SourceDatabase;Integrated Security=true" -dest:package="c:\package.zip"

32Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

7. Web Deploy to compare two websites

msdeploy -verb:sync -source:apphostConfig="Site1" -dest:archivedir=C:\Site1Archive

msdeploy -verb:sync -source:archiveDir=C:\Site1Archive -dest:apphostconfig="Site1" -whatif -verboseLevel:Informational > log.txt

msdeploy -verb:sync -source:archiveDir=C:\Site1Archive -dest:apphostconfig="Site1" -whatif -verboseLevel:Informational -disableRule:Dependency*> log.txt

33Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

8. Transform Web.config with Web Deploy <configuration> <configSections> <sectionGroup name="myGroup"> <section name="data" type="MyApp.DataConfigurationSection, MyApp.Data" /> </sectionGroup> </configSections> <myGroup> <data interval="3" useCache="true" /> </myGroup></configuration>

msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:package=sitepackage.zip -declareParam:name=UseCache, kind=XmlFile,scope=web.config,match="/configuration/myGroup/data/@useCache"

msdeploy -verb:sync -source:package=sitepackage.zip -dest:auto -setParam:name=UseCache, value="false"

1

2

3

34Microsoft Confidential – Internal Use Only

Web Deploy: Usage scenarios

9. Running tasks before and after a sync with Web Deploy

From source:

msdeploy –verb:sync –source:appHostConfig=Econo, computerName=Producction –dest:auto –preSync:runCommand=”Appcmd stop site MySite & Appcmd set site MySite /serverAutoStart:false” -postSync:runCommand=”Appcmd start site MySite & Appcmd set site MySite /serverAutoStart:true

Microsoft Confidential – Internal Use Only

Web Deploy:Demo

35

Microsoft Confidential – Internal Use Only

Section 4:Web App Gallery

36

37Microsoft Confidential – Internal Use Only

Web App Gallery

The Windows® Web Application Gallery gives Web site builders an easy way to discover, learn about, and install freely available and community applications on Internet Information Services (IIS) Web servers.• What it is• Windows Web Application Gallery for

Developers • Process for an App to be on the gallery.

38Microsoft Confidential – Internal Use Only

Web App Gallery: What is it

http://www.microsoft.com/web/gallery/categories.aspx

39Microsoft Confidential – Internal Use Only

Web App Gallery for Devs

40Microsoft Confidential – Internal Use Only

Web App Gallery: Process

41Microsoft Confidential – Internal Use Only

Web App Gallery: Principles

Windows Web Application Gallery PrinciplesThe application to which you provide a link Must:• Be Current• Be Free of Charge• Be Compatible• Be Deployable • Be Supported• Be Hostable• Be Platform Independent• Be Inclusive• Be Safe• Be a Web App

42Microsoft Confidential – Internal Use Only

Links

IIS Web EcoSystemhttp://www.microsoft.com/web

Web Platform Installer http://www.iis.net/learn/install/web-platform-installer/using-the-microsoft-web-platform-installerhttp://www.iis.net/learn/troubleshoot/web-platform-installer-issues/troubleshooting-problems-with-microsoft-web-platform-installerhttp://forums.iis.net/1155.aspx.

Microsoft Web Deploy http://www.iis.net/downloads/microsoft/web-deployhttp://blogs.iis.net/msdeploy/http://technet.microsoft.com/en-us/library/dd569040(WS.10).aspx Providers

Microsoft Web App Galleryhttp://www.microsoft.com/web/gallery/http://forums.iis.net/1158.aspx

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION

Microsoft Confidential – Internal Use Only

Kenny Abdiel MaitaPremier Field Engineer+58 (424)[email protected]

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION

Customer Service and Support