« Compacten in Domino - en Exchange | Main| Domino op Linux: alternatieve Enterprise distributies »

Een alternatieve HTTP-webserver voor Domino?

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Domino wordt frequent ingezet als webserver, voor het serveren van webmail, intra- en internetsites. Ook e-office gebruikt natuurlijk de Domino webserver: we hosten Domino-websites voor diverse organisaties. Die worden meestal puur via Domino geserveerd, en dat bevalt prima.
Toch zijn er redenen om in een een aantal situaties een andere webserver vóór Domino te plaatsen. Kort wil ik ingaan op de alternatieven, de redenen en de voordelen; daarnaast ben ik ook benieuwd naar jullie ervaringen met, en mening over, deze materie.

Twee alternatieve frontend webservers
De twee door IBM ondersteunde alternatieve HTTP frontend server voor Domino waar wij veel ervaring mee hebben, zijn IBM HTTP Server (een door IBM aangepaste versie van de open source webserver Apache) en Microsoft IIS. IBM HTTP Server (IHS) draait op Linux, AIX, Solaris, HP-UX en Windows; MS IIS natuurlijk alleen op Windows. Voor de integratie van deze beide servers (IHS en IIS) in Domino, biedt IBM documentatie in de Administrator Help en op diverse websites.

In de door IBM gesupporte configuraties blijft Domino HTTP serveren; alleen wordt er een andere webserver tussen de eindgebruiker en Domino ingezet. Het is dus niet zo dat Domino HTTP helemaal verdwijnt.

Redenen
Vanuit eigen ervaring zie ik meerdere redenen om een alternatieve frontend webserver in te zetten: snelheid, flexibiliteit, security, authenticatie-mogelijkheden en portal.

Snelheid
De Domino webserver is niet de snelste in zijn klasse. De performance is voor de meeste doeleinden acceptabel, maar het blijft een feit: pure Domino HTTP is niet supersnel. Een andere frontend webserver zal daarom vrijwel altijd snelheidswinst opleveren. Bovendien kun je zo workload van de Domino HTTP-server afhalen; je kunt bijvoorbeeld SSL encryptie/decryptie of het serveren van plaatjes overbrengen van Domino naar de HTTP-server.
Mijn collega Jorn Bijnsdorp zegt dat een goed getunede Microsoft IIS server als frontend voor Domino het snelst is. Maar, zoals gezegd, dat helpt alleen als je gebruik maakt van een Windows server. Op Linux en Unix ben je aangewezen op IHS, dat overigens niet veel onderdoet voor IIS.

Flexibiliteit
Als alle HTTP-verkeer in een rechte lijn van de browser naar Domino gaat, kun je daar weinig invloed op uitoefenen. Met een andere webserver als frontend, verandert dat. Zowel IHS als IIS werken (in dit geval) met een plugin-cfg.xml bestand, waarin allerlei zaken voor het HTTP-verkeer geconfigureerd kunnen worden: ondermeer virtuele hosts, url-groepen, servers, clusters, load balancing en failover. Een binnenkomend url-request van een browser wordt via de plugin-cfg.xml gematched met een bepaalde target-server(-cluster); vervolgens wordt het request daar naartoe gerouteerd, waarbij rekening gehouden wordt met load balancing en failover, als dat geconfigureerd is.

Dit geeft me veel meer mogelijkheden om te sturen in het HTTP-verkeer. Daar waar ik vroeger één route had naar één Domino-server, heb ik nu de mogelijkheid om, volledig transparant, meerdere servers in te zetten, load balancing te regelen, failover in te bouwen, of het verkeer om te leiden naar een heel andere server, enzovoorts. Bijzonder handig ook bij migratietrajecten!

Security
De hierboven genoemde flexibiliteit geeft ook security-voordelen. Met behulp van een aparte frontend-server kun je een scheiding van lagen bewerkstelligen: je kunt de HTTP-server in een DMZ zetten, en de Domino-server met de data netjes achter de firewalls. En met behulp van de plugin-cfg.xml kun je het aantal soorten urls dat doorgestuurd word beperken. Dat maakt het inbreken op een server een stuk lastiger.

Authenticatie
Domino met IIS als frontend kan prima gebruikt worden om een brug te slaan tussen Active Directory en Domino: SSO tussen Windows en Domino, in de browser. We hebben daar al eerder beknopt over geblogd. Meer (bijna complete) informatie over Domino, IIS en security vind u overigens hier.

Portal
In Portal-omgevingen wordt vaak gewerkt met content uit diverse bronnen, waarvan Domino er één kan zijn. Die content wordt uiteindelijk in één browserscherm getoond. In zulke omgevingen zal een Domino-gebaseerde applicatie vaak gebruikt worden als deel van de Portal; de Domino HTTP-server zal in deze scenario's vrijwel altijd een ondergeschikte rol spelen. De benadering is hier dan ook duidelijk anders dan eerder in dit artikel. Ga ik hierboven nog uit van (min of meer) standalone Domino websites; in een Portal-wereld is Domino 'slechts' één van de bouwsteentjes. De IHS- of IIS-server krijgt dan ook duidelijk de centrale rol van HTTP-server.
.
Conclusie en vraag
Er zijn naar mijn mening een aantal goede redenen om IHS of IIS vóór Domino te zetten. We hebben er ook goede ervaringen mee. Maar ik ben wel benieuwd naar jullie mening. Is Domino HTTP standalone voldoende, of is het inderdaad handig gebruik te maken van IIS of IHS? Zo ja, wat zijn jullie ervaringen?

Comments

Gravatar Image1 - Notesvrienden,

Gezien niet 1 domino omgeving gelijk is kwa opzet (firewall) en zeer zeker beveiliging in het algemeen zullen diverse notes shops niet altijd voor de meest snelle oplossing kunnen kiezen
Persoonlijk sluit ik me aan bij Jorn dat een GOED opgezette ISS een goed en snel alternatief is
IHS bied daarentegen een beter alternative in DMZ omgevingen
De beste performance hebben we echter bereikt door puakma webbooster voor de domino htp stack te draaien
http://www.puakma.net/puakma/booster.pma/p?OpenPage&Name=WebBoosterHome
tevens maken we gebruik van de ntlmltpa module om een SSO met de domino omgeving te realiseren
m.a.w een tevreden gebruiker

my 2 cents

Kurt

Gravatar Image2 - Ha Kurt,

Hoeveel geheugen vereist Puakma totaal? Je moet er Java voor runnen, en Puakma zal zelf ook nog wel wat verbruiken. Mijn ND7 testserver thuis draait op 384 MB RAM, en ik durf Puakma er niet bij te installeren

Gravatar Image3 - Gerco,

Bij men werkgever hebben we puakma draaien op wintel ....
De memory footprint blijft tussen de 6 en 15 mb
Ikzelf heb nog geen ervaring onder linux

gegroet

Kurt

ps: Ik wil jullie nogmaals feliciteren met jullie schitterend blog

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

OpenNTF random projects

PlanetLotus