Ohjelmistoprojektiin

DevOps Kiskolla

DevOps on toimintamalli digitaalisten palvelujen tuotantoon, jossa ohjelmistojen rakentaminen, testaaminen ja julkaisu tapahtuu nopeasti ja luotettavasti mahdollisimman pitkälle automatisoituna.

Käymme tässä artikkelissa läpi, miten DevOps näkyy Kisko Labsin toiminnassa.

Tuotekehityksen aikana kirjoitamme automaatiotestejä, joita laajennetaan koko tuotteen elinkaaren ajan.

Automaatiotestit ajetaan automaattisesti (TravisCI) aina kun koodimuutoksia tehdään ja löydetyistä mahdollisista virheistä ilmoitetaan kehittäjille. Kun palvelu on tuotannossa, löydetyt virheet estävät automaattisesti tuotantoonviennin, jotta virheet eivät päädy käyttäjien harmeiksi.

Kun ohjelmisto alkaa olla siinä kunnossa, että asiakas ja muut mahdolliset sidosryhmät voivat aloittaa testaamisen, pystytämme ns. staging-ympäristön. Staging-ympäristön on tarkoitus simuloida tulevaa tuotantoympäristöä. Tyypillisesti testausympäristö saadaan asiakkaan käyttöön todella nopeasti, jopa viikossa projektin käynnistämisestä

Sekä staging- että tuotantoympäristö pyörivät meillä Herokun pilvipalvelussa. Heroku on rakennettu Amazonin AWS/S3 -palveluiden päälle. Herokun isoimmat hyödyt ovat siinä, ettei ns. ylläpitotyötä tarvitse tehdä. Palvelut pyörivät ja skaalaus on helppoa (sekä nykyään haluttaessa myös automaattista). Jos palveluissa on ylläpito-ongelmia, Herokun ja/tai Amazonin henkilökunta hoitaa ongelmat. Tietoturva on palvelussa myös ensiluokkaista ja data saadaan pysymään EU-alueella.

Herokun hinta saattaa alkuun kuulostaa hieman kalliimmalta, kuin oman virtuaalipalvelimen pyörittäminen, mutta jos ylläpitotyö otetaan laskuihin mukaan, on se suurelle osalle halvin ratkaisu. Yksi malli hosting-asioissa etenemiseen on aloittaa Herokulla ja siirtyä omaan virtuaalipalvelimeen, kun Herokun kulut ylittävät ylläpitohenkilön palkkakulut per kuukausi. Tuo kulu on myös paperilla sen verran iso, että kovin moni palvelu Suomessa ei siihen pääse.

Staging- ja tuotantoympäristöissä käytämme myös virhe- sekä performanssiseurantaa, jotka kertovat meille automaattisesti jos loppukäyttäjät törmäävät virheisiin tai jos palveluissa havaitaan performanssiongelmia.

Tietyissä projekteissa meillä on käytössä ns. Continuous Delivery -malli, jossa pienetkin koodimuutokset viedään heti tuotantoon (olettaen, että virheitä ei ole löytynyt).

Näiden lisäksi tarjoamme erilaisilla vasteajoilla varustettuja Kisko Upkeep -ylläpitopaketteja, joissa reagoimme erilaisiin virhetilanteisiin, joihin loppukäyttäjät saattavat törmätä.

 

 


Kirjoittanut:

Antti Akonniemi
Antti Akonniemi
Founder & CEO of Kisko Labs

12.8.2019 14:09