OpenShift suomeksi väännettynä 

Asiantuntijasisällöt
Lenni Laukkanen

OpenShift on Red Hatin kehittämä, konttiteknologiaan perustuva ohjelmistotuoteperhe, jonka lippulaiva on pilven kautta toimiva ja sovelluskehittäjille suunnattu OpenShift Container Platform eli palvelualusta. 

Palvelualusta mahdollistaa sovelluskehitysympäristöjen automatisoinnin konttiteknologian avulla. OpenShift tarjoaa kehittäjille mittavan määrän sovellusten hallintaa helpottavia työkaluja, joiden avulla he voivat vähentää resursseja kuluttavaa manuaalista työtä ja keskittyä itse ydinosaamiseensa. Palvelun hyödyntäminen takaa sovelluskehitykseen myös luotettavan ylläpidon sekä ajantasaiset päivitykset, jotta myös tietoturva pysyy jatkuvasti korkealla tasolla. 

Tässä blogitekstissä tutustutaan OpenShiftiin sovelluskehittäjien työtä helpottavana palveluna sekä kontteihin ja niiden hallinnassa käytettäviin orkestrointityökaluihin palvelualustan taustalla. 

Tämä artikkeli kannattaa lukea, jos seuraavat aiheet kiinnostavat: 

  • Red Hatin OpenShift on palvelualusta, joka helpottaa sovelluskehitystä monin eri tavoin konttiteknologiaan perustuen. 
  • Palvelualusta tarjoaa käyttäjilleen kattauksen sovelluskehitystä helpottavia työkaluja sekä jatkuvaa ylläpitoa ja tukea. 
  • OpenShift on rakennettu monikäyttöisen ja eri kokoluokkien ohjelmistojen käsittelyyn soveltuvan Kubernetes-orkestrointijärjestelmän päälle. 

Konttiteknologia tuo merkittävät hyödyt ohjelmistojen käsittelyyn 

Kontit ovat sovellusten käsittelyyn luotuja ja standardoituja virtuaaliympäristöjä, joissa sovelluksia voidaan ajaa, kehittää, ylläpitää ja siirrellä itsenäisinä yksikköinään. Konttia voidaan siis luonnehtia ohjelmistoksi tai sen osaksi, jonka käsittely onnistuu sellaisenaan niin sovelluskehittäjän omalla työasemalla, virtuaali- tai rautapalvelimella kuin pilvessäkin tarvitsematta muuttaa itse koodia.  

Konttiteknologioista on tullut viimeisen vuosikymmenen aikana jatkuvasti yleistyvämpi ratkaisu softakehityksessä, ja ne korvaavat yhä useammin perinteiset virtuaalipalvelimet kevyempänä ja helppokäyttöisempänä vaihtoehtona. Virtuaalipalvelimet sisältävät kontteihin verrattuna runsaasti sovelluksen kannalta ylimääräistä dataa, mikä tekee sovelluksen käsittelystä työlästä sekä aikaa vievää.  

Kontit voidaan myös käynnistää ja sammuttaa tarpeen mukaan hyvinkin nopeasti, mikä tuo ohjelmistoihin joustavuutta ja skaalautuvuutta. Nopean sammutuksen ja käynnistyksen avulla konteilla voidaan myös välttää töitä alati viivästyttävät ohjelmistojen huoltokatkot.  

Yksinkertaistettuna konttien toimintaperiaate on siis käytännössä sama kuin fyysisillä, rahtilaivoilla kuljetettavilla rahtikonteilla: sisältöä voidaan siirrellä näppärästi ympäriinsä ilman tarvetta purkaa kuormaa siirtymien välillä. Ohjelmiston asettaminen standardoituun konttiin mahdollistaa sen siirtämisen esimerkiksi testi- ja kehitysympäristöön tai vaikkapa jonkin palveluntarjoajan pilveen ennen julkaisua ja tuotantoon siirtämistä. Lue tarkemmin OpenShiftin konttiteknologiasta täältä.

Kontteja hallitaan orkestrointityökaluilla 

Konttien hallinta edellyttää niitä varten kehitettyjä orkestrointityökaluja. Sovelluksia sisältävät kontit pyörivät siis käytettävän orkestrointijärjestelmän päällä. Tällaisia järjestelmiä on useita erilaisia, ja niiden ominaisuuksia voidaan hyödyntää optimoidusti yrityksen tarpeiden ja ohjelmiston koon mukaan. 

Eräs suosituimmista konttien orkestrointijärjestelmistä on Kubernetes-orkestrointityökalu, jonka päälle myös OpenShift-alusta on rakennettu. Se on ominaisuuksiltaan hyvin monipuolinen ja siten hyödynnettävissä laajasti eri kokoluokkien sovellusten käsittelyyn. Avoimen lähdekoodin järjestelmänä Kubernetes tarjoaa alustan niin kevyille sovelluksille kuin raskaammillekin ja laajaa skaalautuvuutta vaativille ohjelmistoprojekteille. Kubernetes on toki orkestrointijärjestelmistä vain yksi, ja esimerkiksi verrattain vaatimattoman mittakaavan konttisovelluksiin on tarjolla yksinkertaisempia työkaluja. 

Kubernetes on suosittu juuri monikäyttöisyytensä ja järeytensä vuoksi: orkestrointijärjestelmä voidaan tarvittaessa optimoida ominaisuuksiltaan tarkasti esimerkiksi yrityksen oman ympäristön tai tietyn pilvipalvelun edellytysten mukaiseksi. Vaihtoehtoisesti sitä voidaan käyttää oletusominaisuuksiensa kaltaisena, sujuvasti siirreltäväksi ympäristönä, jonka voi vaihtaa vaikka pilvestä toiseen tai yrityksen oman konesalin palvelimille. 

