PDA

Bekijk Volledige Versie : Colocatie vs Cloud (AWS)



FlipV
15/03/13, 14:23
Hoi Allen,

Voor een nieuw project ben ik bezig met het uitdenken van de hosting omgeving.
We verwachten behoorlijk wat traffic en data en kijken naar speciafiek 2 oplossingen.
Je raadt het vast al, colocatie en cloudhosting.
Nu ben ik reeds bekent met colocatie, echter is cloud hosting nieuw voor mij en zie zo onderhand door de bomen het bos niet meer.
Ben opzoek naar adviesen en meningen.

De volgende requirements zijn gesteld:

Database groote (PostGreSQL of MySQL(als het niet anders kan (RDS)) 100g
MongoDB 100g
FileServer 400g
Een gemiddelde van 50 requests per seconde
Applicatie is voornamelijk database read gebaseerd, nagenoeg elke request zal een search query betreffen op de PostGreSQL database.
Query resultaat word verrijkt met data uit mongodb en aangevuld met media vanaf de fileserver.
Het geheel dient redundant opgeleverd te worden.

Nu ligt het pijnpunt bij de keuze tussen colocatie of cloud hosting.
De vergelijking is appels met peren en ik kom dat ook niet tot een eenduidig advies.

Ik kom nu een beetje op het volgende uit:
- Kosten technisch is het over 1of2 jaar genomen lood om oud ijzer, dat de cloud goedkoper zou zijn gaat in dit geval niet op.
- Databases in de cloud zijn een rampenplan (IOPS is laag, ECU's zijn traag)
- Een mongoDb server prop je het liefst helemaal vol met ram (>128g), dat gaat in AWS niet lukken (voor een redelijke prijs)

Al met al kun je de volgende stelling innemen:
Als je voor preformance wilt gaan, kies je colocatie
Als je voor schaalbaarheid wilt gaan, kies je cloud hosting.

Wat denken jullie?

golden
15/03/13, 14:33
CLOUD hosting hoeft qua IOPS beslist niet slechter te zijn dan colocatie/dedicated. Vaak is dit wel het geval maar bij een goeie aanbieder hoeft dit niet zo te zijn.

Vaak kan je met een centraal opslag systeem mits deze goed uitgevoerd is vele malen betere IOPS halen dan centrale storage. Wat vaak weer een breekpunt is is de connectie tussen de nodes en de centrale opslag.

Voordeel van colocatie/dedicated is dat je verzekerd bent van je resources en je je daar geen zorgen over hoeft te maken. Ik merk dat veel van onze klanten een voorkeur hebben om te beschikken over een managed colocated/dedicated omgeving. Het voordeel wat men hierin ziet is dat ze mocht het nodig zijn makkelijker kunnen schakelen.

Wij hebben altijd de voorkeur voor een omgeving in eigen beheer. Maar dat zullen waarschijnlijk alle hosters wel hebben.

Dus.... een cloud KAN sneller zijn dan enkele servers en verhoogd in "veel" gevallen de betrouwbaarheid. Echter ben je bij eigen machines verzekerd van de resources welke je hebt.

FlipV
15/03/13, 15:03
Hoi Golden,
Bedankt voor je reactie.
Het verbaast me dat je zegt dat cloud qua IOPS niet slechter hoeft te zijn.
Wanneer je kijkt naar AWS EBS (Block storage) toegepast op database servers zie je de meest uiteenlopende oplossingen om op een redelijk IOPS te komen.
RAID 10 oplossingen wat je schijf verbruik *8 brengt en dan nog is het gissen naar de preformance.
Provisioned IOPS zou ook een oplossing kunnen zijn, gekeken naar de kosten die beide oplossing met zich meebrengen maken cloud al snel een stuk duurder dan colocatie.
Daarnaast is er natuurlijk niks sneller dan een database die alles in z'n ram kan laden (128g), iets wat ik op AWS niet voorelkaar kan krijgen.
Ook het hele ECU verhaal, toegepast op database servers is verre van perfect, de meeste (zo niet alle) queries zijn singletreathed en de preformance op deze queries is gebaseert op IOPS en de snelheid van je cores (en niet het aantal) een ECU staat in het beste geval gelijk aan een Intel Xeon 1.2, das niet heel snel. Dat ik er dan 13 van heb is leuk,.. de vraag is wat ik er aan heb .....

Je hebt gelijk dat in de cloud mits goed geconfigureerd, de cloud makkelijker betrouwbaar is.
Zaak is dan (net als met colocatie) dat je alle data duplicaeerd in verschillende zondes en regions en gebruikt maakt van autoscaling.
Ook ben je dan misschien gegarandeerd van uptime, geranties op preformance blijven uit.

Hoop dat je begrijpt dat ik kritisch ben, mocht je het niet eens zijn met mijn commentaar reageer alsjeblieft, ik ben oprecht opzoek naar een gedegen weerwoord.

golden
15/03/13, 15:16
Hoi Golden,
Bedankt voor je reactie.
Het verbaast me dat je zegt dat cloud qua IOPS niet slechter hoeft te zijn.
Wanneer je kijkt naar AWS EBS (Block storage) toegepast op database servers zie je de meest uiteenlopende oplossingen om op een redelijk IOPS te komen.
RAID 10 oplossingen wat je schijf verbruik *8 brengt en dan nog is het gissen naar de preformance.
Provisioned IOPS zou ook een oplossing kunnen zijn, gekeken naar de kosten die beide oplossing met zich meebrengen maken cloud al snel een stuk duurder dan colocatie.
Daarnaast is er natuurlijk niks sneller dan een database die alles in z'n ram kan laden (128g), iets wat ik op AWS niet voorelkaar kan krijgen.
Ook het hele ECU verhaal, toegepast op database servers is verre van perfect, de meeste (zo niet alle) queries zijn singletreathed en de preformance op deze queries is gebaseert op IOPS en de snelheid van je cores (en niet het aantal) een ECU staat in het beste geval gelijk aan een Intel Xeon 1.2, das niet heel snel. Dat ik er dan 13 van heb is leuk,.. de vraag is wat ik er aan heb .....

Je hebt gelijk dat in de cloud mits goed geconfigureerd, de cloud makkelijker betrouwbaar is.
Zaak is dan (net als met colocatie) dat je alle data duplicaeerd in verschillende zondes en regions en gebruikt maakt van autoscaling.
Ook ben je dan misschien gegarandeerd van uptime, geranties op preformance blijven uit.

Hoop dat je begrijpt dat ik kritisch ben, mocht je het niet eens zijn met mijn commentaar reageer alsjeblieft, ik ben oprecht opzoek naar een gedegen weerwoord.

Ik snap je punt volkomen en ik moet ook toegeven dat ik liever heb dat databases gewoon fysiek op een server draaien. Het feit van IOPS is dat je de aantal IOPS enorm omhoog kan halen door het aantal schijven te verhogen. In een fysieke node ben je beperkt meestal aan de x aantal schijven. Heb je een "echt" goeie SAN dan kunnen daar veel meer disks in en ook beschikken ze vaak over een veel betere raid controller.

Dus fysiek kan je bij een SAN vaak veel betere IOPS halen dan op local storage. Het probleem hier echter in is is dat de oplossing duur is en cloud providers dus vaak de verhoudingen aanpassen waardoor een SAN dus fysiek weer langzamer kan worden.

Echter als je er een Gbit UTP tussen gaat leggen dan haal je never nooit de snelheid als wat je met local storage kan halen.

Maar heb je een goede SAN met de juiste verhoudingen en maak je bijv gebruik van bijv een directe fiber dan denk ik dat je daar een betere IOPS resultaat uit gaat krijgen.

Echter wees reeƫl. De kans dat je dit vind bij een cloud provider is enorm maar dan ook enorm laag :).

Dus ja... Ik denk dat als performance heel belangrijk is een eigen oplossing beter is. Ik had het ook echt om resultaten in de meest gunstige resultaten.

Mark17
15/03/13, 15:16
Cloud is meer dan enkel AWS. Met de specifieke mogelijkheden van AWS ben ik niet bekend en heb ik geen ervaring mee (hier kan ik dan ook geen uitspraken over doen). Er is ook nog een tussen oplossing mogelijk tussen die meer tussen een volledige cloud en een losse server zit.

Denk aan dedicated (eigen) schijven met voor de rekenkracht het gemak van een cloud (makkelijk/snel te upgraden/downgraden, redundancy dat een andere server het overneemt als de host uitvalt). Een goed advies geven over wat voor jouw specifieke situatie de beste optie is vereist meer informatie naar mijn idee. Voor het gebruik is er verder geen verschil tussen een dedicated server en een colocated server met dezelfde hardware.

Een belangrijke vraag is ook hoever je met de redundancy wilt gaan en hoeveel queries je op de piek verwacht.

dicktump
15/03/13, 15:19
Wat je eigenlijk wilt hebben is een private cloud. En dan niet dat je een eigen gedeelte krijgt binnen een cloud, maar dus echt een cloud draait op eigen systemen met storage. Je hebt dan ook veel meer controle over datgene wat jij wilt (zoals iops), maar aan de andere kant kun je wel high available draaien en heb je ook de vrijheid om servers te draaien met 128+ GB geheugen.

De schaalbaarheid is wel iets beperkter, omdat je natuurlijk een vaste hoeveelheid resources hebt binnen een private cloud. Maar zolang je resources over hebt, kun je gewoon cloud servers toevoegen waar nodig. En afhankelijk van de oplossing kunnen er ook live fysieke servers worden toegevoegd, waardoor je meer resources krijgt binnen de private cloud.

Bij het bedrijf waar ik werkzaam ben (Shock Media BV) leveren we dat soort oplossingen heel veel aan klanten. Ik vind het in elk geval een stuk genialer werken dan colocatie :)

