Hvad er forskellen mellem Openshift og OpenStack?


Bedste svar

OpenStack er Infrastructure as a service (IaaS) sky. Det giver brugerne en grænseflade til at starte systemer med specifik cpu / hukommelse / disk / netværk ved hjælp af et billede baseret på et bestemt operativsystem (+ andre funktioner). Slutbrugeren kan beslutte, hvordan systemet skal bruges, når Openstack opretter et system / vm. Han / hun kan installere en applikation efter eget valg osv. Og køre deres arbejdsbyrde. OpenStack understøtter flere virtualiseringshypervisorer.

OpenShift er platform som en tjeneste (PaaS) sky. Det giver brugerne en grænseflade til at vælge en applikationsplatform som jboss / python og køre deres arbejdsbelastning direkte med den applikationsspecifikke kode / konfiguration, der skal køres. Dette implementeres ved hjælp af container / bælg. Man kan bruge Red Hats register til testede / certificerede containere eller bruge dockerregister eller andre tredjepartsregistre.

Svar

Der er ingen måde at sammenligne på, fordi de for det meste er forskellige ting. Når det er sagt, prøver jeg først at definere behovet for hver enkelt af disse og knytte dem sammen.

Lad os starte med bunden af ​​stakken. Du har brug for infrastruktur for at køre dine servere. Hvad kunne du gå med? Du kan bruge en VPS-udbyder som DigitalOcean eller bruge AWS.

Hvad hvis du af en ikke-teknisk grund ikke kan bruge AWS? For eksempel er der en juridisk overholdelse, der siger, at de data, jeg gemmer, og serverne, jeg kører, har samme geografi som de kunder, jeg betjener, og AWS ikke har en region for det samme? hvor OpenStack kommer ind. Det er en platform til at administrere din infrastruktur. Tænk på det som en open source-implementering af AWS, som du kan køre på bare metal-datacentre.

Dernæst bevæger vi os op i stakken. Vi ønsker en effektiv måde at pakke og sende vores app på. Overvej et eksempel fra den virkelige verden, hvor du vil flytte en fast mængde biler, kul og bomuld fra punkt A til punkt B. Vi stabler dem bare ikke sammen i skibet og sender det! Vi bruger containere. En container er en standardiseret enhed, der giver korrekt isolering og emballering af dine varer, så de kan flyttes effektivt.

Kilde: Beholdere på et fragtskibsfoto af Axel Ahoi (@axelahoi) på Unsplash

Docker er softwareækvivalenten til en fysisk container. Det giver isolering og emballering til dine apps. Du kan skalere dem let. Der er mange containeriseringsteknologier, men Docker er den dominerende.

Du er klar over, at Docker giver dig så mange fordele, og du begynder at bruge mere af det. Du “containeriserer” dine applikationer og sender dem til produktion. Snart står du over for et nyt problem. Hvordan administreres alle disse containere effektivt? Hvordan kan jeg orkestrere mine containere?

Kilde : Foto af orkesterprøve af Manuel Nägeli (@gwundrig) på Unsplash

Hvorfor behøver containere i første omgang orkestrering? Chancerne er, at du læser dette svar på din stationære computer, der kører et operativsystem. Når du åbner din browser, tildeler dit operativsystem ressourcer som hukommelse og computerkraft til browserprocessen. Efter et stykke tid skifter du browservinduer og åbner derefter et nyt program et øjeblik senere. OS gør en masse hårdt arbejde bag kulisserne, så alle dine processer får en rimelig andel af de computerressourcer, de har brug for. Vi har brug for noget som et operativsystem på containerniveau. Dette er den nøjagtige rolle, som Kubernetes spiller.

Vi giver Kubernetes et sæt computerressourcer (kaldet noder) og arbejdsbelastning som “Hey, opret og giv mig 3 containere til at køre denne PHP-app ”, og Kubernetes satser på at oprette de nævnte containere oven på mine eksisterende computerressourcer. Der er også andre containerorkestrationsløsninger, som Docker-sværm og Mesos.

Kubernetes er for din klynge, hvad en Linux-kerne er for dit operativsystem. Ligesom kernen kun administrerer processerne i dit operativsystem, administrerer Kubernetes kun containerne. For at køre et fuldt udbygget operativsystem har du brug for meget mere, som brugere, tilladelser, enhedsdrivere og andre ting. På samme måde har Kubernetes i sig selv begrænset nytte. Det kan levere containere til dig, hvis du giver det en specifikation eller en arbejdsbyrde. Hvordan bygger du din container, inden du giver den til Kubernetes? Hvordan kan du automatisk udløse en ny Kubernetes-klargøring, når du har sendt en ny kode? Der er mange løsninger bygget oven på Kubernetes for at gøre det. Du kan enten optimere og tilslutte dem, så de passer til dine behov, eller du kan bruge OpenShift .

Kilde: Present, bue, bånd og jul HD-foto af Ben White (@benwhitephotography) på Unsplash

OpenShift er en Kubernetes-distribution, der kombinerer alle disse godbidder oven på bare Kubernetes på en pænt pakket måde. OpenShift er for Kubernetes hvad Ubuntu er for Linux-kernen. Det er ikke en “gaffel” af Kubernetes, men bygger i stedet oven på den.

Hvis du vil lave et dybt dyk på, hvad OpenShift bygger oven på Kubernetes, kan du tjekke mit indlæg på emne, OpenShift vs Kubernetes – Craft of Coding .

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *