Artikel top billede

(Foto: Dan Jensen)

CSI – Container Storage Interface

Klumme: CSI – Container Storage Interface – er basalt set er en standard for at tilslutte storage til containere. Men der er mere i det end det.

Denne klumme er et debatindlæg og er alene udtryk for skribentens synspunkter.

Da jeg begyndte med at skrive dette, så handlede det om CSI – Container Storage Interface – som basalt set er en standard for at tilslutte storage til containere.

Men så slog det mig lige, at det måske ikke er alle der ved, hvad en container er? Fortvivl ikke, for det er også lidt forvirrende. Og samtidig så er det også lidt svært. Ergo er det vigtigt, at man ikke sætter sin intelligens på vågeblus, når man læser dette.

Men tillad mig at forklare hvad en container i virkeligheden er:

For det første, så er en container (eller containerization) ikke nogen ny opfindelse. Faktisk så skal vi helt tilbage til 1979, da ideen med at isolere et miljø opstod. Således blev funktionen allerede dengang integreret i Unix. Siden da har containerization eksisteret i forskellige afarter i Unix-verdenen.

Men vi skal helt frem til 2013, før Docker så dagens lys. Docker har formået at gøre teknologien mainstream, men i virkeligheden, så er det en ældgammel opfindelse.

Og hvis der er noget vi er gode til her i it-branchen, så er det at hælde gammel vin på nye flasker. Nu kunne man så foranlediges til at tro, at containerization kun tilhører Unix-verdenen, men det virker altså også til Windows, MacOS m.fl.

Så hvad er en container? Se sådan her på det: Et container-miljø kan eksistere på bare metal, i et virtuelt miljø eller i skyen. Containere er en ekstremt effektiv måde at afvikle sine workloads på. Samtidig, så opnår man en meget høj fleksibilitet, da workloads meget nemt kan flyttes og skaleres fra lokal hardware til andet lokal hardware.

Og fra lokal hardware til hardware i skyen. Kort sagt, så kan et container-miljø eksistere overalt. Vi er med andre ord ankommet til en tid i it-verdenen, hvor infrastruktur er til rådighed i rigelige mængder og samtidig, så er denne ekstremt manipulerbar.

I gamle dage, så kunne man bruge årevis på at programmere den næste version af en given applikation. I dag er man – heldigvis – meget mere fokuseret på såkaldte Microservices, hvor man får konstante forbedringer af sine applikationer. Hvis du har været på din App Store eller Google Play for nylig, så ved du hvad jeg snakker om. Så kombinationen af Containerization og Microservices = fagre nye it-verden.

Som så meget andet i it-verdenen, så er containerization ikke den eneste mulighed. Man skal altid kigge på ens workload og finde ud af, om det hører bedst hjemme på en Traditionel platform, en Virtuel Maskine, en Container eller på Bare Metal.

Og hvad er et CSI – Container Storage Interface – så? En container har fra starten haft et såkaldt CNI (Container Network Interface). Et CNI er en standardiseret metode som benyttes til at lave netværkskommunikation. Et CSI er ligesom en CNI, nemlig en standardiseret metode til at tilslutte et storagesystem til et containermiljø. Og den simple årsag til, at man har lavet et CSI er, at der hidtil har været alt for mange metoder til at få et container-miljø til at tale med et storage-miljø.

Så hvis jeg skal beskrive problematikken på en anden måde, så kan man sammenligne det med en ganske almindelig stikkontakt. Globalt set, så er både stik og strømstyrker meget varierende.

Det hele ville være meget nemmere, hvis du ikke skal købe en converter i lufthavnen, hver gang du skal ud og rejse. På samme måde, så handler det om, at gøre tingene på en standardiseret måde i container-verdenen.

Så det gælder om, at have et containerized miljø, der understøtter CSI.

Har du det, så opnår du langt bedre udnyttelsesgrader og fleksibilitet på både dit compute- og storagemiljø. Og vigtigst er, at med CSI kan container personer selv håndtere deres container-storage direkte fra deres container-miljø. Og hvis din platform har bedre udnyttelsesgrader og fleksibilitet, så er den også mere kosteffektiv.

Så i en nøddeskal: CSI er blot en neutral storage-driver til container-miljøer udviklet af Google, Docker og Mesosphere. Simpelt og lidt kedeligt, men sådan er det.

Giver det mening?

Klummer er læsernes platform på Computerworld til at fortælle de bedste historier, og samtidig er det vores meget populære og meget læste forum for videndeling.

Har du en god historie eller har du specialviden, som du synes trænger til at blive delt?

Læs vores klumme-guidelines og send os din tekst, så kontakter vi dig - måske bliver du en del af vores hurtigt voksende korps af klummeskribenter.