golden
15/03/13, 15:45
Wat je eigenlijk wilt hebben is een private cloud. En dan niet dat je een eigen gedeelte krijgt binnen een cloud, maar dus echt een cloud draait op eigen systemen met storage. Je hebt dan ook veel meer controle over datgene wat jij wilt (zoals iops), maar aan de andere kant kun je wel high available draaien en heb je ook de vrijheid om servers te draaien met 128+ GB geheugen.

De schaalbaarheid is wel iets beperkter, omdat je natuurlijk een vaste hoeveelheid resources hebt binnen een private cloud. Maar zolang je resources over hebt, kun je gewoon cloud servers toevoegen waar nodig. En afhankelijk van de oplossing kunnen er ook live fysieke servers worden toegevoegd, waardoor je meer resources krijgt binnen de private cloud.

Bij het bedrijf waar ik werkzaam ben (Shock Media BV) leveren we dat soort oplossingen heel veel aan klanten. Ik vind het in elk geval een stuk genialer werken dan colocatie :)


Wij van WC eend.......

Colocatie houdt helemaal niet in dat het geen private cloud wordt. Als een klant hardware aanschaft wat nodig voor een private cloud is dat alsnog prima mogelijk.
Daarnaast hoef je met een private cloud beslist niet tegen beperkingen aan te lopen met schaalbaarheid. Want bij een goed geconfigureerde cloud is het een paar servers bijdrukken, paar kabels erin en klaar. Ok is wat anders als bij een provider wellicht maar ook de provider moet normaliter resources regelmatig uitbreiden.

