PDA

Bekijk Volledige Versie : horizontaal schalen van shared hosting



asusk7m550
14/05/10, 10:17
Hallo allen,

Wij willen met onze hosting servers graag horizontaal schalen. Zodat we een klant met zijn domeinnamen gemakkelijk van de ene server naar de andere kunnen overzetten.

Ik vroeg me af hoe andere collega's dit doen. Hebben jullie één centrale database (LDAP of MySQL/postgreSQL) met de gegevens van alle klanten?
Of staat elke server los van elkaar?

Wat doen jullie met de email, hebben jullie dit helemaal apart? Of draait de email van een domein ook op de server waar het domein op draait?

Wij hebben op dit moment de DNS en het ontvangen van de email uit onze standaard hosting servers gehaald, maar graag willen we nog verder. Zodat we uit eindelijke zo schaalbaar mogelijk zijn.

Graag hoor ik hoe anderen dit doen.

marsipulami
14/05/10, 10:26
ligt eraan denk ik hoe zo'n garanties wilt leveren. Wanneer je een controlpanel als DA gebruikt kan je deze zo overzetten via admin_backup naar een andere DA server.

Als je dan gewoon zorgt dat de DNS records van het domein hun TTL zo laag mogelijk staat dan voorzie ik weinig problemen

asusk7m550
14/05/10, 10:34
Op dat moment heb je volgens mij nog steeds allemaal aparte DA servers.

En nog steeds geen mogelijk om je gebruikers centraal te beheren.

Geert-Jan
14/05/10, 10:37
Hallo allen,

Wij willen met onze hosting servers graag horizontaal schalen. Zodat we een klant met zijn domeinnamen gemakkelijk van de ene server naar de andere kunnen overzetten.



Op dat moment heb je volgens mij nog steeds allemaal aparte DA servers.

Hoe heb jij dit centraal beheer dan voor ogen?

Yourwebhoster
14/05/10, 10:39
Op dat moment heb je volgens mij nog steeds allemaal aparte DA servers.

En nog steeds geen mogelijk om je gebruikers centraal te beheren.


Alles staat gewoon in WHMCS (behalve de test accountjes) en bij het overschakelen zet je de TTL lager, admin backup overzetten en in WHMCS de server aanpassen.
De DNS servers zitten in de cluster (neem aan dat het bij iedereen wel zit) dus dat zit automatisch goed (wel even TTL weer op normaal zetten na het verhuizen).

Ramon Fincken
14/05/10, 10:52
Vind je een migratie naar bijvoorbeeld een andere DA bak dan ook schaalbaar?

asusk7m550
14/05/10, 10:53
Hoe heb jij dit centraal beheer dan voor ogen?

Dat is dus nou juist mijn vraag. Ik heb het idee dat zoiets wel met een LDAP server zou moeten kunnen. Maar ik heb nog geen CP kunnen vinden die zoiets ondersteunt.

Naar mijn idee zijn zowel Plesk, CPanel en DA apart servers. Het is wel mogelijk om gebruikers te migreren, maar dit gaat dan offline (niet dat dat trouwens een probleem is).


Vind je een migratie naar bijvoorbeeld een andere DA bak dan ook schaalbaar?

Hiermee heb ik denk ik jou vraag al beantwoord.

Het probleem begint bij onze eigen website, wij willen dat klanten daar op kunnen inloggen met de gegevens die gebruiken om in te loggen op het CP. Dit betekend dat we op onze website verbinding moeten maken met al onze shared hosting server. Dit is niet echt wenselijk en ik verwacht dat er meer bedrijven zijn met dit probleem.

Geert-Jan
14/05/10, 10:58
Het probleem begint bij onze eigen website, wij willen dat klanten daar op kunnen inloggen met de gegevens die gebruiken om in te loggen op het CP. Dit betekend dat we op onze website verbinding moeten maken met al onze shared hosting server. Dit is niet echt wenselijk en ik verwacht dat er meer bedrijven zijn met dit probleem.

welk CP gebruik je dan?

asusk7m550
14/05/10, 10:59
Alles staat gewoon in WHMCS

Ik zal hier eens naar kijken, het billing gedeelte zullen we niet nodig hebben, maar mogelijk de andere oplossingen wel.

asusk7m550
14/05/10, 12:03
welk CP gebruik je dan?

Op dit moment plesk, maar dit kan gewijzigd worden in de toekomst.

PimEffting
15/05/10, 12:39
Dit kun je eventueel oplossen met Central Login van 4PSA
http://www.4psa.com/index.php?pag=4psacentral&pcat=products

