DevOps-trendit 2019


DevOps alkaa olla tunnettu termi kaikille ohjelmistokehitystä vaativien palveluiden ja tuotteiden parissa työskenteleville.

DevOps-toimintamallin keskeisenä tavoitteena on parantaa tiimin, organisaation ja yrityksen kykyä tuottaa palveluita ja tuotteita nopeammin asiakkaille. Erityisesti siinä pyritään kehittämään yrityksen kulttuuria, työympäristöä ja tapoja, joilla ohjelmistokehitys, testaus ja tuotantoon vienti tapahtuvat mahdollisimman nopeasti ja korkealaatuisesti.

Seuraavaksi esittelen muutaman valistuneen arvauksen siitä, mihin suuntaan DevOps -trendit kehittyvät vuonna 2019:

Luvassa ”Shift left” myös liiketoiminnalle

Shift left -termillä tarkoitetaan yleensä testauksen siirtymistä tuotekehityksen alkupäähän devaajan pöydälle, eli aikajanan vasempaan laitaan.

Seuraava vasemmalle siirtyminen on vuorossa, kun organisaatioissa ymmärretään nopeasyklisen ohjelmistokehityksen asettamat vaatimukset. Onnistunut DevOps nimittäin edellyttää liiketoiminnan jatkuvaa läsnäoloa ja kehitysjonon jatkuvaa priorisointia.

Varsinkin Kanban-tyylisessä työskentelyssä tavoitteena on, että työtä tehdään pienissä paloissa. Kehitysjonon kunnossapidon lisäksi tämän onnistuminen vaatii liiketoiminnalta läsnäoloa kehitystiimin mukana sekä nopeaa, dataan perustuvaa päätöksentekoa. Liiketoimintaa ja kehitystiimejä ei voi pitää piiloutuneena omiin poteroihinsa.

Tietoturvaa tarkkaillaan

Tietoturva on erittäin tärkeä osa-alue kaikessa ohjelmistokehityksessä ja uhkakuvia nostetaan uutisoinnissa esiin ahkerasti. Vuonna 2018 Euroopassa käyttöön otettu GDPR eli yleinen tietosuoja-asetus toimi herättäjänä monelle yritykselle tietoturva-aukkojen seuraamuksista. Niinpä tänä vuonna tietoturvaan tullaan paneutumaan yhä enemmän.

Jokainen tuotantoon menevä bugi on mahdollinen tietoturva-aukko sitä etsivälle ja tietoturva paranee ainoastaan testaamalla. DevOps-kulttuurissa tietoturvan testaus sisällytetään osaksi jatkuvaa integraatiota (continous integration). Luotettavuusvarmistus (dependency verification), koodianalyysityökalut ja automaattisten tietoturvatestaustyökalujen integroiminen ovat niin ikään hyviä käytäntöjä.

Kun jatkuva tietoturvatestaus otetaan normaaliksi osaksi ohjelmistokehitysprosessia, bugien löytäminen kehityksen alkuvaiheessa parantaa yleistä laatua sekä palvelun tai tuotteen tietoturvaa.

Jatkuva julkaisun jatkumo

Monissa organisaatioissa jatkuvat integraatiot ovat jo arkipäivää. Fokus siirtyy yhä enemmän myös automaattisiin päivityksiin ja kehityssyklin nopeuttamiseen jatkuvalla julkaisulla ja tuotantoon viennillä. Canary, blue/green ja red/black kaikuvat käytävä- ja kahvihuonekeskusteluissa, eikä näillä puheilla välttämättä viitata ornitologiaan tai lomamatkoihin.

Päivitysten nopeuttaminen ja paremman tuotantodatan ja siitä saatavan palautteen saaminen on tärkeää liiketoiminnan parantamiseksi. Jatkuvan julkaisemisen työkalut ovat koko ajan kehittyneet ja ne ovat yhä nopeammin käyttöön otettavissa.

Kubernetes ja konttialustat kasvussa

Docker-kontit ovat olleet yrityksissä käytössä jo useampia vuosia ja Googlen käynnistämä konttien ”hallintatyökalu” Kubernetes on kasvattanut suosiotaan jatkuvasti. Kubernetesin käyttöönotto yritysten sisällä on kasvussa ja myös monet palvelin-palveluntarjoajat ovatkin tuoneet ”Kubernetes palveluna” -tuotteitaan markkinoille kiihtyvään tahtiin. Vuonna 2019 mikropalveluiden tuottaminen, kontittaminen ja jatkuvan integraatio- ja julkaisuputken luominen helpompaa kuin koskaan aiemmin.

No-Ops is better Ops?

No-Ops:lla tarkoitetaan palvelun tai tuotteen tekemistä ilman Ops-tiimin suoranaista kosketusta kehityssykliin. Ops-tiimi on omalla toiminnallaan saanut infrastruktuurin toimimaan niin hyvin, että devaaja on vastuussa koko palvelusta ja hänen tarvitsee vain koodata ja viedä päivittäin hyvälaatuisia toimintoja tuotantoon asiakkaan käytettäväksi. Tämä tietenkin vaatii käytännössä kaikkien DevOps:n osa-alueiden hallitsemista erittäin onnistuneesti.

Serverless vähentää valmistelua

Viimeisenä nostona Serverless, jossa palvelu kehitetään alusta asti niin, että se ei käytä provisioituja servereitä vaan koodi ajetaan palveluntarjoajan FaaS-ajoympäristössä (Function as a Service).

Hinnoittelu tapahtuu koodin ajoajan/käytön mukaisesti ja oman infrastruktuurin ylläpitämistä ei tarvita. Tällöin palvelun operatiiviset kustannukset ilman omaa infrastruktuuria ja sen ylläpitoa voivat olla kannattavia. Vaikka palvelun tekeminen serverless-malliseksi voi olla kannattavaa, se saattaa sitoa palvelun tiettyyn FaaS-toimittajaan. Serverless-kehitys tarvitsee koko organisaation jatkuvaa DevOps-kulttuurin kehittämistä, mutta joka tapauksessa Serverless luo uusia mahdollisuuksia ja on erittäin mielenkiintoinen ja nopeasti kehittyvä tapa tuottaa palveluita.

Tässä oli muutama nosto vuoden 2019 DevOps-trendeistä. Näitä ja monia muita osa-alueita on kiinnostavaa seurata nopeasti kehittyvän ATK-alan pyörteissä.

 

Mikko Jantunen

Senior DevOps Consultant

mikko.jantunen@q-factory.fi

Kirjoittaja:

Avatar

Mikko Jantunen

mikko.jantunen@codemen.fi

Kiinnostuitko?

Ota yhteyttä

  • This field is for validation purposes and should be left unchanged.

Ohjelmistokehityksen kuulumiset suoraan sähköpostiisi!

  • This field is for validation purposes and should be left unchanged.