Dus ja een private cloud is een goed idee, maar ik denk dat TS ook doelde op zo iets.

dicktump
15/03/13, 15:48
Wij van WC eend.......

Colocatie houdt helemaal niet in dat het geen private cloud wordt. Als een klant hardware aanschaft wat nodig voor een private cloud is dat alsnog prima mogelijk.
Daarnaast hoef je met een private cloud beslist niet tegen beperkingen aan te lopen met schaalbaarheid. Want bij een goed geconfigureerde cloud is het een paar servers bijdrukken, paar kabels erin en klaar. Ok is wat anders als bij een provider wellicht maar ook de provider moet normaliter resources regelmatig uitbreiden.

Dus ja een private cloud is een goed idee, maar ik denk dat TS ook doelde op zo iets.
Ik ben gewoon systeembeheerder, dus heb niks te verkopen hoor :) Ik vind het technisch gewoon alleen een mooie oplossing. Ook lekker rustig voor m'n storingsdiensten, vergeleken met losse dedicated servers of colocatie.

Eigenlijk haalde ik wel uit de startpost dat met colocatie niet de colocatie van een private cloud werd bedoeld. Maar TS kan daar denk ik het beste antwoord op geven.

Mark17
15/03/13, 15:55
Met cloud bedoelde TS specifiek de Amazon cloud als ik het goed begrepen heb. In dat geval zou ik zeker gaan voor colocatie, er zijn echter ook tussen oplossingen te bedenken die mogelijk verstandiger zijn.

