DevOps syntyy ketterästä sovelluskehityksestä ja hyvästä operoinnista


2013-12-12, 08:52 Kirjoittanut Tero Ahonen

Onko tuotantoa pyörittävien operaattoreiden työ asiakaspalvelua vai asiantuntijatyötä, jossa vain taataan että homma toimii? Hyvä operaattori pyörittää palveluita tuotannossa asiakkaan kanssa yhteistyössä siten, että päästään parhaaseen mahdolliseen lopputulokseen ja virhetilanteissa kaikki tarvittava tieto on helposti saatavilla ja mieluusti jo valmiiksi kerättynä ja analysoituna.

Hyvä operaattori tekee muun muassa seuraava:

  • Kehittää palvelun dokumentaatiota asiakkaan kanssa
  • Kerää tuotannon käyttäytymisestä dataa ja analysoi sitä
  • Analysointien perusteella ehdottaa miten palvelun toimintaa voisi kehittää
  • Käyttää analysoitua dataa ja ennaltaehkäisee mahdolliset ongelmat
  • Tukee kehittäjiä ja asiakasorganisaatiota palvelunkehityksessä
  • Tarjoaa mahdollisimman paljon dataa tuotannon käyttäytymisestä kehittäjien käyttöön
  • Takaa, että palvelu toimii aina 100% tehokkuudella
  • Suunnittelee asiakkaan kanssa toimitapoja erilaisiin poikkeuksiin, ruuhkiin ja ongelmatapauksiin.
  • Kommunikoi jatkuvasti asiakkaan kanssa
  • Parantaa palvelun elinkaaren hallintaa kehittämällä omia toimitapojaan sekä työkaluja
  • On proaktiivinen asiakkaan suuntaan

Kun yllä listattuna toimintoja niputtaa yhteen ketterän sovelluskehitysprosessin kanssa saadaan tulokseksi termi DevOps. Development ja Operations on suhteellisen uusi termi ja sen käyttö yleistyi 2009 vuoden paikkeilla. Yksinkertaisuudessaan DevOps pyrkii tekemään koko sovelluskehitysprosessin (kehitys, IT operointia ja QA/testaus), saman mitä ketterät sovelluskehitysprosessit pyrkivät tekemään sovelluskehitykselle.

DevOps pyrkii tuomaan tuotannon ja operoinnin osaksi sovelluskehitysprosessia, siten että tuotanto ei olisi enää musta laatikko kolmannen osapuolen hallinnassa vaan ympäristö johon kehitetty ja testattu koodi automaattisesti menee. Kuvasta 1 näkee minkälaiset sovelluskehitysprosessin DevOps:n käyttöönottaminen voisi saada aikaiseksi.

Kuva 1: Sovelluskehitysprosessi kun tuotannon operointi, testaus ja kehitys tekevät saumatonta yhteistyötä nojaten DevOps –malliin

Kuva 1: Sovelluskehitysprosessi kun tuotannon operointi, testaus ja kehitys tekevät saumatonta yhteistyötä nojaten DevOps –malliin

DevOps –mallissa sovelluskehitys ei pääty tuotantoon vaan se on kehityssyklin yksi vaihe, joka tarjoaa tietoa ja sisältöä syklin seuraavaan kierrokseen. DevOps:n käyttöönottaminen ei ole vain termin lisääminen dokumentointeihin vaan yrityksen omien sovelluskehitys- ja operointiprosessien laaja-alainen tutkiminen ja niiden tehostaminen ja automatisoiminen. Toimiva DevOps nojautuu automatisointiin ja mitä enemmän syklistä pystytään automatisoimaan, sitä tehokkaampaan lopputulokseen päästään. Kuvassa 2 on eritelty sovelluskehityssyklin eri tasot ja kokonaisvaltaisessa DevOps:ssa näistä kaikki pitäisi  pyrkiä automatisoimaan sillä lopputuloksessa, että vain dokumentaation ja sovelluskehitys ja suunnittelu jäisi ”käsityöksi”. Miten enemmän pystytään automatisoimaan, sitä vähemmän tulee virheitä ja sitä parempaa laatua pystytään tuottamaan.

Kuva 2: Sovelluskehitysprosessin eri tasot ja palaset

Kuva 2: Sovelluskehitysprosessin eri tasot ja palaset

Avoimuus ja kommunikointi

Kaikessa tekemisessä yksi avain onnistumiseen on kommunikointi ja avoimuus, kuten myös DevOps –tapauksessa. On erittäin tärkeää, että kehittäjät, liiketoiminta, testaajat ja operaattorit kommunikoivat keskenään jatkuvasti koko projektin ajan ja myös tuotantoon asentamisen jälkeen. Kun projektissa ollaan avoimempia, niin kaikilla on tiedossa mitä kukin tekee ja myös tuotannosta on mahdollista saada tietoa tarpeen vaatiessa. Avoimuus ja hyvä kommunikaatio pääte myös monitoimittajaympäristöissä. Toimittajat eivät voi lukkiutua omiin huoneisiin ja yksinään pusertaa omaa asiaansa valmiiksi. Monitoimittajaympäristössä täytyy joko asiakkaan tai jonkin toimittajista ottaa muita suurempi rooli kommunikoinnissa ja toimia ns. mediaattorina.

Kommunikointi ei ole sitä, että laitetaan sähköpostia aiheesta kuin aiheesta ja lisään cc-kenttään kaikki projektin ihmiset. Jokaisella projektin jäsenellä on tietyt vastuut ja nämä vastuut täytyy olla kaikille selvillä. Asioista täytyy pystyä kommunikoimaan tehokkaasti oikeiden henkilöiden kanssa ja jos vain mahdollista niin kasvotusten. Muistakaa myös, että dokumentointi on myös kommunikointia.

 

“Hienoa että viimeinkin on nimi sille, miten Cybercomin jatkuvat palvelut on toiminut jo vuosia.” – Tony Hendrell.


comments powered by Disqus