maandag 30 november 2015

Free Turnkey Linux software; waarom zou je het wiel opnieuw uitvinden?

De kracht van open source software
Als iets gratis is, zoals bij open source producten, worden we al snel achterdochtig. 'Wat is het addertje onder het gras?' 'De kwaliteit kan nooit goed zijn.' Etcetera. Hoewel dat misschien meer zegt over onszelf dan over de het concept open source.

Een belangrijk idee achter open source software is dat het inefficiënt is als we onze kennis en ervaringen niet delen en allemaal het wiel opnieuw gaan uitvinden. Als software gratis is, en we het vrij kunnen gebruiken, distribueren, verbeteren en ervan leren, wordt een drempel naar vooruitgang weggenomen. Gratis software is de stille, vaak onzichtbare kracht achter de grootste technologische ontwikkelingen van onze eeuw.

Helaas wordt de kracht van open source software niet goed genoeg benut, omdat te weinig mensen er van af weten en nog minder mensen de vaardigheden hebben om er optimaal van te profiteren. Het ontdekken, configureren en testen van combinaties van componenten voor het ontwikkelen van software kan lastig en tijdrovend zijn.

Turnkey Linux
Linux wil daar verandering in brengen. Om de toegevoegde waarde van hun open source middelen te maximaliseren hebben zij met Turnkey Linux een simpele maar krachtige distributie en ontwikkelings toolkit ontwikkeld, welke het creëren van voorgemonteerde oplossingen die in slechts enkele minuten geïmplementeerd kunnen worden makkelijk maakt.

Voordelen
  • 100+ ready-to-use oplossingen die op bare metal, virtual machines en in de cloud geïmplementeerd kunnen worden
  • Gratis in de zin dat er geen licentie kosten betaald hoeven te worden, maar je wel kunt bijdragen door de software te verbeteren en die verbeteringen te delen met andere gebruikers en ontwikkelaars
  • Veilig en gemakkelijk te onderhouden door dagelijkse, automatische security updates
  • Het werkt omdat het is ontworpen voor en getest op gebruiksvriendelijkheid
  • Backup en migratie door de built-in backup software
  • Lichtgewicht doordat het zo efficiënt mogelijk is gebouwd met zo min mogelijk componenten
Ook u kunt heel eenvoudig gebruik maken van deze poel aan kwalitatieve, gratis applicaties. Zo kunt u profiteren van de waarde die het oplevert als wereldwijd vele engineers en andere bijdragers met kritische ogen en hun ervaringen naar de software kijken en deze naar steeds hogere niveaus tillen. Dit zonder hoge licentie kosten, vendor lock-in en vergelijkbare innovatie drempels. 

Zelf kunt u ook bijdragen. Door uw specifieke behoeften kunt u aanpassingen in de software vereisen waar iemand anders nooit eerder over na had gedacht. Zo kunt u zelf of met behulp van een gespecialiseerde bijdrager uit de open source community de software aanpassen zodat het nog beter aansluit op uw behoefte. Grote kans dat anderen hier ook bij gebaat zijn. Op deze manier bundelen we onze krachten, waardoor er gemakkelijker nog mooiere innovaties in het leven geroepen kunnen worden. It's worth a shot!

maandag 23 november 2015

Vrijheid door modulariteit.

Gestandaardiseerde systemen kunnen makkelijk en goedkoop zijn, met name voor de leverancier. Maar ga je er ook het verschil mee maken? Dragen ze bij aan je visie en helpen ze je een stevige concurrentiepositie te behalen en behouden?

Mocht je differentiëren puur op prijs, dan zouden gestandaardiseerde systemen een uitkomst voor je kunnen zijn (mits je ze niet bij een A-merk aanschaft). Werk je met een andere differentiatie strategie, dan zou ik zeker een modulair systeem overwegen.

Voordelen modulariteit

  • Beantwoording van de behoefte: 
Een modulair systeem wordt opgebouwd uit modules; net zoiets als lego stenen. Hoe meer modules het systeem uit opgebouwd kan worden, hoe meer verschillende combinaties er mogelijk zijn, en dus hoe meer verschillende systemen ermee gecreëerd kunnen worden. Dat betekent dat uw behoefte veel beter kan worden vervuld. Roeien met de riemen die je hebt is zo gek nog niet als je de keuze hebt uit een grote collectie riemen :)

  • Meebewegen met de markt: 
Je kent misschien wel de volgende uitspraak: 'Het enige dat nooit verandert is verandering'. Bij het doen van aankopen is het dus zeer belangrijk om rekening te houden met komende veranderingen. Modulariteit houdt in dat modules in de loop van de tijd kunnen worden vervangen voor andere modules. Dit betekent dat u aan de hand van veranderingen in de markt uw systeem kunt optimaliseren door modules die niet langer geschikt zijn te vervangen voor andere modules of zelfs state-of-the-art modules.
Bijkomend voordeel is dat u op deze manier de levensduur van u systeem kunt verlengen. Niet alleen beter voor uw portemonnee, maar ook voor het milieu.
  • Innovatie:
De grootste vijand van innovatie is gevangenschap in elke vorm. Net zoals vendor lock-in kan standaardisatie een enorme beperking zijn. Innovatie vereist creativiteit. Bij creativiteit hoort out-of-the-box thinking en buiten gebaande paden gaan. Dat is vrijwel onmogelijk als je vast zit aan die 'box' of aan die gebaande paden.
Wat innovatie ook nodig heeft is trial and error/uitproberen. Uitproberen wordt nogal een dure en langdurige grap als het inhoudt dat een systeem geheel vervangen moet worden voor een nieuw systeem, met de nodige implementatie tijd en leer curve. Modulariteit biedt de mogelijkheid om met kleine stapjes en zonder intense gevolgen te veranderen en uit te proberen.

Innovatie kan niet gepland worden, dus of u direct allerlei nieuwe ontwikkelingen zult doen is niet zeker. Wat wel zeker is, is dat een modulair systeem de rem van uw creativiteit af haalt, u veel leert en nieuwe inzichten biedt, en u een grote stap in de richting van innovatie brengt.

maandag 16 november 2015

CEPH: Self-managing en self-healing voor gemak en betrouwbaarheid.

Storingen oplossen
Hardware falen wil je natuurlijk het liefst voorkomen, maar dat is niet altijd mogelijk. Als er toch een storing plaatsvindt wil je die zo snel mogelijk oplossen om geen dataverlies te lijden en hoge up-time te behouden, graag met behoud van performance.

CRUSH doet het werk
CRUSH, het algoritme van CEPH, heeft de unieke eigenschap dat het bewust is van de infrastructuur. Het begrijpt de relatie tussen de verschillende componenten van de infrastructuur. 
Het origineel van een stuk data en de replica's worden door CRUSH opgeslagen en de locatie wordt bijgehouden in een 'map'. Dit gebeurt op zo'n manier dat de data beschikbaar blijft, zelfs als er meerdere componenten in een storing-domein falen. Dit geeft de CEPH administrator het vermogen om de data van de eigen omgeving efficiënt en automatisch te managen. 

Door CRUSH is CEPH self managing en self healing. In het geval van het falen van een component detecteert CRUSH de corruptie en stelt vast welk component faalde en wat het effect daarvan op het cluster is. CRUSH is self managing en self healing in de zin dat het een herstel procedure uitvoert voor de verloren data, zonder enige administratieve interventie. De data wordt opnieuw gegenereerd dm.v. de replica's die het cluster bevat. 

Voordelen: betrouwbaarheid, kostenbesparing, tijdbesparing, en innovatie
De grote voordelen van dit self managing en self healing mechanisme is dat het systeem betrouwbaar is doordat het fault-tolerant is en een hoge beschikbaarheid kan realiseren. Daarbij wordt het beheer een stuk eenvoudiger, doordat het geen administratieve interventie nodig heeft. 

Dit klinkt simpel, maar heeft wel enorme positieve gevolgen. Het detecteren van storingen, opsporen van de oorzaak, en herstellen van de oorzaak en de data kan namelijk zeer veel tijd en geld kosten. Daarnaast kan het frustratie opleveren die resulteert in het maken van fouten die op hun beurt nog ergere problemen tot gevolg hebben. Als het systeem deze taak overneemt van de beheerders, kunnen die hun kwaliteiten inzetten om te innoveren i.p.v. repareren, wat waarschijnlijk veel leuker is en uw organisatie doet bloeien.

maandag 9 november 2015

CEPH: Einde van het RAID tijdperk?

Het succes van RAID
RAID technologie is jarenlang de fundamentele bouwsteen voor storage systemen geweest. Het bewees succesvol te zijn voor bijna iedere vorm van data, en de diversiteit aan RAID niveaus heeft voldoende flexibiliteit geboden voor de juiste combinaties aan capaciteit, performance en betrouwbaarheid.

Nieuwe manieren van concurreren
Echter, in de door cloud computing gekenmerkte economie van tegenwoordig schieten nieuwe applicaties als paddestoelen uit de grond en worden er met grote snelheid, keer op keer nieuwe versies van die applicaties gelanceerd. Organisaties die in staat zijn om op hoog tempo (de nieuwste versie van) hun applicaties te implementeren, worden steeds concurrerender en innovatiever. Om dit proces te ondersteunen en te vermijden dat de IT infrastructuur de flessenhals wordt, is er behoefte aan nieuwe infrastructuur middelen en processen.

