DevOps 

DevOps on ketterä toimintamalli digipalveluiden tuottamiseen 

Katso tulevat DevOps-valmennukset

DevOps 

DevOps on ketterä toimintamalli digipalveluiden tuottamiseen 

Katso tulevat DevOps-valmennukset

DevOps

DevOps (Development eli kehitys ja Operations eli tuotanto)  on ketterä toimintamalli digipalveluiden tuottamiseen. Se pyrkii edistämään palveluiden kehitys- ja tuotantotoimintojen keskinäistä vuoropuhelua. Tavoitteena on erityisesti parempi ja nopeampi kyky toimittaa muutoksia tuotantoon.

DevOps periaatteet

Hyvin toimivassa DevOps-ympäristössä ohjelmistojen kehittäminen, testaaminen ja julkaisu tapahtuu nopeasti, usein ja luotettavasti. Toiminnan taustalla vaikuttavat erittäin vahvasti ketterän kehittämisen käytännöt sekä infrastruktuurin hallintaa helpottavat ja automatisoivat työvälineet.

DevOps:n tärkeimmät käytännöt ovat jatkuva integraatio (continuous integration) ja jatkuva toimitus (continuous delivery). Tavallisessa ohjelmistokehityksessä uusien toiminnallisuuksien luomiseen tai virheiden korjaamiseen liittyvät suunnittelu, ohjelmointi, testaus ja dokumentointi. Ohjelmistojen tuotannossa on sen sijaan vastattu tuotantoympäristön rakentamisesta, sen operoinnista, palvelun operatiivisesta toiminnasta sekä kapasiteetin riittävyydestä.

Ongelmaksi on usein muodostunut ohjelmistokehityksen ja tuotannon keskinäinen yhteistyö ja vaiheistettu vesiputousmallinen työskentely. Jatkuvassa integraatiossa uudet kehitetyt toiminnallisuudet ja/tai virheiden korjaukset viedään heti kehityksen yhteydessä osaksi toimivaa ohjelmistoa. Jatkuva toimitus pitää sisällään ne toimenpiteet, joiden avulla uusi versio ohjelmistosta viedään tuotantoon. Jatkuvan tuotannon perusperiaatteena on automatisoida ja näin nopeuttaa tuotantoon vientiin liittyviä tehtäviä mahdollisimman paljon, esimerkiksi automaattisen testauksen keinoin.

DevOps tool chain ja arkkitehtuuri

DevOps on ennen kaikkea kulttuurin muutos aikaisemmin siilomaisesta palveluiden kehittämisestä ja tuottamisesta prosessimaiseen ja yhteistyöhön kannustavaan toimintamalliin. Mallissa kehityksen ja ylläpidon tehtävät ja työkalut liittyvät saumattomasti yhteen.

Jotta DevOps toimii tehokkaasti, on ohjelmistojen täytettävät seuraavat oleelliset kriteerit (ASR=Architectually Significant Requirements):

  • Käyttöönotettavuus (Deployability)
  • Muokattavuus (Modifiability)
  • Testattavuus (Testability)
  • Valvottavuus (Monitorability)

DevOps ei määrittele käytettävää arkkitehtuuria. Micropalvelut (microservices) ovat kuitenkin nousemassa ”de facto” standardiksi.  Sen avulla pienempien palveluiden suunnittelu, koodaaminen, julkaisu ja ylläpito on helpompaa ja näin ollen uusien palveluiden tuominen tuotantoon on nopeampaa.