Gaat flash het datacenter veroveren?
Gaat flash het datacenter overnemen? Dat is wellicht wat overdreven, maar dat Solid State Drives of zoals vaker genoemd Flash een steeds belangrijker rol in het datacenter speelt, zal duidelijk zijn. De voordelen van het gebruik van all-flash storage arrays zoals deze door aanbieders als EMC en een almaar groeiende rij van startups worden geleverd, zijn in veel gevallen zo groot dat zij meer en meer de nadelen van het gebruik van SSD teniet doen. Zowel gevestigde aanbieders van storage als start-ups zijn dan ook verwikkeld in een strijd om de flash-markt.
SSD gebruik is alles behalve nieuw. De eerste flash geheugens voor computertoepassingen stammen uit de tijd dat mainframes van IBM en Amdahl de dienst uitmaakten in het rekencentrum. Schijfgeheugens bleken in de praktijk echter veel goedkoper en verdrongen SSD’s naar hooguit enkele exotische toepassingen op het gebied van high-performance computing of financieel rekenwerk voor Wall Street.
De voordelen die deze chipgeheugens destijds kenden, staan nog steeds bovenaan het lijstje pluspunten van SSD’s zoals we die vandaag de dag op de markt zien. Het gaat daarbij eerst en vooral om I/O-performance. Waar op schijf - of in het mainframe-tijdperk: tape - gebaseerde storage-systemen aanzienlijke beperkingen kennen als het om I/O-performance gaat doordat een lees- en schrijfkop fysiek naar een bepaalde positie boven een plaat gemanoeuvreerd dient te worden, laat SSD-geheugen zich misschien nog wel het beste vergelijken met het RAM-geheugen van een PC. Mits de interface tussen de processor die data wil opvragen of wegschrijven snel genoeg is, kan een zeer hoge I/O-prestatie worden neergezet. Een goed op elkaar afgestemde combinatie van processor, interface en geheugen zal tot consistente algehele systeemprestaties leiden.
Real-time enterprise
Met andere woorden: er dient balans te zitten in de toegepaste architectuur. Dat geldt ook voor het datacenter. Als er grote verschillen ontstaan tussen de snelheid waarmee server, storage en netwerk data kunnen verwerken, ontstaat er onbalans die voor de eindgebruiker zichtbaar wordt als een traag reagerende applicatie. Daar zit dan ook een van de belangrijkste - zeg maar - zakelijke drijfveren achter de opkomst van flash in enterprise IT. Business-organisaties hebben behoefte aan applicaties die niet alleen steeds betere prestaties kennen, maar bovendien toepassingen waarvan de prestaties heel voorspelbaar zijn. Een adviesbureau als Gartner spreekt in dit opzicht van ‘the real-time enterprise’. Eigenlijk zoeken we als business-organisatie een IT-ondersteuning waarbij we in real-time over onze data kunnen beschikken, dus niet meer de data uit een database via een batchjob exporteren en deze vervolgens gaan bewerken, maar deze per direct kunnen bewerken en analyseren en - wederom in real-time - hierop acties richting de markt kunnen baseren. Dit verklaart enerzijds de enorme belangstelling voor in-memory business analytics en anderzijds de sterk toegenomen interesse in flash in het datacenter.
Het is dus logisch dat IT-afdelingen meer en meer op zoek gaan naar mogelijkheden om performance bottlenecks uit hun IT-infrastructuur te halen. Dit is een onderzoek waarbij per applicatie en business-proces bekeken zal moeten worden welke componenten in de infrastructuur de gewenste prestaties leveren en welke niet. Storage blijkt dan vaak een punt dat om extra aandacht vraagt. Iedere applicatie heeft storage nodig om data te kunnen plaatsen en weer op te halen voor verwerking. In het overgrote deel van de gevallen komt die storage in de vorm van schijfgeheugens. Disk storage is niet ideaal, zullen we zelfs bij storage-grootmachten horen, maar biedt vaak wel een optimale oplossing als het gaat om de afweging van prestaties, schaalbaarheid, en bijvoorbeeld efficiency enerzijds en kosten anderzijds. Logisch dat disk storage dus lange tijd zowel voor online storage en nearline storage het belangrijkste type opslagmedium was.
Onvoorspelbaar
Hoewel nog lang niet iedere business-organisatie al daadwerkelijk op weg is richting Gartner’s real-time enterprise, kunnen steeds minder organisaties het zich veroorloven om trage applicaties aan klanten beschikbaar te stellen. Misschien nog wel erger is een onvoorspelbaar prestatieniveau, iets wat bij traditionele vollopende disksystemen zomaar kan gebeuren. Flash kan hier al heel lang goede diensten bewijzen, ware het niet dat de kosten van dit soort chipgeheugens tot voor kort een brede toepassing in de weg stonden. Vanuit de chipindustrie is de afgelopen jaren echter hard gewerkt aan enerzijds het goedkoper maken van SSD, terwijl men anderzijds een tweede probleem heeft opgelost. Dat is het gebrek aan schaalbaarheid waar flash-geheugens tot voor kort mee kampten.
Daar komt bij dat veel tijd en energie is gestoken in het verder ontwikkelen van een technologie die ‘data reduction' wordt genoemd. Het gevolg is dat sinds enkele jaren flash-geheugens klaar zijn voor het datacenter. Dit soort storage-systemen kent nu een kostprijs die haalbaar is voor een groeiend aantal applicaties, terwijl de schaalbaarheid op een dusdanig niveau ligt dat veel IT-afdelingen hiermee uit de voeten kunnen. Voeg daarbij het feit dat de schaalbaarheid van veel flash arrays (nagenoeg) lineair is en de business case voor flash in het datacenter begint steeds aantrekkelijker te worden.
Veel storage managers hebben echter nauwelijks ervaring met andere geheugentypen dan disk, tape en soms - bijvoorbeeld voor archiveringsdoeleinden - optische geheugens. Een belangrijke vraag voor veel storage managers is dus: hoe zit flash-geheugen voor het datacenter nu precies in elkaar?
Dit laat zich waarschijnlijk het beste beschrijven aan de hand van de architectuur zoals deze momenteel op de markt beschikbaar is. Gezien het feit dat de markt voor flash storage op dit moment heel nadrukkelijk bewerkt wordt door zowel traditionele storage-leveranciers als allerhande startups, is het misschien wel zo interessant om hiervoor een startup te kiezen die redelijk recent is overgenomen door een van de grootmachten in de storage-markt. Een logische keuze is dan XtremIO, dat in 2012 door EMC werd overgenomen.
Vijf aspecten
Wie flash storage goed wil kunnen beoordelen, dient naar vijf aspecten te kijken. Dit zijn het prestatieniveau, de schaalbaarheid, de efficiency, de manier waarop gegevensbescherming is geregeld en de functionaliteit.
Allereerst de performance. Ongeacht de vraag hoeveel I/O-operaties het opslagsysteem te verwerken heeft en hoeveel van de beschikbare opslagcapaciteit reeds benut wordt, dienen de responsetijden (latency) en de doorvoersnelheid (throughput) altijd voorspelbaar en constant te blijven. Als het gaat om kleine datablokken zal de reponsetijd bij een goed ontworpen systeem ruim onder de 1 milliseconde blijven. Bij grotere ‘data blocks’ neemt de responsetijd uiteraard enigszins toe.
De schaalbaarheid van flash storage is in principe lineair. Doordat dit soort systemen opgebouwd worden uit kleine bouwstenen kan de capaciteit uitgebreid worden door simpelweg meer bouwstenen toe te voegen. Hierdoor neemt de beschikbare hoeveelheid IOPS (I/O’s per seconde) lineair toe, zonder dat dit een negatieve impact heeft op de latency.
Efficiency is een ander belangrijk punt bij flash-geheugens. Aanbieders van flash storage noemen dit veelal ‘data reduction’ waarmee zij eigenlijk vooral ‘data deduplication’ bedoelen. Bij XtremIO - maar dat geldt ook voor andere aanbieders - gebeurt dit ‘on the fly’ ofwel ‘inline’. Met andere woorden, ontdubbeling vindt plaatst zodra de data het systeem binnen komt. Er is hierbij dus geen sprake van zogeheten post-processing nadat de data al is weggeschreven. Hierdoor behoeft dus minder data naar flash te worden geschreven, waardoor dus ook minder opslagcapaciteit nodig is. Dat scheelt in de kosten, omdat de beschikbare capaciteit dan minder snel volloopt. Daarnaast wordt geheugencapaciteit on-demand aan storage volumes beschikbaar gesteld. Belangrijk hierbij is de granulariteit. Hoe kleiner de blokken waarin de-duplicatie plaatsvindt, hoe groter de efficiency is.
Gegevensbescherming wordt bij flash-geheugens anders aangepakt dan bijvoorbeeld schijfgeheugens. Veelal is sprake van speciaal voor flash geschreven algoritmes die in staat zijn om gegevensbescherming op het RAID-6 niveau te realiseren, zonder dat dit een nadelig effect oplevert op de performance van het opslagsysteem.
Tenslotte de functionaliteit van de meegeleverde beheersoftware. Hierbij is het met name belangrijk om - naast de eerder genoemde voorzieningen voor datareductie, thin-provisioning en dergelijke - te kijken naar de mogelijkheden voor integratie van de flash array in de bestaande storage-omgeving. Bij voorkeur biedt de flash array dan ook zowel poorten voor iSCSI als Fibre Channel.
Praktijkvoorbeeld
Hoe is XtremIO nu met dit soort aspecten aan de slag gegaan om tot een flash array te komen? De officieel XtremIO Storage Array geheten opslagsystemen worden opgebouwd uit kleine bouwstenen die X-Bricks worden genoemd. Iedere X-Brick bestaat uit een 2U hoge 19” inch unit waarin zich vijfentwintig eMLC SSD-disks bevinden. De keuze voor SSD-disks op basis van eMLC chips is opvallend, aangezien andere aanbieders van flash storage nog wel eens voor chips kiezen die oorspronkelijk voor de consumentenmarkt zijn ontwikkeld. De eMLC disks waarvoor EMC kiest zijn speciaal voor enterprise-toepassingen bedoeld. Iedere X-Brick kent een redundant uitgevoerde voeding, een van batterijen voorziene back-up-voeding en twee 1U hoge storage controllers. Iedere storage controller biedt plaats aan o.a. twee 8 Gbps Fibre Channel-poorten, twee 10 GbE iSCSI, twee 40 Gbps Infiniband-poorten en een managementpoort (IPMI).
Het storage-systeem maakt daarnaast gebruik van een beheersysteem - officieel de XtremIO Management Server (XMS) geheten - wat in feite een geoptimaliseerde Linux-server is. Ieder cluster van X-Bricks heeft een eigen XMS nodig. Deze kan - afhankelijk van de wensen van het datacenter - komen in de vorm van een fysieke dan wel een virtuele server. Alle configuratie en monitoring van de flash arrays gebeurt via de XMS. Zonder XMS kan de storage array weliswaar normaal functioneren, maar kan er niets gewijzigd worden in de configuratie en vindt er ook geen monitoring plaats.
XtremIO gebruikt een zogeheten scale-out architectuur. Dit betekent dat meerdere X-Bricks aan elkaar gekoppeld kunnen worden tot een cluster van twee, drie of meer X-Brick modules. Hierdoor kan geschaald worden tot prestatieniveaus van desgewenst honderdduizenden of zelfs miljoenen IOPS. Dit schakelen van X-Bricks gebeurt via de eerder genoemde Infiniband-interfaces. Die worden gebruikt om de storage controllers van de gekoppelde X-Bricks met elkaar te verbinden. De keuze voor Infiniband laat zich verklaren door de behoefte om de hardware-matig gescheiden van elkaar functionerende storage controllers via een verbinding met zeer geringe latency, softwarematig als één systeem te laten functioneren.
In de praktijk functioneert de XtremIO als ieder ander block-based opslagsysteem. Doordat zowel iSCSI als Fibre Channel wordt ondersteund, kan het systeem opgenomen worden in bestaande storage area networks (SAN). Ieder storage controller ‘draait’ een op maat gemaakte Linux-versie waarop een eigen softwarelaag is geïnstalleerd die XtremIO Operating System of XIOS wordt genoemd.
Conclusie
Dit artikel begon met de vraag of flash het datacenter gaat overnemen? Wie onderzoeksbureaus als IDC hiernaar vraagt, ontdekt dat het antwoord op deze vraag ‘nee’ is. Toch zijn analisten erg enthousiast over de toepassingsmogelijkheden van flash in het datacenter. Zij wijzen dan op het grote aantal applicaties dat inmiddels richting een hybryde cloud wordt gemigreerd waarbij een voorspelbare performance vereist is en de grote hoeveelheden data die bedrijven vastleggen. Een volledig op schijven gebaseerde storage-aanpak kan in dit soort ‘use cases’ niet meer meekomen, stellen zij vast. Ook het gebruik van bijvoorbeeld flash-kaarten in servers die als het ware een extra soort cache in de storage-architectuur opnemen, wordt gezien als een oplossing voor hooguit enkele specifieke gevallen.
Veel datacenters doen er verstandig aan, zo is het advies over het algemeen, om serieus onderzoek te doen naar de performance bottlenecks die zij ondervinden nu de business simpelweg snellere applicaties en meer voorspelbare prestatieniveaus nodig heeft. In veel gevallen zal dit onderzoek belangrijke problemen aan het licht brengen als het gaat om de mate waarin op schijven gebaseerde opslagarchitecturen mee kunnen in de ontwikkeling richting real-time enterprise. Door een goede analyse te doen, zal al snel duidelijk worden waar de prestatieproblemen met name zitten. Als vervolgstap kan dan bekeken worden in hoeverre flash hiervoor een oplossing kan bieden.
Robbert Hoeffnagel