Tisti, ki razumejo pomen zagotavljanja konkurenčne prednosti z izkoriščanjem sodobnih orodij za učinkovitejši razvoj programske opreme, vedno iščejo inovativne rešitve in jih brez oklevanja vključijo v svoj potek dela, če so ugodnosti, ki jih ponujajo, dovolj privlačne.
RedHat OpenShift je obljubil, da bo razvijalcem omogočil hitrejše inovacije in pošiljanje, eno vodilnih orodij za razvoj in uvajanje sodobnih aplikacij v različnih okoljih, ta članek pa predstavlja koncepte, ki stojijo za tem.
Predstavljamo vam OpenShift
Cilj OpenShift-a je poenostaviti številne dolgočasne naloge, povezane z razvojem aplikacij, na primer uvajanje aplikacij in upravljanje vsakodnevnih operacij. Za dosego tega cilja OpenShift ponuja integrirano aplikacijsko platformo, ki razvijalcem omogoča, da se osredotočijo na pisanje svoje najboljše kode, IT-operacijo pa olajša z zagotavljanjem vrhunskega nadzora, vidnosti in upravljanja.
OpenShift je Red Hat prvič izdal leta 2011, potem ko je podjetje prevzelo Makaro, ki je bila zagonsko podjetje, osredotočeno na zagotavljanje platforme v oblaku za programe Java in PHP v javnih in zasebnih oblakih. Vendar pa je šele izšel OpenShift 3.0, ko je platforma kot storitev (PaaS), ki jo je ponudil Red Hat, dobila svojo sedanjo obliko in sprejela Dockerja kot tehnologijo zabojnikov in Kubernetes kot tehnologijo orkestracije zabojnikov.
Zdaj lahko rečemo, da je OpenShift PaaS, ki deluje okoli vsebnikov v obliki Docker, ki se upravljajo z odprtokodno platformo za orkestracijo zabojnikov Kubernetes. Preden podrobneje preučimo nekatere njegove značilnosti in zmogljivosti, podajmo kratek pregled Dockerja in Kubernetesa, da bo jasno, kako se posamezni deli ujemajo v prepleteno, skladno in dosledno celoto.
Docker
Kot morda že veste, je Docker ena izmed najbolj priljubljenih tehnologij zabojnikov za Linux. Razvijalcem omogoča, da aplikacije z vsemi odvisnostmi distribuirajo v prenosni obliki za slike, ki se izvajajo v vseh sistemih.
Docker je bil prvič izdan leta 2013, od takrat pa so ga veliki in mali razvijalci široko sprejeli. Z Dockerjem lahko razvijalci učinkoviteje uporabljajo sistemske vire, hitreje pošiljajo programsko opremo in se spopadajo z manj varnostnimi težavami.
Ti in drugi razlogi so, zakaj se je Red Hat odločil zgraditi OpenShift, zgrajen okoli Dockerjevih zabojnikov. Vendar pa lahko z enim samim Dockerjevim vsebnikom naredimo le toliko, kamor vstopi Kubernetes.
Kubernetes
Kubernetes je odprtokodna rešitev za orkestracijo posod. Omogoča enostavno preseganje ene posode, skrb za uravnoteženje tovora, namestitev itd. Kubernetes združi vsebnike v logične enote, tako da lahko na zahtevo enostavno upravljate in prilagodite programe.
Čeprav je bil Kubernetes izdan leta 2014, njegova priljubljenost ni omejena na zgodnje uporabnike. Najnovejša raziskava Cloud Native Computing Foundation (CNCF) je pokazala, da velika večina (78%) podjetij, ki uporabljajo kontejnerje v proizvodnji, z njimi upravlja s pomočjo Kubernetesa.
Značilnosti OpenShift
OpenShift je od izdaje svoje prve različice daleč napredoval in zdaj ponuja številne prednosti in zanimive funkcije. Tu je pet funkcij, ki bi jih morali vedeti:
- Spletna konzola: Za čim preprostejši razvoj in uvajanje aplikacij OpenShift vključuje spletni vmesnik za razvijalce z odzivno zasnovo uporabniškega vmesnika. Do tega vmesnika lahko dostopate iz katerega koli sodobnega spletnega brskalnika in uporabljate za enostavno upravljanje aplikacij in sorodnih virov.
- Orodja ukazne vrstice: Poleg spletnega vmesnika za razvijalce OpenShift ponuja tudi nabor orodij ukazne vrstice. Ta orodja so na voljo in jih lahko prenesete neposredno iz spletnega vmesnika. Ta orodja se lahko uporabljajo za ustvarjanje in upravljanje aplikacij in projektov OpenShift s terminala. Podprti so Windows, macOS in Linux, v spletu pa je na voljo podrobna vadnica za vsako platformo.
- IDE podpora: V duhu odprtokodne programske opreme si OpenShift prizadeva razvijalcem dati čim več svobode pri izbiri poteka dela, pri čemer se integrira z Visual Studio, Eclipse in JBoss Developer Studio.
- Predloge aplikacij: V OpenShift so vključene vnaprej ustvarjene predloge aplikacij za hitri zagon, katerih namen je razvijalcem omogočiti začetek s preprostim klikom, ne glede na to, ali želijo razviti aplikacijo z uporabo Java, Python, PHP ali katerega koli drugega jezika.
- Nenehno povezovanje: Znano tudi preprosto kot CI, je pri neprekinjeni integraciji pogosto pogosto združevanje sprememb kode v osrednje repozitorij, OpenShift pa to olajša, saj vključuje Jenkins, vodilni odprtokodni strežnik za avtomatizacijo. Jenkins je enostaven za namestitev in podpira na stotine vtičnikov in integracij tretjih oseb.
Okusi OpenShift
OpenShift je na voljo v treh okusih, vse pa poganja ista odprtokodna jedrna komponenta, imenovana OKD:
- Kontejnerska platforma OpenShift: Do junija 2016 je bila platforma OpenShift Container Platform znana kot OpenShift Enterprise, zato se nekateri uporabniki OpenShift še vedno sklicujejo nanjo. Ta PaaS je namenjen organizacijam, ki želijo popoln nadzor nad svojim lokalnim ali javnim okoljem v oblaku.
- OpenShift Dedicated: Nekatere organizacije imajo morda raje udobje popolnoma vodene rešitve in tu se prilega OpenShift Dedicated, ki ponuja možnost zagona okolja OpenShift z enim najemnikom v javnem oblaku.
- OpenShift Online: Razvijalci in skupine, ki gradijo aplikacije v javnem oblaku, lahko OpenShift Online uporabljajo za enostavno ustvarjanje, uvajanje in spreminjanje vsebnikov v katerem koli spletnem brskalniku z uporabo njihovih orodij po izbiri.
Obstaja tudi OpenShift.io, znan tudi kot Red Hat CodeReady Toolchain, brezplačno razvojno okolje v oblaku, ki je na voljo v celoti, na voljo kot rešitev za predogled SaaS za razvijalce z OpenShift Online. Z OpenShift.io, z lahkoto lahko načrtujete, gradite in uvajate aplikacije, ki temeljijo na oblaku.
Zaključek
V današnjih časih naj bi organizacije dostavljale aplikacije in funkcije v izjemno raznolikih IT okoljih. OpenShift organizacijam vseh velikosti zagotavlja pomembno vrednost, saj razvijalcem in IT-operacijam omogoča učinkovitejše delo ter zagotavljanje pravočasnejših in neprebojnih aplikacij in funkcij