FlipV
15/03/13, 16:07
Er is ook nog een tussen oplossing mogelijk tussen die meer tussen een volledige cloud en een losse server zit.
Combinatie tussen cloud en eigen machines klinkt erg intresant, ga ik zeker uitzoeken.



Wat je eigenlijk wilt hebben is een private cloud
Ja en een nieuwe vriendin ;)

Private cloud zou in de toekomst inderdaad nog een oplossing zijn, echter zijn we echt een startup en is het zaak zeker in het begin dingen vooral niet te ingewikkeld maken.
Het opzetten en testen van dergelijke oplossingen kosten tijd en geld, iets dat bij een startup in dit geval niet beschikbaar is.
Zal zeker naar deze optie kijken (openstack), maar de kans is klein dat we met een dergelijke oplossing starten.
Qua vriendin sta ik natuurlijk altijd open voor sugesties :p

dicktump
15/03/13, 16:11
Nieuwe vriendin zoeken is niet moeilijk. Type je favoriete vrouwennaam in in Google Images en kies de beste uit :)

Maar een private cloud hoeft op zich niet duur te zijn. Als je storage op de disks van je fysieke servers doet heb je alleen minimaal 2 servers nodig (met 1 kun je natuurlijk niet HA draaien, maar als HA niet nodig is zou 1 nog kunnen). Als dat toch geen oplossing is, zou ik hoe dan ook voor colocatie gaan (of dedicated servers). Maar binnen een shared cloud zul je praktisch nooit je resources gegarandeerd kunnen krijgen, of je betaalt er gewoon veel geld voor.

golden
15/03/13, 16:17
Nieuwe vriendin zoeken is niet moeilijk. Type je favoriete vrouwennaam in in Google Images en kies de beste uit :)

Maar een private cloud hoeft op zich niet duur te zijn. Als je storage op de disks van je fysieke servers doet heb je alleen minimaal 2 servers nodig (met 1 kun je natuurlijk niet HA draaien, maar als HA niet nodig is zou 1 nog kunnen). Als dat toch geen oplossing is, zou ik hoe dan ook voor colocatie gaan (of dedicated servers). Maar binnen een shared cloud zul je praktisch nooit je resources gegarandeerd kunnen krijgen, of je betaalt er gewoon veel geld voor.

Dat is nog eens een goede beschrijving. Een HA omgeving is beslist geen probleem om op te zetten met beperkte hardware. Echter is het vaak wel weer wat complexer dan een CLOUD.

Heb je een budget en heb je echt de juiste performance nodig ga dan toch eens kijken naar een private cloud oplossing. (dus geen gedeelde hardware).

