Advanced Windows Hosting A Dedicated Server Deployment Solution

25
Advanced Windows Hosting A Dedicated Server Deployment Solution Bernhard Frank | Mario Briana Web Platform Architect Evangelists Developer Platform and Strategy Group (Germany | CEE)

description

Advanced Windows Hosting A Dedicated Server Deployment Solution. Bernhard Frank | Mario Briana Web Platform Architect Evangelists Developer Platform and Strategy Group (Germany | CEE ). Dedicated Server Survey Results. - PowerPoint PPT Presentation

Transcript of Advanced Windows Hosting A Dedicated Server Deployment Solution

Page 1: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Advanced Windows HostingA Dedicated Server Deployment Solution

Bernhard Frank | Mario BrianaWeb Platform Architect Evangelists

Developer Platform and Strategy Group (Germany | CEE)

Page 2: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Dedicated Server Survey Results

Designed for dedicated server customer Web-VAPs (Value Added Provider)

Key Findings:

1.Most Customers using the Server for App Hosting

2.Most Customers call themselves Developer

3.Most Customer have 1 up to 3 sites on one machine

Page 3: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Model behind Advanced Windows Hosting

Special Software package + How-to‘s for hosters / WebVAPs and customers that extends the Windows Server capabilities to a „Value Add Offering“.

Advanced Windows Hosting

- package

Price/Hoster

LAMP base Price

LAMP base value

Hoster Invest

Value/User Price/Hoster

Windows base Price

Windows base value

Hoster Invest

Value/User

Hoster Invest

LAMP Land

Hoster Invest

WISA LandTiger Duck:

To increase value!!

Page 5: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Scenario

Page 8: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

The Packagemanagervalue props

@Hoster: Open-Source (extenable and customizable) Packages (extenable and customizable) (OS, Language, V- or Dedicated

Server) Context specific information about the packages (html) Consistent installations. (easier Troubleshooting, more secure)

@customer: Reducing installation times, searching for useful components Customer decides what to install. Requirements / Dependencies are checked and shown before installing. Benefit of expert Installation - Know-How Get more value what the platform provides.

Page 10: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Open-Source:0€! vs. InstallShield Express ca. 500€ extensible

@DeveloperCreate an MSI for your web app in 30 min(asp.net/php/perl/(my)sql)

@UserEasy installation in a well known consistent manner

Web Application Installer:

WiXML MSI Paket

Page 11: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

High level architecture overview

Windows Server OS

IIS

.net 2.0 (ASP.NET)

Advanced Windows Hosting Base (configurable, e.g. ASP.NET AJAX, WSS, SQL Express…)

Web-Application

(WIX Package)

Web-Application

(WIX Package)Provided by

Hoster

Web-Application

(WIX Package) Provided byCommunity

HosterVanillaInstall

AWH

Package ….

Page 12: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Usage Scenarios

ISV generatespackage

Hoster generatespackage

Community generatespackage

WAI

MS Package Server

Community Package Server

Hoster Package Server

Install ClientGet package

List

Decide what to install

Download / Install

Raktajino

MS

I Pac

kets

MS

I Pac

kets

XM

L D

ef fi

les

Page 13: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Try it out - Links

Packagemanager:http://www.codeplex.com/raktajino

Web Application Installer Template:http://www.codeplex.com/wai

Advanced Windows Hosting Site (German)http://www.advanced-windows-hosting.net

Page 14: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Demo

Page 15: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Q&A

Page 16: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Backup slides

Page 17: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

PACKAGEMANAGER ARCHITECTURE

Page 18: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Project Structure App.config Business Logic

BL.cs Windows Forms

Raktajino.cs (main UI)

UserEulaDialog

UserInputDialog Resources

Resources folder

HostingOptions.xml

InstallationRequirements.xml

Localization (not planned for 1st release but already on Codeplex)WinformStrings.resxWinformStrings.de-DE.resx

Page 19: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

