PDA

Bekijk Volledige Versie : Hosten van een uitgebreide community site; kosten en structuur?



Bowromir
17/01/09, 03:04
Beste mensen,

Ik ben samen met 2 anderen bezig met het uitwerken van een community website. Op de site komen een groot aantal functies voor leden die vergelijkbaar zijn met een gemiddelde communitysite als bv hyves of facebook. Denk aan bv:

- Vriendenlijsten
- Fotos
- Video's (via youtube geen eigen hosting)
- Blogs
- Activiteit op de site (wat een lid doet wordt weergegeven op zijn profiel.. bv "Heeft een nieuwe foto geplaatst"
- Keuze uit verschillende thema's qua layout (door ons gemaakt, niet helemaal custom dus)
- Leden database met filters (op naam, nationaliteit etc)
- Profiel reacties (krabbels) en prive berichten etc.

Daarnaast is het de bedoeling dat er flash elementen op de homepage komen (flash newsreel voor t weergeven van artikelen) en willen we gebruik maken van een vBulletin forum met daarin een redelijk aantal actieve plug-ins. Denk aan een agenda functie en een Karma systeem. Op dit moment hebben we een bedrijf gevonden die de site in PHP/SQL kan programmeren. We rekenen erop dat we in de eerste 2 maanden ongeveer rond de 10 a 15.000 leden krijgen en de maanden erna een behoorlijke toename hiervan..

Ook hadden we het idee om bepaalde functies in het begin beperkt te houden voor mensen die net actief zijn.. zodat als je langer actief bent op de site je meer vrienden kan maken, meer foto's kan uploaden etc, om zo hopelijk een beetje de boel wat "lichter" te maken in de beginfase.

Nu de grote vraag van iemand die NIET thuis is in hosting en de daarbij horende technieken etc:

1:Wat zou de beste manier zijn om dit aan te pakken? Hoeveel servers zouden er nodig zijn als alle hierboven beschreven functionaliteit er komt, en onze leden actief zijn?

2: Hoe kunnen we het beste onze server(s) indelen (aparte servers voor bv het forum en de images)?

3:Welke servers raden jullie aan voor zulk soort werk, en zijn er oplossing specifiek voor dit soort sites?..

Ik heb een aantal topics gelezen op deze site oa over Hyves, waarin gepraat wordt over 1500 servers... Nu hebben we het hier over een extreem drukbezochte site, en zover ik zie heeft Hyves ook een vrij slordige code met veel extra dataverkeerd, maar voordat wij verder gaan met het geven van de opdracht aan de ontwikkelaar van de website, moeten we wel een redelijke indicatie krijgen van de kosten en onze benodigheden.. Ik heb uit ervaring geleerd dat aankloppen bij een bedrijf vaak tot verkeerde inschatting leidt wat betreft kosten en "oplossingen" omdat er toch veel commercieel belang is bij hun advies, dus vandaar dat ik de vraag hier stel..

Alvast bedankt voor het lezen, en hopelijk voor het advies :)

Randy
17/01/09, 03:31
Alles is afhankelijk van de netheid waarmee de code geschreven is en het aantal bezoekers. Ikzelf zou het in ieder geval zo opbouwen, dat alles later makkelijk op te schalen is.

- Path naar MySQL in een configbestand: localhost wijzigen naar dedicated host
- Images van images.domein.nl, zodat dit op te schalen is naar een imageserver (Lighthttp/NGIX)
- Crontabs zo maken, dat deze (deels) op een externe server kunnen draaien
- Audio/Video-rendering zo maken, dat dit (later) op een aparte server kan

Begin met een goede virtuele server, zodat opslagruimte (iSCSI SAN, geen trage lokale sata diskjes!) schaalbaar en deelbaar is. Geheugen is makkelijk uit te breiden, extra processorcores zijn makkelijk te schalen, etc.

<knip spam>

Voor nu is de code het belangrijkste. Heb je al eens gekeken naar memcached modulen, MySQL optimalisatie, i/o testing, etc?

Zomaar even een andere vraag: waarom nóg een community site. Waar gaat jullie onderscheidend vermogen liggen en heb je al een idee hoe je het eea straks in de markt gaat zetten?

wonko
17/01/09, 10:30
De hoeveelheid servers en het type ervan is in deze fase niet van belang; zorg er enkel voor dat je code door professionals geschreven is, dat je opbouw toelaat in de toekomst eenvoudig aanpassingen en bijsturingen te doen, en dat je queries naar je database goed doordacht zijn, en geoptimaliseerd worden met indexen.

Denk eraan: het traagste van elke server is IO.