aristo
15/05/10, 13:03
We gebruiken de DA server als centrale server.
Aparte servers maken we voor: CMS-systemen, Applicaties die persé op .ASP moeten draaien, etc. (kortom zwaarbelaste of heel specifieke onderdelen op specialistisch opgebouwde servers zetten. En via DNS verwijzen.
Bij eerste instelling even werk, maar via de DA server daarna prima bij te houden.
En kleine simpele sites draaien we gewoon op de DA server zelf.

Vrgr Eef

The-BosS
15/05/10, 14:38
Je zou ook kunnen kijken om je web, mail, mysql servers in clusters te draaien met loadbalancer er voor. De clusters hang je dan even aan een storage systeem (al dan niet redundant), zodat de loadbalancer zelf kan beslissen welke node hij gebruikt. Dan maakt het ook niet uit als er bvb een node in de cluster uitvalt of uitgezet wordt, aangezien ze toch centrale storage gebruiken. Ken zelf een paar bedrijven die s'nachts 40% van hun nodes automatisch uitschakkelen en deze rond 6u terug automatisch laten opstarten.

asusk7m550
17/05/10, 12:26
Dit kun je eventueel oplossen met Central Login van 4PSA
http://www.4psa.com/index.php?pag=4psacentral&pcat=products

In het verleden hebben we wel vaker modules van 4psa gebruikt. Deze had ik nog niet gezien.

Dit lost het probleem nog niet op, maar is mogelijk wel een oplossing voor de klant. Het nadeel hiervan is wel dat je altijd Plesk moet blijven gebruiken. Je kunt er niet bijvoorbeeld een DA server naast zetten. Maar dit zal met elke systeem waarschijnlijk zo zijn.

asusk7m550
18/05/10, 16:38
Je zou ook kunnen kijken om je web, mail, mysql servers in clusters te draaien met loadbalancer er voor.

Hier hebben we al eerder over nagedacht, maar je zult dan nog steeds alle websites op 1 server hebben draaien. Eén website draait dan wel ook op meerdere servers. Maar volgens mij is dit nog steeds niet erg wenselijk.

Op het moment dat je bijvoorbeeld 10.000 website host, krijg je deze toch niet op 1 server. Je zult dat namelijk problemen krijgen met het maximum aan open bestanden enzo.

Verder heb ik gekeken naar WHMCS, maar daar is het volgens mij niet mogelijk om de verschillende services verspreid op meerdere servers te draaien.

The-BosS
18/05/10, 17:22
Hier hebben we al eerder over nagedacht, maar je zult dan nog steeds alle websites op 1 server hebben draaien. Eén website draait dan wel ook op meerdere servers. Maar volgens mij is dit nog steeds niet erg wenselijk.

Op het moment dat je bijvoorbeeld 10.000 website host, krijg je deze toch niet op 1 server. Je zult dat namelijk problemen krijgen met het maximum aan open bestanden enzo.

Verder heb ik gekeken naar WHMCS, maar daar is het volgens mij niet mogelijk om de verschillende services verspreid op meerdere servers te draaien.

Is dat niet de reden waarom een cluster bestaat, een cluster is niet 1 server maar verschillende servers (zelf verschillende cpu's) door software aan elkaar gekoppeld. De software samen met de loadbalancers zorgt voor een goede verdeling tussen de nodes. De toegewezen node zal dus de files openen en inlezen vanaf de storage (SAN).

Als we even kijken, de CIA, FBI, pentagon, NASA, Dreamworks gebruiken allemaal clusters en dat zal wel met een reden zijn lijkt me.

gjtje
19/05/10, 08:59
Clusteren kan op vele manieren dus dat zegt weinig. ;)

asusk7m550
19/05/10, 15:19
Als we even kijken, de CIA, FBI, pentagon, NASA, Dreamworks gebruiken allemaal clusters en dat zal wel met een reden zijn lijkt me.

Ik denk niet dat bovenstaande organisaties op een server (of een cluster) meerdere website hebben draaien. Op het moment dat je veel bezoekers hebt op één website, is het goed om een cluster te gebruiken. Maar op het moment dat je per website weinig bezoekers hebt, maar wel veel websites is een cluster denk ik niet de oplossing.

Mogelijk dat een cluster op een andere manier gebruikt kan worden.

wim*
25/05/10, 19:38
Je kan in WHMCS via het klanten gedeelte inloggen op het controlepanel van de betreffende server. (Althans.. cPanel. Plesk en DA weet ik niet, maar lijkt mij wel)

Om mail en DB ed automatisch aan te maken op aparte servers moet je wel zelf wat knutselen denk ik..

blieb
02/06/10, 15:20
Als je bij het punt komt waarop je teveel specifieke eisen hebt, kan je ervoor kiezen om zelf scripts te maken die alles over de beschikbare servers distribueert, en overhevelt wanneer dat nodig is.

Dan is het alleen nog een kwestie van kijken naar welke CP's daar het best voor geschikt zijn.

asusk7m550
02/06/10, 16:35
Zover ben ik ondertussen ook zelf. Jammer dat er geen standaard oplossing is die we kunnen gebruiken.

Zoals ik het nu kan zien, moet ik inderdaad zlef aan de gang.

Randy
02/06/10, 20:34
Controlpanels als Plesk en DirectAdmin zijn leuk, maar niet makkelijk horizontaal te schalen, laat staan te clusteren. En een losse MySQL, DNS of mailserver maakt nog geen cluster. Losse onderdelen zijn prima te clusteren, een NIS / LDAP / AD server heb je zeker nodig alsmede centrale storage. Neem er twee loadbalancers bij en zet een codeslaaf aan het werk om de provisioning te regelen.

Het lijkt vrij makkelijk, maar alles begint natuurlijk met een goed Functioneel Ontwerp. En om die te kunnen maken, heb je eerst de wensen nodig. Wil je Windows of Linux based, welke SQL-servers wil je hebben, welke mailapplicatie ga je gebruiken, hoe ga je je back-ups inregelen en hoe ga je deze bij een grote fail binnen 4 uur herstellen. Zomaar even wat vragen om je op weg te helpen.

Echte out-of-the-box oplossingen bestaan niet.

Wido
02/06/10, 21:10
Met Randy, iedereen hangt maar aan een controle paneel, waardoor je problemen krijgt.

Horizontaal schalen met webhosting gaat prima, wij hebben cluster met enkele duizenden websites er op, daar zijn de webservers en de storage horizontaal geschaald.

Maar dan heb je wel een 100% custom oplossing draaien waar je dus te krijgen maakt met een LDAP e.d. voor je logins, mail en zulke zaken.

Als je zoiets dus wil doen, dan zal je een controle paneel los moeten laten en naar een custom oplossing moeten gaan.

asusk7m550
02/06/10, 23:07
Dat is nou net wat ik bedoel, zou jij meer uit de doeken kunnen doen hoe jullie daar in zijn begonnen?

Wido
03/06/10, 08:38
Je blijft constant bezig, al heb denk ik dat we de afgelopen 1.5 jaar een stabiele omgeving hebben waarmee alles beter en stabiel draait.

Het is proberen, proberen en nog eens testen. Je gaat echt van alles tegen komen, maar dat zijn zo veel dingen, dat valt zo even niet op te sommen.

asusk7m550
03/06/10, 09:28
Wij willen ook geen kant en klare oplossing, daar leer je namelijk zelf niets van. Wel vroeg ik me af hoe de infrastructuur er uit ziet.

Ik neem aan dat je een aantal webserver hebt (met apache). Draaien alle websites op alle servers, of maken jullie nog onderscheid tussen de verschillende websites?
Hoeveel websites hebben jullie bijvoorbeeld op 1 server staan? Ik ga ervanuit dat 1 website ook op meerdere servers staat. Zodat je kunt loadbalancen tussen de verschillende servers.

Qua storage begrijp ik wel hoe je dit in een cluster kunt oplossen.

Verder vroeg ik me ook nog af hoe je het ophalen van de email kunt regelen. Staan alle emailadressen op 1 mailserver (natuurlijk inclusief loadbalancing) of hebben jullie de emailadressen verspreid over meerdere servers.

Graag wil ik het begin goed doen, zodat we later niet tegen problemen aan lopen waardoor we alles opnieuw moeten migreren. Ik weet nu al dat we tegen problemen aan gaan lopen, maar dat is vanzelf sprekend.

Wido
03/06/10, 09:43
Ik neem aan dat je een aantal webserver hebt (met apache). Draaien alle websites op alle servers, of maken jullie nog onderscheid tussen de verschillende websites?We hebben verschillende clusters, per SLA bepalen we op welk cluster je komt.


Hoeveel websites hebben jullie bijvoorbeeld op 1 server staan? Ik ga ervanuit dat 1 website ook op meerdere servers staat. Zodat je kunt loadbalancen tussen de verschillende servers.We hebben niet een aantal websites per server, elke webserver in het cluster handelt aanvragen af voor alle websites op dat cluster.

We kijken ook niet naar hoe veel sites er op kunnen, nee, hoe veel resources er nog over zijn, op basis daarvan gaat er hardware bij.


Verder vroeg ik me ook nog af hoe je het ophalen van de email kunt regelen. Staan alle emailadressen op 1 mailserver (natuurlijk inclusief loadbalancing) of hebben jullie de emailadressen verspreid over meerdere servers.Ook daar hebben we een apart cluster voor draaien. Ook daar is het zelfde verhaal, je plaatst extra machines er bij waar nodig. In een centrale database staan vervolgens al je mail adressen.[/QUOTE]


Graag wil ik het begin goed doen, zodat we later niet tegen problemen aan lopen waardoor we alles opnieuw moeten migreren. Ik weet nu al dat we tegen problemen aan gaan lopen, maar dat is vanzelf sprekend.Snap ik, maar geloof me, je gaat echt nog tegen heel wat problemen aan lopen die je van te voren niet kan overzien.

asusk7m550
03/06/10, 09:55
We hebben niet een aantal websites per server, elke webserver in het cluster handelt aanvragen af voor alle websites op dat cluster.
Misschien dat ik het nu verkeerd zie, maar betekent dit dat elke webserver voor elke domeinnaam een vhosts heeft?


Ook daar hebben we een apart cluster voor draaien. Ook daar is het zelfde verhaal, je plaatst extra machines er bij waar nodig. In een centrale database staan vervolgens al je mail adressen.
Dit is helemaal duidelijk.

Wat voor soort database gebruik je voor de gebruikers, is dit een standaard MySQL database, of moet ik dan meer aan postgreSQL of LDAP denken?

Wido
03/06/10, 10:08
Misschien dat ik het nu verkeerd zie, maar betekent dit dat elke webserver voor elke domeinnaam een vhosts heeft?Correct, elke webserver heeft bij ons enkele duizenden (en soms tienduizenden) virtual hosts ingeladen.


Wat voor soort database gebruik je voor de gebruikers, is dit een standaard MySQL database, of moet ik dan meer aan postgreSQL of LDAP denken?Wij gebruiken hiervoor een MySQL database.

asusk7m550
03/06/10, 10:52
Bedankt voor de informatie. Ik denk dat we er zo wel uit moeten kunnen komen voor nu.

Sander-
03/06/10, 13:17
Uit je posts begrijp ik dat je een techneut bent, net als velen hier (inclusief ikzelf). Maar probeer ook te kijken naar de zakelijke kant van dit verhaal. Tuurlijk is het mooi als alles vanuit 1 cluster etc etc etc draait, maar als je alle uren optelt die je moet investeren in het bouwen, onderhouden, supporten, debuggen etc van een dergelijk platform. Is het dan nog wel zoveel voordeliger dan het gebruiken van losse servers, bijv op een virtualisatielaag? Waardoor je dmv de virtualisatie een stukje HA kunt verzorgen en door gebruik van standaard software een hoop uren, tijd en dus ook geld bespaard. Het extra stukje administratie kan prima opgevangen worden door pakketten als WHMCS, waardoor je bijv het aanmaken en verwijderen van accounts al keurig centraal hebt.

Cybafish
03/06/10, 14:11
Virtualisatie is sowieso the way to go. Je kunt wel heel moeilijk gaan doen met het cluster-proof maken van verschillende onderdelen van je infra (softwarematig, bedoel ik dan), maar met virtualisatie is dat gewoon niet/nauwelijks meer nodig.

asusk7m550
03/06/10, 14:14
Het klopt dat ik een techneut ben. Daarnaast denk ik ook zeker mee over wat mogelijk is qua uren en wat 'goedkoper' is.

Het probleem is dat pakketten als WHMCS niet goed te gebruiken zijn bij meerdere servers (die aan elkaar gekoppeld moeten worden). Wat ik tot nu toe hiervan gezien heb, is dat WHMCS het beheer doet van de klanten, maar dat de accounts toch nog op die server zelf aangemaakt moet worden.

Voorzover ik kan zien, is het met bijvoorbeeld WHMCS niet mogelijk om de verschillede services te spreiden over meerdere servers. Waarschijnlijk is het wel mogelijk om hiervoor een API te schrijven. Maar ook dan ben je weer zelf aan het programmeren.

Verder zul je ook als je WHCMS in gebruik gaan nemen, goed moeten kijken naar de architectuur van je huidige systemen en naar wat je in de toekomst wil hebben.

Mocht ik er naast zitten dan hoor ik het graag. Het zou zonde zijn als we nu dingen voor ons zelf gaan maken, terwijl het al bestaat.

asusk7m550
03/06/10, 14:38
Virtualisatie is sowieso the way to go. Je kunt wel heel moeilijk gaan doen met het cluster-proof maken van verschillende onderdelen van je infra (softwarematig, bedoel ik dan), maar met virtualisatie is dat gewoon niet/nauwelijks meer nodig.

Virtualisatie is gemakkelijk zodat je meerder servers op 1 fysieke server kunt gebruiken. Hierdoor bespaar je zeker in de stroom kosten. Maar om via virtualisatie je complete HA oplossing te maken zou ik niet aanraden.

Het is altijd mogelijk dat de VPS zelf kapot gaat. Doordat bijvoorbeeld je logbestanden vol lopen. Dit los je niet op met virtualisatie. Je kunt je VPS dan bijvoorbeeld wel overzetten naar een andere fysieke server, maar het probleem hou je.

The-BosS
03/06/10, 16:35
Het is altijd mogelijk dat de VPS zelf kapot gaat. Doordat bijvoorbeeld je logbestanden vol lopen. Dit los je niet op met virtualisatie. Je kunt je VPS dan bijvoorbeeld wel overzetten naar een andere fysieke server, maar het probleem hou je.

En dit los je dan op door je /var/log in een apparte partitie te steken zodat de rest van je hd niet vol loopt en daardoor je services beginnen te crashen. Of door het gebruik van logrotate.

Trouwens je kan ook vps'en (vm's) clusteren moest dat het probleem zijn waar je nu tegenaan kijkt. Maar gelijk wat je doet hou er dan wel rekening mee dat je alles redundant maakt zowel routers, loadbalancer, switches, SAN storage etc. Want anders ben je terug niet veel met je mega cluster als je netwerk het bvb niet aan kan of er 1 router down gaat, zelfde verhaal met de rest eigenlijk. Om dan nog maar te zwijgen over het verdelen van je resources over verschillende locaties als je het echt 100% safe wilt hebben.