FlipV
15/03/13, 16:47
Nieuwe vriendin zoeken is niet moeilijk. Type je favoriete vrouwennaam in in Google Images en kies de beste uit


Maar dan heb ik weer een vriending met een drie letterige achternaam :(

Ben nu eff openstack aan het installeren in virtualbox, toch maar eens kijken wat het is opzich natuurlijk wel een intressante oplossing ben alleen bang dat het snel erg complex word.
Aan de andere kant, het makkelijk bijschalen van resources is wel erg intressant.
Daarbij heb ik zelf de keuze om systemen wel of niet in de cloud te draaien en kan ik resources reserveren voor pieken ed.

@dicktump Gebuik jij ook openstack,.. of hebben jullie gekozen voor een andere oplossing?

asusk7m550
15/03/13, 17:00
Hoewel ik erg voorstander ben van de cloud (ook bij mij is het WC eend verhaal aan de orde), moet je wel opletten wat je doet bij een private cloud.

Dit begint pas leuk te worden bij 3 a 4 servers. Waarbij je maar 1 of 2 server hebt om je systemen op te draaien.

Om het goed op te zetten raad ik je aan om idd naar OpenStack te gaan kijken, dit op basis van Ubuntu 12.04 en minimaal 6 servers. Een andere optie is Suse Cloud (ook op basis van OpenStack) of de build van Rackspace (http://www.rackspace.com/cloud/private/openstack_software/).

De basis neerzetten is nog redelijk te doen, maar de 'fun' begint daarna pas. Een andere optie is het inhuren van een partij die voor jou een private cloud maakt. Waarbij je zelf nog kunt beslissen waar je de cloud neer zit (bij jezelf of bij hun), en of je het beheer zelf doen of dat een andere partij dat doet.

Mocht je hier nog meer informatie over wil hebben, dan hoor ik het graag.

dicktump
15/03/13, 17:04
We hebben in-house geschreven software voor onze klanten (ShockVM) op basis van open source technieken. De gebruikte hypervisor is KVM. Onze software roept o.a. KVM en LVM aan en regelt de taken zoals live migrations, het synchroon houden van data tussen 2 nodes (voor HA) en dat soort zaken. Qua installatie is het niet echt complex, we hebben er hier gewoon een standaard installatie voor en dan is het alleen even een basisconfiguratie opzetten (IP's van de nodes en dat soort dingen).

Omdat het open source technieken zijn, werkt het ook allemaal op een duidelijke en standaard manier. Zo worden virtuele disks gewoon 'raw' binnen LVM opgeslagen en zijn de logical volume namen ook duidelijk herkenbaar.

FlipV
15/03/13, 18:21
Dit begint pas leuk te worden bij 3 a 4 servers. Waarbij je maar 1 of 2 server hebt om je systemen op te draaien.


We hebben ongeveer 10 systemen op het oog waarvan naar mijn idee er minimaal 2 buiten de cloud om zouden moeten/kunnen draaien (MongoDB en PostGreSQL)
Dus de minimums zijn wel te behalen, qua hosting het liefst gewoon inhouse net als de kennis.
Zo min mogelijk afhankelijk zijn van derde partijen heeft wel de voorkeur (eigen datacenter is voor volgend jaar :p)
Echter het inhouse halen van kennis is wel intressant, zat al te lezen dat je via Ubuntu een engineer voor 5 dagen in huis kan krijgen die alles samen met je installeerd en uitlegt.
Dit zou inderdaad een welkome aanvulling zijn.



We hebben in-house geschreven software voor onze klanten (ShockVM)


Snap dat dat voor jullie misschien beter past en zal zeker z'n voordelen hebben.
Echter denk ik dat het voor ons verstandiger is om voor een bekent en volledig opensource pakket te kiezen.
Openstack icm. Ubuntu komt bijzonder aantrekkelijk op mij over, ga hier zeker mee aan de slag (testen/proberen/uitzoeken)