RAID niet geschikt voor cloud-gebaseerde omgevingen
Zoals gezegd worden cloud omgevingen gekarakteriseerd door snelle veranderingen. Nieuwe virtuele machines worden regelmatig gecreëerd en opgestart, en oude worden afgesloten. Als gevolg ondergaat de onderliggende storage ook snelle veranderingen. Nieuwe data moet snel worden toegewezen, oude data worden vrijgemaakt. Verder moet inhoud worden verplaatst als de storage veroudert. Al dit soort vereisten zijn nogal heftig voor RAID systemen. RAID is hiervoor niet flexibel genoeg, waardoor het een zeer complex en duur geheel zou worden.

CEPH wel geschikt voor cloud-gebaseerde omgevingen
Daarenetegen zorgt object storage als CEPH ervoor dat het schalen van een storage cluster niet langer een handmatige, complexe taak is. Nodes kunnen gemakkelijk worden toegevoegd zonder downtime of verandering in de applicatie laag. Aangezien de volledige storage capaciteit kan worden beheerd als een eenheid, worden typische problemen die in het verleden ontstonden bij het toevoegen van nieuwe storage in RAID configuraties overwonnen. Bovendien gebeurt data migratie automatisch.

Naast deze flexibiliteits eisen zijn er nog andere redenen, die betrekking hebben op betrouwbaarheid, performance en capaciteit, waarom RAID, in tegenstelling tot CEPH, niet geschikt is voor cloud-gebaseerde omgevingen. (Lees ook eerdere blog posts over voordelen van CEPH).

Is RAID nog wel geschikt voor niet cloud-gebaseerde omgevingen?
Ook niet cloud-gebaseerde omgevingen, die al dan niet snel veranderen/groeien, kunnen er flink baat bij hebben om over te stappen van RAID naar object storage als CEPH, omdat het heel veel complexiteit in het beheer wegneemt, veel vrijheidsgraden heeft en toch een hoge performance en betrouwbaarheid biedt tegen overzienbare kosten. In die gevallen is de toegevoegde waarde misschien niet zo significant om de huidige RAID omgeving direct om te zetten naar CEPH omgeving, maar de kans dat dit aan het eind van de levensduur van de huidige infrastructuur toch gebeurt is zeker aanwezig en lijkt steeds groter te worden. Dat RAID ooit zal verdwijnen is misschien teveel gezegd, maar het zou wel eens kunnen dat het zijn beste jaren heeft gehad.

maandag 2 november 2015

CEPH: Erasure coding reduceert opslagruimte

Om dataverlies tegen te gaan zijn er diverse data beschermings methoden ontwikkeld. Ze hebben allemaal hun voordelen, maar ook hun nadelen. Wat in de ene situatie heel goed werkt, is in de andere situatie verre van geschikt. Om opslagruimte te besparen maakt CEPH gebruik van erasure coding.

Waarom erasure coding?
Naast erasure coding bestaan er twee belangrijke data beschermings methoden; replicatie en RAID. Deze zijn helaas niet ideaal voor de grootschalige systemen van deze tijd en van de toekomst. Daarom is erasure coding weer naar de praktijk gehaald. 

Data replicatie
Bij data replicatie wordt een exacte kopie van de data op een ander storage systeem opgeslagen. Als je zo'n volledige kopie of misschien zelfs meerdere kopieën van een stuk data hebt, is verloren data snel te herstellen. Het hoeft alleen maar één op één gekopieerd te worden. Helaas kost deze methode erg veel opslagruimte, wat zeker bij grootschalige systemen enorm in de kosten kan lopen.

RAID
RAID is een hele bekende data beschermingsmethode die het efficiënter aanpakt. Door een speciale formule is het mogelijk om zonder volledige kopieën, toch verloren data te herstellen. Er is wel extra data bovenop het origineel nodig, maar het origineel hoeft niet in tweevoud opgeslagen te worden. Hierdoor wordt een hoop opslagruimte bespaard. Echter, deze methode is logistiek gezien niet geschikt voor grootschalige systemen.

Voordeel erasure coding
Erasure coding is net als RAID een data berschermings methode die een stuk efficiënter is dan data replicatie. Deze methode werkt ook met een formule om verloren data te herstellen, zonder dat er volledige kopieën nodig zijn, waardoor een hoop opslagruimte bespaard wordt. In tegenstelling tot RAID is erasure coding wel geschikt voor grootschalige systemen.

Een nadeel van zowel RAID als erasure coding is wel dat er gerekend moet worden om verloren data te herstellen, waardoor data herstel een stuk trager gebeurt dan als de data gerepliceerd was. Gelukkig is het bij CEPH ook mogelijk om erasure coding met data replicatie te combineren. Data replicatie kan dan bijvoorbeeld ingezet worden voor de veel gebruikte data en erasure coding kan dan ingezet worden voor archivering. Zo is actieve, primaire en secundaire data weer snel beschikbaar en wordt er toch veel opslagruimte bespaard.