Bowromir
17/01/09, 11:45
Alvast bedankt voor de tips.. Ik ga me even verdiepen in de dingen die jullie neerzetten.. nogmaals ik ben nog geen expert, dus ik moet maar een stoomcursusje hosting(techniek) gaan volgen om een beter overzicht te krijgen naar onze mogelijkheden.. Wat zijn trouwens Crontabs? en je hebt het over Virtual servers.. Bedoel je dan virtual servers op een dedicated hosting, of hoe moet ik dat voor me zien?



Zomaar even een andere vraag: waarom nóg een community site. Waar gaat jullie onderscheidend vermogen liggen en heb je al een idee hoe je het eea straks in de markt gaat zetten?

Ik zou je graag meer willen vertellen over het concept, dat is namelijk niet gebaseerd op een algemene community.. Het is specifiek gericht op een bepaalde doelgroep en onze inkomsten worden naast de standaard reclame/marketing opties op andere manieren behaald.. We hebben dan ook zeker niet de illusie dat we op de redelijk verzadigde markt van de community sites potten gaan breken.. We richten ons dus op een nieuwe doelgroep en je moet de features die ik in mijn eerste post beschreven heb dus zien als hetgene wat onze site een sterke basis geeft om onze gebruikers weer te motiveren om mee te doen aan onze hoofd manier van inkomen! Het is een vaag verhaal, maar ik kan niet te duidelijk worden natuurlijk!

@Wonko: wat bedoel je met IO ?

Enliven.nl
17/01/09, 11:49
In welke talen wordt het systeem geschreven? Hyves gebruikt ook AJAX, wat natuurlijk ook helpt tegen server load, maar dit voor de gebruiker natuurlijk weer minder fijn kan zijn, ligt er maar net aan hoe het is geschreven :)

Wij bouwen zelf ook internet applicaties, welke ook uit AJAX bestaan. Maar zodra een gebruiker javascript niet aan heeft staan, of aangeeft AJAX liever niet te gebruiken, is dat ook mogelijk!

Bowromir
17/01/09, 11:55
Enliven:

De site wordt geschreven in PHP/MySQL met idd AJAX voor o.a de zoekfunctie.. zodat mensen "live" door de leden database en vriendenlijsten kunnen zoeken.. Daarnaast komen er een behoorlijk aantal AJAX elementen op het forum.. Als een gebruiker javascript niet toelaat dan worden deze opties of uitgeschakeld of in t geval van bv de zoekfunctie, op de ouderwetse manier opgelost..

edit: ik heb even gekeken iSCI/SAN opties. Het ziet er idd goed uit voor onze doeleinden maar worden die type servers nou ook geleverd bij de gemiddelde aanbieder van dedicated servers (quickservers.nl kan ik er niks over vinden bv), of moet je dan aankloppen bij een ander bedrijf? En daarnaast enig idee wat zo'n ding gaat kosten maandelijks? Ik zie dat rackserver t heeft over t leasen van zo'n ding vanaf 2500 euro.. lijkt me een beetje veel voor een startende site :D

Enliven.nl
17/01/09, 12:00
Dat is netjes :)
En zorgen jullie er ook voor dat de browser knoppen (back en forward), gewoon blijven werken? Allemaal puntjes waar AJAX net wat meer aandacht nodig heeft ;)

Bowromir
17/01/09, 12:14
Dat is netjes :)
En zorgen jullie er ook voor dat de browser knoppen (back en forward), gewoon blijven werken? Allemaal puntjes waar AJAX net wat meer aandacht nodig heeft ;)

Ik heb het daar met onze programmeurs over gehad, en die zeiden idd dat dat een veelvoorkomend probleem was, en ze hadden daar een oplossing voor zeiden ze.. dus daar ga ik maar vanuit :D iig bedankt voor het meedenken.. er zijn zoveel dingen waar je rekening mee moet houden en die je op extra kosten kunnen jagen.. niet normaal :)

Enliven.nl
17/01/09, 12:34
Ja inderdaad!
Daarom helpt AJAX ook wel flink tegen overmatig dataverkeer ;)
Kost even wat meer om te programmeren, omdat je veel dubbel moet uitvoeren, maar uiteindelijk bespaart het je een heleboel!

Geen leading! (wonko)

Bowromir
17/01/09, 12:52
Bedankt Enliven :) Weet iemand nog het antwoord op deze vraag:

ik heb even gekeken iSCI/SAN opties. Het ziet er idd goed uit voor onze doeleinden maar worden die type servers nou ook geleverd bij de gemiddelde aanbieder van dedicated servers (quickservers.nl kan ik er niks over vinden bv), of moet je dan aankloppen bij een ander bedrijf? En daarnaast enig idee wat zo'n ding gaat kosten maandelijks? Ik zie dat rackserver t heeft over t leasen van zo'n ding vanaf 2500 euro.. lijkt me een beetje veel voor een startende site

