Kehitä ketterämmin, laita koodi konttiin

Konttiteknologia on sovelluskehityksen ketterä mahdollistaja, joka vapauttaa resursseja ja tuottaa säästöjä.

Kontti lyhyesti

Kontteja ja kontitusta voi kuvailla monellakin erilaisella arkipäivän asialla, kuten vaikka supermarketin kassalla. Kontti pitää sisällään kaiken tarvittavan, mitä kaupan kassalta vaaditaan sen tehtävän suorittamiseksi. Kontteja on useita, ja kullakin kontilla on oma tehtävänsä suuremmassa kokonaisuudessa, esim. kaupan kassa ei voi toimia kalatiskinä vaan siihen tarvitaan oma erilainen kontti, jolla on kalatiskin pitämiseen tarvittavat kalat ja työkalut. Samanlaisia kontteja voi kuitenkin olla useampia ja ruuhka-aikoina kassoja on enemmän auki kuin hiljaisempina hetkinä.

Kontin voisi myös kuvailla valmiiksi kalustetuksi asunnoksi. Se on siirrettävissä ihan minne tahansa, ja kontti itsessään pitää kaiken asumiseen tarvittavan sisällään. Konttien hallintajärjestelmä taas pitää huolen siitä, että asuntoja on aina oikea määrä saatavilla. Uuden naapurin saapuessa paikalle ilmestyy hänelle myös kontti jossa asua. Naapurin kyllästyessä sinun oikukkaisiin tapoihisi ja muutettua pois häviää hänen konttinsakin pois tarpeettomana. Vakuutukset ”konttiasumisessa” olisivat tarpeettomia, vesivahingon tai tulipalon sattuessa vaurioitunut kontti vain korvattaisiin automaattisesti vastaavalla ja kaikki olisi samoin kuin ennen onnettomuutta. Ja tuo kaikki olisi niin nopeaa, ettet edes ehtisi huomaamaan mitään tapahtuneen.

Virtuaalikone vai kontti?

Virtuaalikoneiden avulla voidaan ajaa rinnakkaisia sovelluksia, kutakin omalla koneellaan. Kukin virtuaalikone taas vaatii oman käyttöjärjestelmänsä, mikä johtaa kahteen ongelmaan: Koneiden ja järjestelmien hallinnasta tulee työlästä ja resursseja sitovaa. Virtuaaliympäristö tarvitsee myös paljon kapasiteettia, sillä virtuaalikoneen ohjelmat ovat sidoksissa siihen asennetun käyttöjärjestelmän sisältämiin ohjelmiin ja niiden eri versioihin. Tämä on kallista.

Konttitekniikka vapauttaa resursseja sekä kapasiteetin että henkilöstön osalta, sillä konttien suorituskyky on virtuaalipalvelimia parempi, eikä ympäristönhallinta vaadi samaa määrää käsityötä. Itse asiassa, konttiteknologian avulla IT-infran automaatioastetta voidaan nostaa, ja näin tehostaa ympäristön ylläpitämistä huomattavasti.

Konttien hallintajärjestelmällä ja sen käytön helppoudella on suuri rooli konttitekniikan käyttöönotossa. Hallintajärjestelmien avulla kontit jaetaan useille palvelimille, ja jos jokin konteista vikaantuu, hallintajärjestelmä siirtää kontteja muille palvelimille ajettaviksi, pyrkii korjaamaan vikaantuneen kontin, tai käynnistää uuden kloonin vikaantuneen kontin tilalle. Hallintajärjestelmistä tunnetuin on Kubernetes, open source -ratkaisu, jota hyödynnetään laajalti ja joka on osa myös IBM:n Cloud Private –palvelua.

Konttiteknologia tukee devops-toimintamallia sallimalla nopean julkaisusyklin

Konttiteknologia mahdollistaa ympäristön standardoinnin ja konttien ansiosta kehitys-, testaus- ja tuotantoympäristö voivat kaikki olla samanlaisia. Tämä tukee ketterää, jatkuvaan julkaisuun perustuvaa kehittämisen mallia. Kontin avulla sovelluksen uuden version julkaisu voidaan tehdä nopeasti ja hallitusti ilman palvelukatkoja. Jos ongelmia havaitaan, on julkaisun peruuttaminen myös nopeaa sekuntipeliä. Virtuaaliympäristössä julkaisun peruuttaminen saattaa viedä useita minuutteja – pahimmillaan kymmeniä minuutteja.

