Nu gecontaineriseerde applicaties steeds vaker worden ingezet door bedrijven, komen er steeds meer technologieën voor het effectiever inrichten van je Kubernetes-omgeving. Zo biedt storageleverancier DataCore sinds enkele maanden Bolt, waarmee opslag geregeld wordt om stateful applicaties te draaien binnen containers. We spraken over de combinatie Kubernetes, containers en storage met Senior Solutions Architect Pieter van de Burg.

Dat DataCore recent een toegewijd Kubernetes-product heeft gelanceerd, is op zich niet zo heel gek. In de basis wil het bedrijf met Software-Defined Storage een softwarelaag over de storage hardware plaatsen, voor het efficiënter en slimmer inrichten en beheren van opslag. Tot voor kort had het hiervoor de drie kernproducten SANsymphony, vFilO en Swarm. Deze drie producten adresseren respectievelijk Block, File en Object storage.

Lees ook ons verhaal waarin we de algehele strategie van DataCore bespreken: DataCore slaat met Software-Defined Storage efficiëntie- en versimpelslag

De markt beweegt echter steeds meer naar containerized applicaties. Voor het automatiseren en beheren van cloud-native software wordt vaak Kubernetes gekozen. Moderne applicaties die Kubernetes gebruiken vereisen echter ook op maat gebouwde storage services. Daarom heeft DataCore recent Bolt geïntroduceerd, waarmee het nu vier kernproducten heeft.

De aanloop naar Kubernetes en container storage

De lancering van versie 1.0 van Bolt komt niet uit de lucht vallen, maakt Van de Burg ons aan het begin van ons gesprek duidelijk. Kubernetes is een platform dat sinds 2014 bestaat, waarna het binnen de cloud-native wereld in een rap tempo geadopteerd werd. DataCore zag in 2017 al dat we aan het begin van de container-revolutie zaten. Men zag toen vooral een rol weggelegd voor containers in combinatie met het SANsymphony-product. Dit aangezien SANsymphony zich richt op block storage, waarbij hoge beschikbaarheid en prestaties erg belangrijk zijn. Voor software die gebruikmaakt van containers hebben die eigenschappen eveneens prioriteit.

Intern zette DataCore zodoende Project CDS (Container Data Services) op. Daarmee maakte het bedrijf intern resources vrij om op basis van SANsymphony persistent storage voor containers te ontwikkelen. Hierbij stelde het bedrijf de data services van SANsymphony open richting Kubernetes. Om persistent storage uit te delen aan applicaties is onder andere een CSI (Container Storage Interface) nodig. Dit is een plugin voor Kubernetes en andere container orchestrators waarmee opslagleveranciers in hun producten persistent storage kunnen uitserveren aan gecontaineriseerde applicaties. De SANsymphony CSI-plugin richt zich op legacy omgevingen, eigenlijk de infrastructuren die niet cloud-native zijn en niet naar de cloud gaan. Binnen dit soort omgevingen zien we steeds meer de behoefte om gebruik te gaan maken van containers naast de legacy applicaties.

Binnen legacy omgevingen kan DataCore dus high-performance en hoog beschikbare persistent storage leveren voor gecontaineriseerde applicaties.

Tekst gaat verder na onderstaand kader

Use case

In dit artikel hebben we het vooral over Kubernetes storage. We vroegen DataCore of het ook een praktijkvoorbeeld kan delen, om het wat tastbaarder te maken. Het kwam met Civo, een serviceprovider die volledig beheerd wordt vanuit Kubernetes. Begin dit jaar deelde Civo wat het gedaan heeft om Kubernetes een go-to keuze te maken voor grote enterprise organisaties.

Civo zag dat het veranderen van de standaard storage-laag voor clusters cruciaal is voor het verbeteren van betrouwbaarheid. De serviceprovider heeft de stap afgerond, waardoor nieuwe clusters OpenEBS Mayastor als standaard storage-laag hanteren. Ook is Civo bezig met de migratie van alle bestaande clusters naar Mayastor. “We zijn verheugd om het af te ronden, aangezien onze tests bewezen dat het de stabiliteit van het platform verbetert en het ook superieur in prestaties is.”

Echt cloud-native bereiken

Hoewel de focus op Container Storage Interface voor DataCore een opstap naar Kubernetes was, zag het bedrijf ook dat er meer nodig was. Van de Burg zegt hierover dat DataCore eigenlijk intern te veel resources vrij moest maken om stappen te maken. Begin 2020 besloot het bedrijf daarom te investeren in MayaData, waarbij de mensen die voor DataCore aan containers werkten ook werden overgeheveld naar MayaData. MayaData is de belangrijkste ontwikkelaar en contributor binnen de open-source opslagtechnologie OpenEBS. Ook werd het intellectueel eigendom en de kennis naar MayaData gebracht. Vanuit dat punt zijn beide partijen verder gaan bouwen, waaruit de OpenEBS Mayastor engine kwam rollen.

Met OpenEBS Mayastor kunnen ontwikkelaars makkelijker Kubernetes stateful workloads deployen. In de basis doet het dit door beschikbare storage op iedere Kubernetes node te beheren en de opslag te gebruiken voor Local Volumes (voor gedistribueerde workloads als MongoDB en Cassandra) of Distributed Volumes (voor stateful workloads als Percona, MySQL en Jira). Voordelen van OpenEBS Mayastor zijn dat container storage op maat gebouwd is, wat Kubernetes apps agility en flexibiliteit biedt. Ook is gecontaineriseerde software op iedere cloud te draaien.