Enliven.nl
17/01/09, 13:23
Hoeveel hits/bezoekers verwach je op een dag te hebben?

Een SAN oplossing is namelijk erg duur, en misschien kan je uit de voeten met een opstelling van een tweetal webservers, database servers en dan alles loadbalancen.

Wij hebben ervaring met het loadbalancen van dergelijke grote sites, en dit heeft altijd goed gewerkt.

En natuurlijk zorgen dat je altijd voldoende kan uitbreiden met oog op de toekomst.
En zoals hierboven al gezegt, werk met memcached! Dit scheelt al een hele hoop.

wonko
17/01/09, 13:43
ik denk dat je wat te ver gaat zoeken. Zet nu maar eens je software op een testserver (je hebt toch een testomgeving denk ik), en ga die even belasten (jmeter, ab, ...), en zie wat er gebeurt. Kijk na waar de knelpunten zitten...

Test je meest bezochte pagina's, met realistische sets aan data (15k leden, genoeg blog/foto/...-entries, etc etc...)! Test test test! Meet, analyseer, tune, en test opnieuw...

(btw, ajax is geen taal, het is een techniek)




@Wonko: wat bedoel je met IO ?

IO = input/output - denk database queries en filesystem access.

Bowromir
17/01/09, 14:03
ik denk dat je wat te ver gaat zoeken. Zet nu maar eens je software op een testserver (je hebt toch een testomgeving denk ik), en ga die even belasten (jmeter, ab, ...), en zie wat er gebeurt. Kijk na waar de knelpunten zitten...

Test je meest bezochte pagina's, met realistische sets aan data (15k leden, genoeg blog/foto/...-entries, etc etc...)! Test test test! Meet, analyseer, tune, en test opnieuw...

(btw, ajax is geen taal, het is een techniek)



IO = input/output - denk database queries en filesystem access.

Bedankt voor je adviezen! Op dit moment zijn we de laatste hand aan het leggen aan het functioneel ontwerp van de hele website, dus we staan nu op het punt om met de ontwikkeling te starten! Het probleem is dat we een gelimiteerd budget hebben en het zou dus zonde zijn om duizenden euro's te investeren in het opzetten van de website en vervolgens in de problemen te komen omdat we op onverwacht hoge serverkosten uitdraaien.. vandaar dat ik nu een beetje een inschatting probeer te maken.. Nu je een beetje een beeld hebt van de situatie denk je dat we in het begin vooruit kunnen met het aanschaffen van bijvoorbeeld een goede dedicated server als deze:

Processor: 2x Intel Xeon E5410
Processor details: 12MB cache, 4 cores
Geheugen: 4GB DDR2
Hardeschijf: 2x 250GB (7200rpm)
RAID: RAID0 of RAID1
KVM over IP: Optioneel, slechts € 49/maand
Dataverkeer: 1000GB op 100mbit

Of kunnen we beter enkele kleine servers nemen om zoals Randy zegt, de data van bv plaatjes en fora te verspreiden.. Nogmaals bedankt voor de hulp mensen :D

@Enliven.nl: Ik had over je bericht heengelezen.. dat is misschien in het begin de beste oplossing.. Wat betekend load balancen? Dat je zorgt dat de verkeerd automatisch verdeeld word tussen de servers ofzo? En dan nog de vraag.. wat is dan een goede server om mee te beginnen.. moeten we rekenen op bijvoorbeeld 2000 euro voor bv 3 maanden hosting?

Enliven.nl
17/01/09, 14:07
Bedankt voor je adviezen! Op dit moment zijn we de laatste hand aan het leggen aan het functioneel ontwerp van de hele website, dus we staan nu op het punt om met de ontwikkeling te starten! Het probleem is dat we een gelimiteerd budget hebben en het zou dus zonde zijn om duizenden euro's te investeren in het opzetten van de website en vervolgens in de problemen te komen omdat we op onverwacht hoge serverkosten uitdraaien.. vandaar dat ik nu een beetje een inschatting probeer te maken.. Nu je een beetje een beeld hebt van de situatie denk je dat we in het begin vooruit kunnen met het aanschaffen van bijvoorbeeld een goede dedicated server als deze:

Processor: 2x Intel Xeon E5410
Processor details: 12MB cache, 4 cores
Geheugen: 4GB DDR2
Hardeschijf: 2x 250GB (7200rpm)
RAID: RAID0 of RAID1
KVM over IP: Optioneel, slechts € 49/maand
Dataverkeer: 1000GB op 100mbit

Of kunnen we beter enkele kleine servers nemen om zoals Randy zegt, de data van bv plaatjes en fora te verspreiden.. Nogmaals bedankt voor de hulp mensen :D