Konttitekniikka tukee ohjelmistokehittäjän työtä jo ennen julkaisua helpottamalla uuden ohjelmaversion testausta. Sovelluskehittäjä voi testata julkaisua odottavan version sen ensin kehitys- ja testiympäristössä, jonka jälkeen hän halutessaan voi julkaista päivityksen vain osalle käyttäjiä. Konttitekniikka tuo myös varmuutta, se mikä toimii kehittäjän koneella, toimii myös tuotantopalvelimella. Jos kuitenkin, syystä tai toisesta, törmätään ongelmiin, on aikaisemman version palauttaminen käyttöön helppoa – ja asiakaskunta pysyy tyytyväisenä.

Mihin konttiteknologia sopii?

  1. Uutta mikropalveluiden varaan: Jos uutta sovellusta aletaan kirjoittamaan puhtaalta pöydältä, ja sovellus halutaan rakentaa mikropalveluiden varaan, kontit hyvä vaihtoehto palveluiden alustaksi.
  2. Monoliitista mikropalveluihin: Kun vanhaa monoliittisovellusta halutaan kehittää jatkossa mikropalveluiden varaan, on usein järkevää siirtää sovellus virtuaalikoneelta konttiin ja näin turvata esim. liiketoiminnalle kriittisten palveluiden jatkuvuus.
  3. Konesalista pilveen: Konesalin virtuaalikoneiden siirtäminen pilveen ei ole aivan yksioikoista, mutta hyödyntämällä konttitekniikkaa ajoympäristö saadaan vakioitua ja työ helpottuu. Myös konesalissa palomuurien takana olevien sovellusten yhdistäminen julkisiin pilvipalveluihin ja informaatiolähteisiin helpottuu konttiteknologian myötä.

Konttiteknologia tuo valinnan vapautta

Helposti asennettavat ja hallinnoitavat konttiratkaisut toimivat yhtä hyvin asiakkaiden omissa konesaleissa kuin pilviympäristöissä, ja niiden siirtäminen ympäristöstä toiseen on vaivatonta. Konttiteknologia mahdollistaa myös ketterän hybridipilven hyödyntämisen ja kapasiteetin optimoinnin muuttuvien tarpeiden mukaan, jolloin hyödyt näkyvät myös kustannussäästöinä.

 

Pekka Peltokangas & Sanna Räsänen, Herman IT

IBM Cloud Private perustuu avoimeen Kubernetes-konttiarkkitehtuuriin

IBM Cloud Private -pilviympäristö antaa mahdollisuuksia hyödyntää jo olemassa olevaa IT-infrastruktuuria datanhallintaan, mutta samalla se tarjoaa mahdollisuuden ottaa käyttöön julkisia palveluita joustavasti ja nopeasti. IBM Cloud Private perustuu avoimeen Kubernetes-konttiarkkitehtuuriin, yhdessä Docker- ja Cloud Foundry -tuen kanssa se helpottaa työkuormien integroimista ja siirrettävyyttä eri pilviympäristöissä.

IBM Cloud Privaten tärkeimpiä ominaisuuksia ovat:

Yhteensopivuus infrastruktuurien kanssa: ympäristö on yhteensopiva tunnetuimpien järjestelmätoimittajien, kuten Ciscon, Dell ECM:n, Intelin, Lenovon ja NetAppin kanssa. IBM Cloud Private on optimoitu IBM Z -, IBM Power Systems-, IBM Hyperconverged Systems – ja IBM Spectrum -järjestelmille.

Pilvialustojen ydin: tuki Cloud Foundrylle ja Kubernetesille, jotta sovelluksia ja työkuormia voidaan helposti siirtää alustalta tai pilviympäristöstä toiseen. IBM Cloud Private hyödyntää yleisimpiä PaaS-teknologioita ja sovelluskehittäjätyökaluja.

Yhdistettävyys tietokantoihin ja analytiikan hyödyntäminen: PostgreSQL, MongoDB, IBM DB2 ja IBM DB2 Warehousen datan ja analytiikan avulla on mahdollista saada kilpailuetua ja erottua joukosta.

Erilliset sovellus- ja integraatiopalvelut: mukana sovelluskehittäjille tarkoitettuja työkaluja sovellusten kehittämiseen, hallintaan ja tukipalveluihin, kuten IBM WebSphere, Open Liberty, MQ ja Microservice Builder.

Kehittäjille suunnatut työkalut: APM, Netcool, UrbanCode ja Cloud Brokerage, yms.

(https://ibm.co/2DyAMCP)

Haluatko kuulla lisää? Jätä meille yhteystietosi ja olemme yhteydessä pikimmin!


[recaptcha size:compact]