DevOps ei enää ole uusi ja trendikäs käsite, vaan sen on jo pitkään tiedetty parantavan yritysten ketteryyttä ja suoriutumiskykyä.

DevOps haastaa perinteiset kehittämisprosessit kokonaan

DevOpsiin liittyy monia väärinkäsityksiä, jotka hankaloittavat organisaatioiden mahdollisuuksia hyödyntää koko potentiaalinsa.

DevOpsin taustalla on ajatus ohjelmistokehityksestä (Development eli Dev) ja palveluntarjonnasta (Operations eli Ops) erillisinä toiminnallisina "siiloina", joiden tavoitteet olivat ristiriidassa keskenään. Siiloutuminen on johtanut ohjelmistokehityksen ja palveluntarjonnan väliseen krooniseen ristiriitaan. Tämä on puolestaan näkynyt yritysten heikkoina tuloksina, jotka ovat olleet seurausta vastuunsiirrosta, liiallisesta byrokratiasta ja autonomian puutteesta. DevOps haastaa perinteiset kehittämisprosessit kokonaan

Vaikka DevOps-toimintamalli on jo onnistunut murtamaan nämä siilot, nälkä kasvaa syödessä. Malli ei enää koske pelkkää ohjelmistokehitystä ja palveluntarjontaa, eikä kyseessä ole enää ruohonjuuritason liike: DevOps on omaksuttu osaksi valtavirran liiketoimintaa.

DevOpsissa on nykyään kyse tuotehallinnasta, pilvijärjestelmien hallinnasta (site reliability), teknisestä huippuosaamisesta ja terveestä yrityskulttuurista. DevOpsissa tärkeintä on tuoda loppukäyttäjiltä saatu palaute kehitystiimien saataville tuotantoympäristöistä, jotta tiimit voivat reagoida markkinaolosuhteisiin nopeammin ja päihittää kilpailijat tehokkaalla toiminnalla koko organisaation kannalta. 

Kuinka onnistua DevOps-transformaatiossa

 

DevOps-toimintamallit, -työkalut ja -kyvykkyydet

Yläkäsitteenä DevOps kattaa laajalti toimintoja kovan tason insinöörityöstä tuotehallintaan. On siis harhaanjohtavaa, kun työilmoituksessa haetaan DevOps-asiantuntijan nimikkeellä työntekijää tehtävään, joka sisältää vain pilvipalvelun hallintaa, Jenkinsin pipeline-toiminnallisuuden hiomista ja toimintaympäristöjen testaamista.

Nämä alueet ovat toki tärkeitä, mutta niiden vaikutukset ovat rajallisia.

Sen sijaan DevOps sisältää jatkuvan oppimisen ja kokeilun kulttuurin juurruttamista, jonka avulla yritykset voivat tuottaa asiakkailleen mahdollisimman paljon arvoa nopeasti, turvallisesti ja tehokkaasti.

Psykologisesti turvallinen työympäristö

Tiimien korkeatasoinen toiminta vaatii psykologisesti turvallisen ympäristön, jossa ei etsitä syyllisiä vaan opitaan virheistä jatkuvasti. Täten saavutetaan avoimempi ja helpommin uusia toimintatapojen omaksuva kulttuuri läpi organisaation. 

Westrumin organisaatiokulttuurin typologian (Westrum Typology of Organizational culture) avulla voidaan mitata organisaation kulttuuria ja löytää kehittämiskohteita. Nämä ovat yhteistyön kehittämisen perusvaatimuksia.

Työkalut, teknologia ja automaatio

DevOps sisältää myös työkaluja ja teknologiaa. Toiminnassa kannattaa kiinnittää huomiota mahdollisiin automatisointikohteisiin ja nämä tulisi arvottaa vähintään yhtä korkealle kuin sovellusten ominaisuuksien kehittäminen. DevOps kirjailijan, Gene Kimin mukaan "päivittäisen työn kehittäminen on tärkeämpää kuin päivittäisen työn tekeminen".

Insinöörien työtä tulee tukea teknisin menetelmin, jotta kokeilut eivät johtaisi tuotantokatkoihin. Tämä on jatkuvan kokeilun kulttuurin elinehto.

Käytetyt tekniset menetelmät toimivat eräänlaisina "suojakaiteina". Ne ovat automatisoituja testaus- ja julkaisuputkia, joiden tavoitteena on koko arvoketjun optimisointi suunnittelusta loppukäyttäjiin asti. Tämä vaatii korkeatasoisia työvälineitä ja jatkuvaa pyrkimystä parantaa ohjelmistojen toimituskyvykkyyksiä organisaatioissa.

Näin organisaatiot saavat tarvittavat tekniset ja kulttuurilliset valmiudet rakentaa itsenäisesti toimivia, motivoiduista työntekijöistä koostuvia tiimejä, jotka ovat ketterän ohjelmistokehityksen tärkein osa.

