Hoe je het ook wendt of keert, de rol en inzet van flash-technologie zal in 2014 alleen maar toenemen. Flash is nu eenmaal een hot topic en dat was zeker te merken tijdens de expertpanel discussie die ik leidde op de Info Security en Storage Expo. Ook het verslag van de sessie leverde een lange maar zeer interessante discussie op.
Op deze site zie ik geregeld informatie over flash-technologie langs komen. De ene keer is het de heilige graal op het gebied van storage, de andere keer wordt het als duur en ongeschikt voor write intensieve omgevingen neergezet. Maar laten we reëel zijn: flash-opslag is mijn ogen een goede aanvulling op de harddisk.
Capaciteit versus Performance
In de enterprise storage omgevingen draait het behalve om opslagcapaciteit steeds meer om performance. En juist dat laatste wordt vaak vergeten. Het is verbazingwekkend in hoeveel aanbestedingen of aanvragen alleen nog maar over opslagcapaciteit gepraat wordt. Opslagcapaciteit is zeer betaalbaar geworden, maar performance blijft nog altijd kostbaar. En juist op dat gebied is flash-technologie een welkome versterking. Met de gemiddelde flash-disk kan je – afhankelijk van het type – tussen de drieduizend en vijfduizend iops behalen. Dus op het gebied van performance is dit echt een baanbrekende ontwikkeling. De snelste hard disk (hd) die we tot voor kort kenden (SAS/FC 15k) haalde er maar honderdtachtig.
Niet alles kan geflasht worden
De performance van een flash-disk is dus vele malen hoger dan die van de reguliere hd. Flash-technologie is echter het meest geschikt voor read intensieve omgevingen. Denk hierbij aan of performance intensieve databases (Oracle, Sap, crm-pakketten, et cetera). Ook bij omgevingen waar lage latency nodig is (VDI ) biedtflash een uitkomst. Omgevingen waar veel data weggeschreven wordt (write-intensief), zijn wat minder geschikt om volledig op flash-technologie te baseren.
Meten is weten
Ook hier geldt: Meten is weten. Het is van belang om vooraf goed de performance karakteristieken van je data inzichtelijk te maken. Zaken zoals de read/write verhouding en huidige i/o-load zijn van cruciaal belang. Welke delen van je omgeving hebben performance nodig en voor welke delen heb je alleen maar opslagcapaciteit nodig? Dataclassificatie op basis van performance is hier enorm belangrijk. Zoals eerder gezegd, wordt er op dit gebied nog te vaak naar opslagcapaciteit in plaats van naar performance gekeken. En dat heeft natuurlijk gevolgen. Een omgeving met genoeg opslagcapaciteit maar onvoldoende snelheid kost een organisatie alleen maar geld. En de daadwerkelijke besparing door langzamere disks gaat al snel verloren. Ook bij een transitie naar een cloud-omgeving (IaaS/PaaS) wordt de performance vaak over het hoofd gezien. Een cloud-platform dat niet flexibel en schaalbaar is op dit gebied, schiet in mijn ogen tekort.
Wat is er beschikbaar op de markt
Je ziet op het gebied van enterprise-storage oplossingen een aantal varianten op de markt. Ik zal de belangrijksten even kort toelichten:
All Flash arrays. Dit soort oplossingen bestaat, zoals de naam natuurlijk al doet vermoeden, alleen uit disks op basis van flash-technologie. Dit soort systemen is uitermate geschikt voor vdi- en db-omgevingen waar over het algemeen veel leesacties uitgevoerd worden. Er wordt vaak geroepen dat flash kostbaar is qua opslagcapaciteit. Nu kan ik dit alleen maar beamen, maar wel met de kanttekening dat hier een behoorlijke prijsnivellering gaande is. Ook gaan de hardware-leveranciers steeds slimmer en optimaler met flash-opslag om. Compressie- en deduplicatie-technologie zorgen er voor dat data in de meest optimale vorm wordt opgeslagen.
Flash IO accelaratie kaarten. Deze kaarten worden ook steeds vaker ingezet. Vroeger gebruikte men deze kaarten voornamelijk als het storagesysteem niet aan de performance-eisen voldeed en niet verder schaalbaar was. Nu worden ze ook ingezet in vdi- en db-omgevingen. De kaarten zijn er in twee varianten. De eerste variant slaat alles lokaal op en bij een eventueel defect gaat alle data verloren. De tweede variant slaat alles lokaal op, maar zet de data ook door naar een centraal opslagsysteem. Op die manier heb je eigenlijk een ‘best of both worlds’ scenario. Een groot nadeel van beide varianten is dat er maar één server tegelijk van de kaart gebruik kan maken.
Hybrid Storage systemen. De hybride systemen maken gebruik van de hd-technologie zoals we die al jaar en dag kennen en zetten daarnaast flash-technologie op een slimme manier in, door bijvoorbeeld flash-disks als cache te gebruiken of in te zetten in voor automatic storage tiering. Automatic storage tiering analyseert de data op basis van performance behoeften, plaatst de data die veel performance nodig heeft op snelle disks en de data die minder veeleisend is op langzamere disks.
Levensduur
Ik hoor mensen wel eens zeggen dat ssd/flash minder lang mee gaat, maar niets is minder waar. Het is wel belangrijk om appels met appels te vergelijken door Flash technologie op de juiste manier in te zetten. Het klopt dat write intensieve acties de levensduur van flash beperken. Echter in een read intensieve omgeving zoals bijvoorbeeld bij vdi, big data en databases gaat de flashtechnologie juist veel langer mee (zie kader).
De levensduur van een ssd is gebaseerd op een max aantal PE cycles (program-erase cycle). Een korte uitleg:
Reads = Geen PE Cycle
Writing = PE Cycle
Deleting = PE Cycle
Er zijn veel verschillende soorten flash op de markt. Dit maakt het er niet overzichtelijker op, waardoor kan het gebeuren dat mensen appels met peren vergelijken. Om te zorgen dat appels met appels vergeleken worden een meer uitleg. E-MLC/SLC zie je met name terug in enterprise oplossingen en On chip flash en MLC worden met name in consumententoepassingen gebruikt.
Praktijkvoorbeelden max PE Cycles (PE Cycle = solid-state-storage program-erase cycle )
On chip flash = 100
MLC = 1500 tot 10.000 ( zeer veel differentiatie/verschilt per leverancier/type )
E-MLC = 30.000
SLC = 100.000
De getallen zijn op basis van PE Cycles per block, dat laatste is van groot belang. Dit zorgt vaak een vertekend beeld.
Meantime between failure (MTBF). Wat is de gemiddelde tijd voordat een flashdisk omvalt? Ook dit verschilt per type hd en ssd.
MTBF
hd = 500.000 / 750.000
ssd = 1.500.000 tot 2.000.000
Conclusie
Flash zal steeds vaker ingezet gaan worden en heeft de laatste jaren ook duidelijk intrede gedaan op de consumentenmarkt. Denk hierbij bijvoorbeeld aan Apple met zijn Fusion disk, of de ssd-disks die door veel gamers ingezet worden voor een zo snel mogelijk systeem. Voor welke variant moet je nu gaan? Je kan pas een goede en degelijke keuze maken als je je behoeften goed in kaart hebt gebracht. Moet je het overal toepassen? Dat is natuurlijk afhankelijk van je omgeving: zet het in waar je de meeste winst kan behalen.
In mijn “cloud” wereld zie je SSD voor databases heel sterk opkomen. Uiteraard kan ik niet zien welke hardware gebruikt wordt en welke controllers, maar SSD is Meth en zeer verslavend.
Prive is alles SSD en heb ik inderdaad wat klassieke schijven staan voor de massa (met name films en backup), maar is het verder SSD wat de klok slaat. Maar ook zakelijk is SSD verslavend. Als je dit eenmaal hebt ingezet voor databases, wil je niet anders meer, en ondanks de hogere prijs is deze als je die afzet tegen ontwikkelingskosten van software en de database en de licenties relatief laag.
Het lastige alleen is dat de “standaard” diensten steeds ingewikkelder worden omdat je weer meer keuzes en afwegingen moet maken…
Ruud,
Weer een erg goed artikel.
Helemaal mee eens, we zien ook dat steeds meer storage arrays worden aangeboden met een Flash tier, Flash is zeker de toekomst.
Henri,
Goed om te zien dat we het weer eens eens met elkaar zijn 😉
SSD is als je puur naar capaciteit kijkt duurder, maar op het gebied voor performance is het velen malen goedkoper. Als je het maar voor de juiste doeleinden toepast.
Zoals je aangeeft zal SSD/Flash ook in de Cloud een enorme groei door gaan maken. In de Cloud is snelheid van groot belang.
Flash is zeer zeker hot! Maar toch ligt het heel erg aan de applicatie of flash een toegevoegde waarde heeft en zo ja, in welke vorm.
Groot nadeel van bijvoorbeeld hybride omgevingen (gunstigere kosten vs. performance ratio vergeleken met all-flash), is dat je ‘achter’ de feiten aanloopt. Veel gelezen blokken data worden naar flash verplaatst. Maar wat als je applicatie dusdanig dynamisch is dat je hot-spots telkens elders liggen? Op het moment dat de hot-spot aan data wordt gepromoveerd naar flash is de hot-spot alweer verschoven.
Afgezien van dit soort dynamische applicaties is het gros van de applicaties wel ideaal om op een hybride of zelfs all-flash array te plaatsen. Een factor 20 verschil in IOPS tussen 15k FC en flash staat in groot contract tussen de prijs per GB als je de 15k FC disken vergelijkt met flash. En hier ligt de mooie uitdaging voor all-flash arrays: probeer met slimme trucjes als deduplicatie en compressie de kosten van 15k FC en flash per GB nog dichter bij elkaar te brengen zonder al te veel performance hoeven in te leveren. Juist bij data die goed dedupliceerbaar (VDI bijvoorbeeld) is verwacht ik in de toekomst helemaal geen HDDs meer.
Wouter,
Dank voor je reactie. Je slaat de spijker op zijn kop. Je applicatielandschap en de daarbij horende data bepaalt eindelijk de technologie waar voor je moet kiezen. Een performancemeting is geen overbodige luxe om als basis te dienen voor de technologie keuzes. En bij een hybride omgeving is het van groot belang om voor een schaalbare oplossing te kiezen welke flexibel om kan gaan met toekomstige groei en aanpassingen.
De IO performance , read /write verhouding, data skew zijn ( zeer belangrijk bij hybride oplossingen / automatic storage tiering) en blockisze zijn cruciaal en moeten vooraf duidelijk en inzichtelijk zijn. De inzet van flash heeft ook zeker gevolgen voor de rest van de keten/infrastructuur.
Op zich een duidelijk en informatief stuk, tenminste betreffende de verschillen tussen disks en mogelijke inzet.
Door reactie van Wouter krijg ik wel een ‘flash back’ naar het moment dat ik met de source code om mijn oren geslagen werd met de woorden: “I/O is traag en duur” Nu krast natuurlijk bijna niemand meer COBOL want met de komst van de PC ging iedereen zelf applicaties maken waarbij de disk juist weer goedkoper was dan het geheugen waardoor nog weleens gebruik gemaakt werd van pagefile. Betreffende deze problematiek had ik al eens een opinie geschreven:’Oud maar nog niet vervangen’ waarbij reactie over bruikbare software natuurlijk iets anders is dan efficiente software.
Nu is het een waarheid als een koe om te stellen dat je moet bepalen waar de waarde voor inzet van SSD zit, net als meten is weten.
Maar laten we dan de discussie eens omdraaien door de gebruiker te laten betalen voor wat hij nodig heeft of verspilt. Want ik krijg een beetje het idee dat we nog weleens gaten met gaten aan het vullen zijn. Reden daarvoor is dat nieuwe ontwikkelplatformen wederom slordig met de opslag omgaan. Want snelheid is zoals Henri stelt dan wel verslavend maar komt uiteindelijk niet voor niks.
Ewout,
Aan snelheid wen je en na enige tijd ben je vaak al weer vergeten dat het zo snel is.
Daar heb je absoluut gelijk in. Een gebruiker zou ik eigenlijk verbruiker willen noemen. En dan is een pay for use model misschien wel een optie. Heb je snelheid nodig dan betaal je er voor en heb je alleen capaciteit nodig dan ben je voordeliger uit. Zoals Henri al goed constateert gaat de rol van flash in de cloud zeer groot zijn. Maar een slecht geschreven applicatie of niet goed functioneerde infra kan natuurlijk wel een zeer vertekend beeld geven.
@Henri
Ik ben benieuwd of pay-per-use in de cloud capaciteit of prestatie gericht is want ik wil niet voor de verslaving van een ander betalen;-)
Maar zonder gekheid, het is toch wel vreemd dat we investeringen doen die misschien niet eens goed doorbelast worden. Op die manier is er geen enkele pressie om tot efficientere software te komen en blijft IT altijd een kostenpost als we voor de opslag een laisser faire beleid blijven gebruiken. Het is dus nu al vaak moeilijk uit te leggen dat prijs van Enterprise oplossingen een ander prijskaartje hebben waardoor de business toch altijd weer appels met peren gaat vergelijken.
Ewout, haha, “prijs van Enterprise oplossingen een ander prijskaartje hebben waardoor de business toch altijd weer appels met peren gaat vergelijken.”
Microsoft helpt ook niet mee om te roepen dat je je bedrijf in de cloud kan zetten vanaf 4,95 per maand.
Maar je haalt wel twee dingen door elkaar: Diensten die steeds meer aan performance doen zodat software bouwers nog steeds troep kunnen maken en het nog steeds performt. En enterprise die andere prijzen rekent voor goede data opslag omdat er een hele wereld aan techniek achter hangt om er *echt* voor te zorgen dat dingen goed blijven gaan en niet het Dropbox “Oeps, sorry dat je 48 uur geen toegang had tot de dienst” houding ten toont spreidt.
Dat enterprise veel meer moet rekenen voor redundante performt storage is aan de ene kant terecht, aan de andere kant worden dienstverleners steeds beter in het aanbieden van enterprise functionaliteit tegen een commodity prijs.
Nu moet ik echter bekennen dan AWS met rasse schreden steeds complexer wordt en steeds meer op een enterprise dienstverlener begint te lijken.
Een SQL Server optuigen was “vroeger” (jaar terug) een makkie en had relatief matige performance. Nu heb je 1000 keuzes die je kunt maken en is het berekenen van de prijs pittig geworden.
Overigens worden er in enterprise land twee methoden gebruikt voor het bepalen van de prijs:
– Wat heeft de klant er voor over (zo hoog mogelijke prijs en traditionele houding)
versus
– Wat is de kostprijs en hoeveel marge doen we daarop (het Amazon model met een race to the bottom)
Waarbij de eerste variant vaak leidt tot een hoge mate van service en het tweede model meer neerkomt op dozenschuiven. Aangezien het tweede model in opkomst is wordt het eerste model steeds moeilijker te hanteren. Beide hebben voors en tegens.
@ Henri/Ewout,
We dwalen een beetje af.
Er zijn genoeg Cloud leveranciers die al met een pay for use model werken. Vaak is dit alleen nog op opslagcapaciteit gebasseerd en niet op basis van performance. En als er wel naar de IO performance gekeken wordt, dan wordt er een onder en bovengrens afgesproken. Dit beperkt de flexibiliteit natuurlijk wel. En is voor de klant niet altijd de meest kosteneffectieve oplossing.
IO performance en het garanderen er van zijn nog ietwat een ondergeschoven kindje in de Cloud. Er heerst hier veel onduidelijkheid over. En als het al gedaan wordt is het vaak kostenineffectief ( onder / bovengrens ).
Wat je wel steeds meer ziet gebeuren is dat Cloud leveranciers een snel landingsplatform aanbieden. Hier kan je snel je batches en pieken mee afhandelen en je betaalt een prijs die gebasseerd is op capaciteit en performance.
Ik ben benieuwd wat de ervaringen van jullie zijn op dit gebied.