Ik zou zeggen maak eens een simpele cluster bvb 2 kleine vps'en (vm's) in een cluster steken en begin daar eens mee te spelen zodat je de werking begrijpt. Dan is het volgens mij simpelder om jouw beslissing te maken als je zelf zal ervaren hoe moeilijk of makkelijk het is om een kleine cluster te beheren. En er dan bvb nog een extra node (vm) bij te voegen.

Stel je dan ook eens de vraag welke hardware dat je gaat gebruiken, neem je normale servers in je clusters op als node's. En zet je een extra node bij wanneer die nood er is of steek je bvb extra cpu (of nieuwere) of ram in je bestaande node. Of ga je een bladeserver gebruik die je dan kan uitbreiden met extra blades en later dan met extra bladeservers.

asusk7m550
03/06/10, 17:18
Het ging mij niet perse om de oplossing voor dit voorbeeld. Ik wilde zeggen dat een VPS niet een oplossing is voor het beschikbaar houden van je services.

Ik weet ondertussen wel hoe een cluster van VPS-en werkt.

Verder is het niet het belangrijkste om alles dubbel uit te voeren. Als de MTBF van een NAS of SAN bijvoorbeeld erg hoog is, zou ikzelf meer tijd steken in het redundant maken van een webserver dan in het redundant maken van een NAS of SAN.

Qua hardware ben ik het met je eens, je moet goed nadenken wat je doet. Plaats je inderdaad er een nieuwe server bij (blade of geen blade) of zorg je ervoor dat de server die er nu staat meer aankan? Dit zijn keuzes die iedereen voor zich zelf moet maken.

Randy
03/06/10, 18:59
(...)Waardoor je dmv de virtualisatie een stukje HA kunt verzorgen (...)

Enkel om uitval van hardware te voorkomen. Dit gaat slechts 5% van je technische problemen opvangen. Blijft er 95% van de fouten over die in de software zitten, waarvan 90% een menselijke oorzaak heeft. Juist dit wil je ondervangen. (Al krijgt je time-to-recovery met virtualisatie een behoorlijke slinger de goede kant op omdat je niet meer hardware afhankelijk bent).

Trans-IX B.V.
24/07/10, 11:23
Als het niet direct noodzakelijk is om websites op meerdere servers te draaien en je zoekt naar een oplossing om centraal alles te beheren en met bijvoorbeeld WHMCS te combineren voor provisioning, kun je kijken naar Plesk Expand.

Hiermee beheer je al je Plesk servers, centrale database-, email- en DNS servers en voor WHMCS zijn add-ons gemaakt die hiermee integreren.