Ik zou als ik jou was toch gaan voor 15.000 rpm hardeschijven, zeker als hier je database op gaat draaien! Tevens zou ik gaan voor raid 10

Wat is je budget voor de kosten van de servers per maand?

Bowromir
17/01/09, 14:09
@Enliven: Ik denk dat we ongeveer kunnen rekenen op een budget van ongeveer 2000 euro voor 3 maanden (700 per maand max. dus!).. als we uitgaan van de verwachte groei natuurlijk! Als het concept dan niet aanslaat zoals we hopen kunnen we de stekker er nog uittrekken voordat we echt in de shit komen!

wonko
17/01/09, 16:03
vergeet het om nu de juiste server te kiezen. Ga bij een provider die je een VDS kan leveren, met management en hulp bij het tunen, en je in de toekomst advies kan geven over je groeipad (grotere vds, twee, dedicated,...). Het lijkt me dat je niets afweet van tuning en programmatie van drukke sites; denk niet dat je het op één maand snel even kan leren. Ga liever ten rade bij een partij die (aantoonbaar) je kan helpen en ondersteunen (steek liever 100 euro in duidelijk advies dan elke maand 50 euro in een server die je eigenlijk had kunnen vermijden).

Bowromir
18/01/09, 00:24
vergeet het om nu de juiste server te kiezen. Ga bij een provider die je een VDS kan leveren, met management en hulp bij het tunen, en je in de toekomst advies kan geven over je groeipad (grotere vds, twee, dedicated,...). Het lijkt me dat je niets afweet van tuning en programmatie van drukke sites; denk niet dat je het op één maand snel even kan leren. Ga liever ten rade bij een partij die (aantoonbaar) je kan helpen en ondersteunen (steek liever 100 euro in duidelijk advies dan elke maand 50 euro in een server die je eigenlijk had kunnen vermijden).

Ik heb zeker niet het idee dat ik dit in een maand kan leren.. Daarom ben ik nu bezig met het leren van in ieder geval de basismogelijkheden op het gebied van hosting, en de voor en nadelen van de opties.. Als ik dan een host heb gevonden die zoals jij zegt ons gaat helpen met de technische uitvoering ervan, dat ik dan tenminste enigzins kan bepalen of we de juiste partij gekozen hebben.. Daarom ben ik ook erg blij met de binnenkomende adviezen, ik heb in 2 dagen al enorm veel opgestoken :)

Triloxigen
18/01/09, 15:12
Ik hoor veel over hardware (en terecht),
Maar ik kan niet genoeg benadrukken dat de scripts geoptimaliseerd moeten zijn. Nette queries, logische joins, veel cachen, op database niveau maar ook gewoon in files op de server (deel goed in in mappen), etcetc.
Laat eventueel nog een 2e partij uur nog even eroverheen kijken waar verbeterpunten zitten.

Bowromir
18/01/09, 15:23
Ik denk idd dat we veel aandacht moeten besteden aan het goed uitplannen van de databasestructuur en de file indeling op de server etc.. We hebben al ervaring met het opzetten van een grote community site, en we hebben vertrouwen in onze ontwikkelaar, dus ik denk dat we een end moeten komen.. Als alles af is, kunnen we evt. nog een (extra) ervaren programmeur inhuren om te kijken of er nog grote problemen naar boven komen..

Nog even over de hosting.. Ik heb na lang rondspeuren www.byte.nl gezien.. Die bieden een VDS optie die er goed uitziet (http://www.byte.nl/cms/producten/vds.html), en ik heb alleen positieve ervaringen gevonden over dit bedrijf.. Nogmaals bedankt voor alle feedback!

wonko
18/01/09, 16:21
... We hebben al ervaring met het opzetten van een grote community site, ...

Echt waar? Uit je vraagstelling lijkt het niet alsof je dit pad al eens doorlopen hebt...

Bowromir
18/01/09, 18:27
Echt waar? Uit je vraagstelling lijkt het niet alsof je dit pad al eens doorlopen hebt...

Ikzelf heb me nooit bezig gehouden met het technische aspect van serverbeheer voor een grote website, waar dus veel bij komt kijken..Meer het bedenken en uitwerken van een community, het in de markt zetten ervan en het in goede banen leiden van de activiteiten op je site en support voor je gebruikers etc.

Mijn collega's hebben in het verleden een grote community gerund (100.000+ leden) en het grootste probleem waar ze toen tegen aanliepen waren dus de onverwacht hoge kosten voor hosting dmv slecht geschreven code en een onhandige database/website structuur.. Daarom willen we dit bij het nieuwe project voorkomen, en zijn we ons aan het verdiepen in de meer technische kant van het verhaal. Ik hoop dat het nu duidelijk is :thumbup: