DevOps®
Development & Operations

DEVOPS

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


DevOps lyhyt historia

Andrew Shafer ja Patrick Debois esittivät "Agile Infrastructure" konseptin Agile 2008 konferenssissa. DevOps termi tuli suosituksi ja jäi käyttöön Belgiasta vuonna 2009 alkunsa saaneiden “devopsdays” tapahtumien myötä.

DevOps periaatteet

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

DevOps 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 kun taas ohjelmistojen tuotannossa on 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 ja 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 esim. automaattisen testauksen keinoin.

DevOps Tool Chain ja arkkitehtuuri

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

DevOps 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 kun taas ohjelmistojen tuotannossa on 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 ja 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 esim. automaattisen testauksen keinoin.



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

  1. Käyttöönotettavuus (Deployability)
  2. Muokattavuus (Modifiability)
  3. Testattavuus (Testability)
  4. Valvottavuus (Monitorability)

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


"The digital revolution is far more significant than the invention of writing or even of printing."

DevOps® koulutus ja sertifioinnit

Katso DevOps koulutukset Oppia.fi:ssä

Luokkakurssit
Katso aikataulutetut luokkakurssit