App.configHostingOptionsURL

http://localhost/tigerduck/hostingoptions.xml?lang=%language%&OS=%OS%

InstallationRequirementsURLhttp://localhost/tigerduck/InstallationRequirements.xml"

Bannerresources\banner.htm

ProductDescriptionURLresources\raktajino.htm

BackgroundInstallCheckTrue/False

SortProductTreeViewTrue/False

DownloadSubDirectoryWhen downloading this is the place where stuff gets stored

TempSubDirectoryUsed to unzip downloaded packages

DisableTabControlDuringInstallTrue/False

in case a hoster want the customer to be able to click on Packages while we are installing

Culturede-DE

Page 20: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

HostingOptions.xml

Package DefinitionTitle, DescriptionCategory Install URL and Eula URLInstallRequirements

○ Referenced in Installrequirements.xmlUserInputAction

Page 21: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

InstallationRequirements.xml

External Check (expensive regarding resource consumption!) Property="IIS6 configured with FastCGI for PHP"

SpecialFolder="%SystemRoot%" SearchPath="system32\" CheckFile="cscript.exe" Arguments="inetsrv/fcgiconfig.js -get -section:"PHP" -ExePath„

Compare Method="ValueContains“ php-cgi Registry Check

Property="IIS Version greater 4" Key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters" Value="MajorVersion“

Compare ValueType="Int32“ Method="ValueGreaterThan“ 4 File Check

Property="ASP.NET version 2.0" SpecialFolder="c:\" SearchPath="Windows\Microsoft.NET\Framework\v2.0.50727" FileName="aspnet_isapi.dll„

Compare Method="ValueExists" MSI Product Check

Property="ASP.NET AJAX 1.0 installed" GUID="082BDF7B-4810-4599-BF0D-E3AC44EC8524"

• In the 1st release we are not supporting WMI check because• WMI Product Check is not installed by default on a WS 2003 box• actually MSI Product check is doing almost the same• there was a bug in Vista (fixed with SP1)

Page 22: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

InstallationRequirements.xml

External Check (expensive regarding resource consumption!) Property="IIS6 configured with FastCGI for PHP"

SpecialFolder="%SystemRoot%" SearchPath="system32\" CheckFile="cscript.exe" Arguments="inetsrv/fcgiconfig.js -get -section:"PHP" -ExePath„

Compare Method="ValueContains“ php-cgi Registry Check

Property="IIS Version greater 4" Key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters" Value="MajorVersion“

Compare ValueType="Int32“ Method="ValueGreaterThan“ 4 File Check

Property="ASP.NET version 2.0" SpecialFolder="c:\" SearchPath="Windows\Microsoft.NET\Framework\v2.0.50727" FileName="aspnet_isapi.dll„

Compare Method="ValueExists" MSI Product Check

Property="ASP.NET AJAX 1.0 installed" GUID="082BDF7B-4810-4599-BF0D-E3AC44EC8524"

• In the 1st release we are not supporting WMI check because• WMI Product Check is not installed by default on a WS 2003 box• actually MSI Product check is doing almost the same• there was a bug in Vista (fixed with SP1)

Page 23: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

BL.cs – Business Logic

Called from UI Classes for

PackagesInstallationRequirementsInstallationActionUserInput

DOES NOT INSTALL anything DOES NOT DOWNLOAD anything

About to change in next version

Page 24: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Business Logic

UserInput class omitted for clarity

InstallationRequirements.xml

HostingOptions.xml

Page 25: Advanced  Windows Hosting A  Dedicated  Server  Deployment  Solution

Raktajino.cs - UI On Load

Create Package structures○ Add Package Information to the Installation tabs

Add Installation Requirements Check Installation Requirements in a background worker thread

○ Update the information in the Installation tabs Installable, Dependent on other Install, Already installed

Install Button According to Requirements

○ User will be referred to another Package○ Package gets installed in background in a separate process○ If specified

User accepts EULA Enters requested input