Infrastructure as Code -lähestymistapa pilviympäristössä

Pilvipalveluiden ja konttiteknologioiden avulla voidaan testata sekä prosesseja että tuotteita: niiden avulla organisaatiot voivat kloonata koko tuotantojärjestelmänsä ja testata niissä julkaisua sekä nähdä, käyttäytyvätkö sovellukset odotetulla tavalla ennen tuotantoon julkaisua.

Konttiteknologiat tukevat myös tietojen muuttumattomuutta. Niiden avulla kehittäjät ja testaajat välttyvät väärien asioiden testaamiselta tai kompleksisten riippuvuuksien omaavien palvelimien käytöltä.

Tämän sijasta käyttäjät rakentavat "kontteja", joista voi hankkiutua eroon heti kun niitä ei enää tarvita. Infrastructure as Code-toimintatapa mahdollistaa toistettavuutta, uudelleenkäytettävyyttä ja jäljitettävyyttä. Tuotantoympäristöjen mitoittamisesta tulee entistä helpompaa. Toimintatapa tarjoaa myös insinööreille oikotien on-demand-ympäristöihin, jotka lyhentävät huomattavasti palautesykliä.

DevOps-alustat ja design-systeemit 

Riippuen organisaation mittakaavasta ja fokusalueesta, työkaluja voidaan hallita sisäisesti organisaatiossa tai työ voidaan ulkoistaa esim. meidän Eficoden ROOT DevOps -alusta tiimillemme. Eficode ROOT tarjoaa täyden DevOps -työkalupakin, jota hallinnoidaan täydellisesti joko paikan päällä tai pilvipalvelun kautta. Palvelun avulla organisaatiosi voi keskittyä yrityksen omiin tuotteisiin ja palveluihin eikä aikaa tarvitse käyttää työkalujen hallintaan. 

Korkeatasoisen DevOps-alustan voi laajentaa vastaamaan organisaatiosi tarpeisiin kehitys- ja design-systeemillä. Design-systeemien avulla tiimit voivat: 

  • Vähentää päällekkäistä työtä 
  • Julkaista palveluja nopealla aikataululla standardienmukaiseen tuotantoon
  • Tuottaa yhdenmukaisen ilmeen, tunnun ja asiakaskokemuksen
  • Voimautua omien tuotteidensa omistamisesta ja samalla saada mittakaavaetuja.

Automatisoidulla testauksella ja laadukkailla työvälineillä laajennetut design-systeemit tukevat organisaatioiden skaalautumista.

DevOpsin skaalaamista tiimikeskeisellä lähestymistavalla

Suunnittelusta loppukäyttäjille johtavan arvoketjun patoutuminen johtuu useimmiten tiiminsisäisistä riippuvaisuuksista. Jos tiimi ei pysty julkaisemaan luomaansa ohjelmistoa itsenäisesti sisäisille tai ulkoisille asiakkaille, se menettää herkästi motivaationsa ja kykynsä reagoida asiakkailta saatuun palautteeseen. 

Tämän vuoksi DevOps-transformaatiossa – joka on keskitettyä toimintaa, jonka tavoitteena on ottaa käyttöön DevOps-työkaluja ja -menetelmiä – on kiinnitettävä huomiota tiimin autonomian mahdollistamiseen. 

Tämä ei tarkoita sitä, ettei tiimeillä olisi yhteistä suuntaa. Se ennemminkin viittaa organisaation tavoitteiden ja arvojen näkyville tuomiseen, jonka avulla tiimit pystyvät puhaltamaan yhteen hiileen.

Tiimit voivat tukea organisaation yhteistä missiota omien, julkaistavien tuotteidensa kautta. Tämän avulla ne saavat mahdollisuuden hallita julkaisujensa vaikutuksia, vähentää sellaisiin järjestelmän osiin liittyvää riskiä, jotka eivät liity suoraan tiimin toimintaa, ja maksimoida loppukäyttäjille syntyvää arvoa.

Tiivistelmä 

  • Psykologista turvallisuutta ja jatkuvaa kokeilua sisältävän DevOps-kulttuurin
  • Laadukkaan ohjelmiston loppukäyttäjille nopeasti ja turvallisesti julkaisua tukevien DevOps-työkalujen
  • Ohjelmistonsa omistavien ja itsenäisesti toimittavien autonomisten ja voimaantuneiden tiimien avulla saat DevOpsin hyödyt muiden menestyvien organisaatioiden tavoin. 

Haluatko oppia lisää aiheesta? Lataa ilmainen DevOps-oppaamme ja aloita matkasi kohti tehokkuutta.

Julkaistu: 11. lokakuuta 2013

Päivitetty: 9. kesäkuuta 2021

DevOps