Voor ITOps en DevOps

Van de Burg ziet dat SANsymphony en OpenEBS met de CSI-plugin twee producten met hele andere doelen zijn. De CSI-plugin voor SANsymphony is geschreven om vanuit legacy architecturen gebruik te gaan maken van containers. De plugin is als het ware een eerste stap richting containers en valt volgens Van de Burg vooral in de smaak bij ITOps. 

OpenEBS Mayastor is op zijn beurt het echte cloud-native verhaal. Dat spreekt vaak de DevOps-wereld aan, stelt Van de Burg, aangezien zij vanuit de cloud komen. Zowel in de ontwikkelomgeving als in productie geeft DevOps de voorkeur aan Kubernetes. Voor software zijn dan performance en beschikbaarheid vaak belangrijke eigenschappen. In dat geval kunnen ontwikkelaars uitkomen bij OpenEBS Mayastor.

Storage controller Bolt gaat voor snelheid, prestaties en schaalbaarheid

Uiteindelijk is het de OpenEBS Mayastor engine open source-technologie die geleid heeft tot de introductie van Bolt. Dat zit zo: eind 2021 nam DataCore MayaData over, beloofde de technologie open source te houden en tegelijkertijd de expertise van het bedrijf te gebruiken voor de ontwikkeling van eigen technologie. Bolt werd daarmee het commerciële Kubernetes storage product, gebaseerd op de technologie van MayaData. Reden voor DataCore om met een toegewijd container storage-product te komen was dat ontwikkelaars op traditionele infrastructuur geen moderne software en microservice-architecturen kunnen bouwen. Storage moet eigenlijk van de grond af opnieuw gebouwd worden, om handmatige taken te elimineren en de potentie van containers te benutten.

Als we Van de Burg naar het unieke van het nieuwe Bolt-product vragen, dan prijst hij met name de hoge performance die DataCore voor stateful workloads realiseert. “Wij kunnen eigenlijk de snelste storage leveren richting de gecontaineriseerde applicaties”, aldus de Senior Solutions Architect over de positie op de markt en concurrentie met andere leveranciers. Bolt bereikt de hoge performance door gebruik te maken van de mogelijkheden die NVMe en NVMe over Fabric biedt. Dat wil zeggen dat de softwareoplossing over het gehele datapad gebruikmaakt van het NVMe protocol. Op die manier verkrijg je een minimale overhead en zijn de latency-voordelen van NVMe volledig te benutten.

Van de Burg ziet DataCore, in vergelijking met concurrenten, voor legacy omgevingen verdergaan met de CSI-plugin van SANsymphony. Bolt is inzetbaar voor cloud-native apps/microservices. De Bolt technologie kan ook op basis van standaard hardware in on-premises omgevingen high-performance en hoog beschikbare storage leveren voor gecontaineriseerde software.

DataCore haalt veel vertrouwen uit het feit dat het met Bolt nu eigenlijk Software-Defined Storage kan bieden voor iedere situatie: Containers, Block, File en Object Storage.

Uiteindelijk past Bolt in het rijtje aan DataCore-diensten vanwege de sterke focus op het bieden van een variëteit aan data services. In het geval van Bolt kan je denken aan het stroomlijnen van de Continuous Integration and Continuous Delivery-pipelines, met behulp van storage services die direct vanuit Kubernetes georkestreerd worden. Ook zijn er diensten voor het wegnemen van complex opslagbeheer (dankzij Kubernetes-automatisering) en zicht op gedrag van de storage.

Deployment en schaalbaarheid

Om van Bolt gebruik te kunnen maken, biedt DataCore het product aan als softwarepakket. Dit pakket is te deployen op ondersteunde nodes binnen een Kubernetes cluster. Het kan gaan om bare metal, virtuele of cloud-gehoste nodes. DataCore legt hierbij nadruk op het zijn van een onafhankelijk softwareleverancier. Voor Bolt betekent het dat het iedere NVMe-powered storage hardware ondersteunt. Als Bolt zich op een node bevindt, creëert het een storage pool voor Kubernetes containers. Grote voordeel van de software-gebaseerde aanpak is ook dat het storage enorm schaalbaar maakt.

Verschillende situaties ondersteunen

Bolt is het product waar DataCore zo’n vijf jaar naartoe heeft gewerkt. Hiermee kan het de storage controller voor Kubernetes leveren waarmee het mikt op flinke groei. Het wordt verwacht dat gespecialiseerde storage-producten een rooskleurige toekomst hebben door de steeds prominentere rol van containers binnen bedrijfsomgevingen,

Tegelijkertijd blijft DataCore oog hebben voor de CSI-plugin voor SANsymphony en OpenEBS Mayastor. De CSI-plugin zal meer tot recht komen in legacy omgevingen, terwijl de OpenEBS Mayastor een open-source project blijft. Daarmee heeft Datacore zijn pijlen echt op de Kubernetes-toekomst gericht.

Tip: DataCore Swarm helpt bedrijven bij beheer en security object storage