Kubernetesin hallinta edellyttää kuitenkin suhteellisen korkeaa osaamista, aikaa ja työtä. Juuri tähän kohdistuu OpenShiftin hyöty palveluna.  

Palvelun avulla sen käyttäjät saavatkin orkestrointityökalun toiminnallisuudet ja lisäksi sen ylläpidon eli päivitykset, monipuoliset tietoturvaominaisuudet sekä jatkuvan teknisen tuen. OpenShift tarjoaa käyttäjilleen myös runsaasti erilaisia ohjelmistoja tukemaan konttiperusteista ohjelmistokehitystä.  

Sovelluskehittäjät voivat käyttää joustavasti osaamiaan ohjelmointikieliä ja tekniikoita, kunhan sovelluksen arkkitehtuuri suunnitellaan konttipohjaiseksi ja käytössä on konttien hyödyntämiseen soveltuvat kehitys-, testaus- ja tuotantoympäristöt. 

Konttiteknologian hyödyt OpenShiftissä palveluna: 

  • OpenShift on loikka modernisointiin, sillä konttiteknologiat keventävät ja nopeuttavat huomattavasti ohjelmistojen käsittelyä. 
  • Yritystasoinen orkestrointijärjestelmä Kubernetes soveltuu laajasti eri kokoluokkien ohjelmistoprojekteihin. 
  • Muokattavuus ja skaalautuvuus auttavat saamaan käytettävissä olevasta infrastruktuurista kaiken irti.

Palvelualusta nopeuttaa ja helpottaa sekä kehitystä että julkaisua 

OpenShiftin perusajatuksena on tarjota käyttäjilleen kattaus kontti- ja sovelluskehitystyökaluja jatkuvasti ylläpidettyinä ja valvottuina. Sovelluskehittäjät saavat palvelusta roimasti hyötyä, sillä se sisältää jo valmiiksi kaikki tarvittavat työvälineet ja resurssit itse kehitystyöhön. Näin heidän ei tarvitse käyttää aikaansa manuaaliseen ylläpitoon, ympäristöjen rakentamiseen itse tai loputtomalta tuntuvaan testaukseen.  

Työkalut mahdollistavat kehittäjille uuden koodin tuottamisen, testaamiseen ja julkaisun helposti ja luotettavasti. Esimerkiksi uuden koodin integrointi ohjelmistoon, erilaisten bugien korjaaminen tai uusien toiminnallisuuksien nopeampi kehitys ja julkaisu onnistuvat aiempaa lyhyemmissä sykleissä. 

Projektiin liittyvien sovellusten, komponenttien ja palveluiden hallinta on OpenShiftin tarjoamien visuaalisten työkalujen myötä kaikkiaan vaivattomampaa. Palvelualustalla voit myös luoda ja siirtää tuotantoon sovelluksia tuomalla ympäristöön jo olemassa olevaa lähdekoodia, kuvia ja tiedostoja. 

OpenShiftin tuo merkittävää hyötyä sovelluskehittäjän työhön: 

  • Valmis ja ylläpidetty ympäristö säästää sovelluskehittäjiltä, ylläpitäjiltä ja muilta asiantuntijoilta aikaa ja vaivaa. 
  • Koodin integroiminen aiempaan, bugien korjaaminen sekä uusien toiminnallisuuksien kehitys luotettavaa ja helppoa. 
  • OpenShiftin tarjoamat sovelluskehitystyökalut mahdollistavat kirjoitetun koodin siirron tuotantoon jopa minuuteissa. 

Olennaisena etuna myös lisätietoturva sekä -työkalut 

Konttien hallinta ulkoistettuna palveluna vähentää myös yrityksen tietoturvariskejä. Konttiteknologian myötä sovellukset voidaan käynnistää aina itsenäisesti esimerkiksi kehitys- tai testiympäristössä ennen varsinaista käyttöönottoa. Tämän myötä käyttöjärjestelmien, sovellusten eri versioiden sekä tietoturvan päivittäminen ennen julkaisua on huomattavasti turvallisempaa.  

On kuitenkin tilanteita, joissa tietoturvaan voi kohdistua monimutkaisempia vaatimuksia. OpenShiftissä sellaisetkin voidaan ottaa huomioon lisäämällä sovelluskehittäjien työkalupakkiin tietoturvaa ja työkaluja. Kun etenkin suurimmissa ja tietoturva- sekä käytettävyysvaatimuksiltaan korkean tason projekteissa tietoturva, sääntöjen mukaisuuden valvonta ja arkkitehtuurin hallinta automatisoidaan, jää työntekijöille enemmän aikaa luovaan ongelmanratkaisutyöhön.  

Palvelualusta tarjoaa myös kohennusta tietoturvaan ja monipuoliset lisätyökalut sovelluksen muokkaamiseen: 

  • OpenShiftin avulla sovellukset täyttävät kriittisimmätkin tietoturvavaatimukset. 
  • Tietoturvan ja säännönmukaisuuden valvonnan sekä arkkitehtuurin hallinnan työkalut tuovat ohjelmistokehitykseen turvaa sovelluksen elinkaaren kaikkiin vaiheisiin. 
  • Alusta mahdollistaa yhden rajapinnan kautta kaikki tarpeelliset palvelut sekä työkalut yhdenmukaisen ja hallitun ympäristön ylläpitoon. 

Lue seuraavaksi: