Key Takeaways
Trendi vai perinne?: DevOps ei ole enää uraauurtava trendi, vaan vakiintunut liiketoimintatapa, joka on juurtunut sekä kehittäjien että IT-ammattilaisten käytäntöihin. Tämä kuvastaa sen kehitystä radikaalista ajatuksesta valtavirran menetelmäksi.
DevOps-filosofia: DevOps yhdistää kehityksen ja operoinnin nopeuttaakseen ohjelmistojen toimitusta ja parantaakseen niiden laatua. Sen perustana on yhteistyön ja jatkuvan kehittymisen kulttuuri, jonka tavoitteena on purkaa perinteisiä siiloja.
Teknologian kehitys tukee DevOpsia: Konttiteknologian, pilvinatiivien ekosysteemien ja koodina toteutettavan infrastruktuurin (IaC) yleistyminen vauhditti DevOps-liikettä ja toi ohjelmistojen kehitys- ja käyttöönottoprosesseihin lisää ketteryyttä ja tehokkuutta.
Tietoturva saa paikan päätöksenteossa: DevSecOpsin syntyminen integroi tietoturvan ohjelmistokehityksen varhaisiin vaiheisiin ja korostaa siirtymää kohti haavoittuvuuksien varhaisen havaitsemisen priorisointia riskien minimoimiseksi.
Kulttuuri ja työkalut kulkevat käsi kädessä: Vaikka DevOps hyötyy merkittävästi teknologian, kuten tekoälyn ja koneoppimisen, edistysaskeleista, sen ytimessä on myönteisen kulttuurin edistäminen. Siinä ihmiset, yhteistyö ja jatkuva parantaminen asetetaan etusijalle.
Milloin teknologinen trendi lakkaa olemasta trendi ja muuttuu yksinkertaisesti normaaliksi liiketoiminnaksi?
Voisimme käyttää paljon aikaa tämän tietyn käännekohdan pohtimiseen – kysymykseen ei ole olemassa ”oikeaa” vastausta. Riittää, kun toteamme, että kun ”trendi” on jo pitkällä toisella vuosikymmenellään – kuten DevOps-kulttuuri ja sen käytännöt – kyse on yksinkertaisesti tavasta, jolla asiat hoidetaan. (Useimpien arvioiden mukaan DevOps alkoi muotoutua nykyiseen muotoonsa vuoden 2007 tienoilla.)
DevOpsin perimmäisessä oppaassamme määrittelimme termin näin: ”DevOps on joukko käytäntöjä ja ajattelutapoja, joissa yhdistyvät ohjelmistokehitys (Dev) ja IT-toiminnot (Ops). Tavoitteena on lyhentää järjestelmien kehityksen elinkaarta ja mahdollistaa jatkuva toimitus sekä ohjelmistojen korkea laatu. Lähestymistavassa korostuvat kehittäjien ja IT-ammattilaisten välinen yhteistyö, viestintä ja integraatio.”
Varhaisissa vaiheissaan tämä kuulosti joistakin IT-ammattilaisista oudolta ja pelottavalta – jopa radikaalilta. Nyt se on niin valtavirtaa, että se on arkipäivää. CD Foundationin CI/CD:n tilaa käsittelevässä raportissa 83 % kehittäjistä kertoi osallistuvansa DevOpsiin liittyviin toimintoihin. Se ei oikeastaan tarkoita kaikkia, mutta lähelle ollaan pääsemässä.
DevOps – joka on yhtä paljon kulttuuria kuin mikä tahansa tietty työkalujen tai prosessien kokonaisuus – kehittyy kuitenkin luonteensa mukaisesti jatkuvasti.
Tässä artikkelissa tarkastelemme, miten päädyimme tähän pisteeseen – ja miten DevOps kehittyy edelleen nykyään. Ensin on tärkeää ymmärtää, miksi DevOps on olemassa.
Miksi DevOps on tärkeä?
DevOps yhdistää termit ”kehitys” ja ”toiminnot” – kaksi pitkään olemassa ollutta teknologia-aluetta. DevOpsin ensisijaisena tavoitteena on edistää näiden IT-järjestelmän kahden tärkeän osa-alueen tiivistä integraatiota keskittyen ennen kaikkea ohjelmistojen jatkuvaan toimitukseen ja laadun testaamiseen. Perinteisesti nämä toiminnot olivat erillisiä ja siiloutuneita – mikä aiheutti pullonkauloja, toimitusten viivästymisiä, laatuongelmia, syyttelyä (kun jokin menee pieleen), tietoturvaheikkouksia ja muita ongelmia.
DevOps – sekä terminä että, mikä tärkeämpää, kulttuurina ja käytäntönä – heijastaa ohjelmisto-organisaatioiden tarvetta rakentaa ja toimittaa koodia nopeammin ja useammin laadusta, luotettavuudesta tai tietoturvasta tinkimättä.
Miten päädyimme tähän: DevOps-trendit menneisyydestä
DevOpsin valtava kasvu viimeisen noin vuosikymmenen aikana kietoutui yhteen useiden siihen liittyvien teknologiatrendien kanssa, jotka mahdollistivat DevOps-käytännöt ja kasvoivat DevOps-periaatteista ja -kulttuurista. Merkittävimpiä tähän pisteeseen johtaneita tekijöitä ovat muun muassa:
Konttiteknologia: Olemme nähneet Dockerin ja muiden työkalujen käytön lisääntyvän ohjelmistojen kontittamisessa, mikä on auttanut tekemään sovelluksista siirrettäviä eri alustojen välillä, kuten erilaisilla julkisilla ja yksityisillä pilvialustoilla (mukaan lukien Amazon Web Services, Microsoft Azure ja Google Cloud Platform) sekä paikallisessa infrastruktuurissa.
Pilvinatiivi ekosysteemi: Pilvinatiivien sovelluskehitysalustojen käyttö lisääntyi voimakkaasti, mikä varmistaa infrastruktuurin ja palveluiden skaalautuvuuden. Koko pilvinatiivin maiseman kuvaamiseen yhdessä paikassa tarvitaan ilmoitustaulun kokoinen valkotaulu – jopa verkkoselaimessa joudut todennäköisesti vierittämään nähdäksesi kaiken!
Kyberturvallisuus: Vaikka DevOps saattoi alun perin keskittyä kehitys- ja operointityön tiiviimpään yhteensovittamiseen, se toi samalla esiin tarpeen priorisoida tietoturva ohjelmistokehityksen elinkaaren (SDLC) varhaisessa vaiheessa. DevSecOps nousi merkittäväksi trendiksi, jossa tietoturva integroidaan DevOps-putkeen sen sijaan, että sitä käsiteltäisiin erillisenä kokonaisuutena. Tämä paransi muun muassa haavoittuvuuksien varhaista havaitsemista ja vähensi tuotantoympäristön riskejä ja vaikutuksia.
Infrastruktuuri koodina (IaC): DevOps teki automaatiosta IT-ympäristöissä ensisijaisen osa-alueen, ja tämä trendi näkyi erityisen voimakkaasti infrastruktuurin parissa. Infrastruktuurin hallinta oli tyypillisesti hyvin manuaalista ja toistuvaa työtä, mutta infrastruktuuri koodina (IaC) -mallin käyttöönotto tarjosi tehokkaat, luotettavat ja toistettavat mekanismit niiden infrastruktuurien hallintaan, joissa ohjelmistosovellukset toimivat.
Kulttuuri: DevOps ei ole koskaan koskenut pelkästään teknologiaa. Sen sijaan tavoitteena oli asettaa ihmiset etusijalle ja vapauttaa heidät työssään tarpeettomista rasitteista ja ongelmista. Tämän seurauksena DevOps auttoi suuntaamaan uudelleen huomiota terveen ja myrkyttömän työpaikkakulttuurin merkitykseen. Siinä korostuvat esimerkiksi psykologinen turvallisuus, syyllistämättömät jälkipuintianalyysit, yhteiset kannustimet, jatkuva parantaminen ja paljon muuta.
Tekoäly ja koneoppiminen: Vaikka suuret kielimallit (LLM) ja generatiivinen tekoäly ovat tällä hetkellä kaikkien huulilla, tekoäly ja koneoppiminen eivät todellakaan ole uusia asioita. Erityisesti koneoppimista on jo käytetty esimerkiksi ennakoivaan analytiikkaan, virheiden havaitsemiseen ja prosessien automatisointiin erilaisissa DevOps-konteksteissa.
Have an account? Log In
Nykyiset DevOps-trendit
Vaikka useimmat edellä mainituista toimintamalleista ovat olleet käytössä jo jonkin aikaa, se ei tarkoita, että DevOps olisi pysähtynyt paikalleen. Se vaikuttaa olevan suositumpi kuin koskaan – ja myös työnantajien näkökulmasta kysytympi kuin koskaan. Äskettäinen koko Yhdysvaltojen laajuinen haku DevOps-insinöörin tehtävistä LinkedInissä – yksi tehtävänimike mahdollisesti relevanttien roolien joukossa – tuotti lähes 5 000 avointa työpaikkaa.
DevOpsin kypsyessä se on jatkanut kehittymistään. Tarkastellaan viittä näkyvintä tapaa, joilla DevOps muuttuu edelleen.
1. Kubernetesin laaja käyttöönotto
Kun konttien käyttöönotto yleistyi nopeasti, kävi pian ilmeiseksi, että DevOps-tiimit tarvitsivat paremman tavan hallita kaikkea. Kubernetes astui kuvaan ja siitä tuli standardi konttien orkestroinnissa sekä yleinen alusta (saatavilla monina jakeluina tai versioina), jolla tiimit hallitsevat sovelluksiaan ja infrastruktuuriaan.
”Kubernetes ja kontit mahdollistivat sen, että tiimit voivat paketoida kaikki tarvittavat ympäristöt ja suorittaa koodinsa standardoidulla alustalla, jolloin käyttötiimien tarvitsee huolehtia vain Kubernetes-alustan toimintakunnosta”, AI- ja datakonsultointiyritys Indiciumin teknologiajohtaja Vitor Avancini kertoo.
Kubernetes tarjoaa vankan automaatio-, verkkoyhteys- ja tallennusinfrastruktuurin pilvinatiivisille työkuormille. Se teki myös yhdestä konttiteknologian alkuperäisistä lupauksista – mahdollisuudesta siirtää työkuormia ympäristöjen välillä ilman, että niitä tarvitsee käytännössä rakentaa uudelleen – realistisemman: ”Se helpotti käyttötiimin työtä, koska monet ympäristöt voitiin kopioida ja liittää, sillä eri sovelluspinoille ei tarvita erilaisia ympäristöjä.”
Tämä auttaa selittämään, miksi noin kaksi kolmasosaa organisaatioista käyttää Kubernetesia tuotannossa Cloud Native Computing Foundationin vuoden 2023 kyselyn mukaan, ja lisäksi 18 prosenttia arvioi aktiivisesti sen käyttöönottoa tuotannossa.
Apuna toimivia DevOps-työkaluja: Kubernetes (avoin lähdekoodin perusjakelu) sekä laaja valikoima kaupallisia ja hallittuja konttienhallintaohjelmistoja.
2. Automaatio on kaikkialla DevOpsissa
Kubernetes on erinomainen esimerkki laajemmasta trendistä, joka juurtui DevOpsin varhaisempina päivinä: Automatisoidaan kaikki.
Meemistä alkunsa saanut ajatus on muuttumassa yhä enemmän todellisuudeksi siinä mielessä, että automaatio näyttää olevan kaikkialla DevOps-, CI/CD- ja GitOps-putkissa – tietoturvatarkistuksista laadunvarmistuksen katselmointeihin, koonti- ja käyttöönottotehtäviin sekä käytäntöjen valvontaan ja muuhun. Tämä näkyy myös huimaavan laajassa automaatiotyökalujen valikoimassa. Jotkin niistä – erityisesti vähäkoodiset ja koodittomat työkalut – eivät edes edellytä ohjelmointiosaamista.
”DevOpsin tiimeille tuoma vapaus voi aiheuttaa epäjärjestystä, joten [automaatioon] tarkoitetuilla työkaluilla voi olla tärkeä rooli asioiden järjestyksen ja hallinnan ylläpitämisessä”, Avancini sanoo ja huomauttaa, että IaC-työkalut, kuten Terraform, ovat edelleen merkittävässä roolissa tässä.
Apuna toimivia DevOps-työkaluja: Terraform, Ansible
Priorisointi on hyvin yleinen haaste, sillä yritykset usein siirtävät kriittisiä pilvitehtäviä, kuten tietokantojen optimointia ja infrastruktuurin kehittämistä, myöhemmille vuosineljänneksille tai jopa seuraavalle vuodelle. DevOps-tiimit haluavat tarttua näihin ongelmiin, mutta kun he ryhtyvät tarkastelemaan niitä, tehtävien valtava määrä vaikeuttaa usein sen hahmottamista, mitkä ongelmat ovat arvokkaimpia ratkaista ja mitkä tulisi asettaa etusijalle.
Juuri tästä syystä Zesty laajensi alustansa sisältämään toimintaan johtavia oivalluksia, jotka auttavat yrityksiä priorisoimaan ja toteuttamaan tehokkaasti ensin arvokkaimmat korjaukset. Näiden tehtävien tehokas priorisointi edellyttää yrityksiltä selkeitä näkemyksiä niihin liittyvistä aika- ja taloudellisista investoinneista. Tällaisia prosesseja automatisoivat alustat ovat korvaamattomia, sillä ne mahdollistavat paremmat päätökset ja resurssien kohdentamisen. DevOpsissa on alettu yhä paremmin ymmärtää automaation, näkyvyyden ja toimintaan johtavien suositusten tarjoamien alustojen arvo.
3. Myös mikropalveluarkkitehtuuri on kaikkialla
Mikropalveluarkkitehtuuri – jossa suuremmat sovellukset jaetaan olennaisesti pienemmiksi, erillisiksi komponenteiksi, jotka toimivat itsenäisesti mutta tekevät silti yhteistyötä muodostaakseen suuremman järjestelmän – ei ole uusi asia. Monien vuosien ajan tämä lähestymistapa ei kuitenkaan aina ollut realistinen monille organisaatioille.
Nykyään kolme neljästä (74 %) yrityksestä käyttää mikropalveluja Gartnerin mukaan, ja lähes kaikki muut (23 %) suunnittelevat tekevänsä niin lähitulevaisuudessa.
”Mikropalvelut antoivat tiimeille mahdollisuuden valita omat työkalupinonsa. Aiemmin keskitettyjen operatiivisten tiimien täytyi tarjota kehitystiimeille erilaisia testaus- ja käyttöönottamisympäristöjä”, Avancini sanoo.
Tässä voidaan käynnistää muna vai kana -väittely, sillä mikropalveluarkkitehtuuri sopii luontevasti yhteen konttien ja Kubernetesin kanssa – joten ensin mainitun kypsyys todennäköisesti vauhditti jälkimmäisen käyttöönottoa, samoin kuin pilvinatiivisten teknologioiden ja kehityksen yleinen kypsyminen. (Nykyään rakennettavat uudet eli alusta alkaen rakennettavat sovellukset kehitetään todennäköisemmin pilvinatiiveihin ympäristöihin, joissa mikropalvelut ovat merkittävä arkkitehtuurivaihtoehto.)
Mikropalveluarkkitehtuuri on kulkenut käsi kädessä myös palvelimettoman laskennan (tai palvelimettoman arkkitehtuurin) kanssa. Ne ovat erillisiä mutta usein toisiinsa liittyviä asioita – yksinkertainen tapa erottaa ne toisistaan on se, että mikropalvelut ovat ohjelmistosuunnittelun arkkitehtoninen lähestymistapa, kun taas palvelimettomuus on arkkitehtoninen lähestymistapa siihen, miten kyseinen ohjelmisto käytännössä toimii.
Hyödyllisiä DevOps-työkaluja: Prometheus, Compass, AWS Fargate
4. Alustasuunnittelu on uusi DevOps (jossain määrin)
Otsikko on hieman liioiteltu – alustasuunnittelu ja DevOps ovat eri aloja, mutta niiden välinen suhde kasvaa jatkuvasti. Tästä on esimerkkinä Puppetin pitkäaikainen DevOpsin tila -raportti, jonka vuoden 2024 alaotsikko oli ”Alustasuunnittelun kehitys”.
Alustasuunnittelu on sisäisten alustojen rakentamiseen keskittyvä ala, jossa painotetaan voimakkaasti itsepalvelua, jotta kehittäjillä ja muilla teknologia-asiantuntijoilla olisi kaikki tarvittava sovellusten ja palvelujen rakentamiseen. DevOpsin tavoin siinä painotetaan voimakkaasti myös infrastruktuurin automatisointia, standardoituja työkaluketjuja ja työnkulkuja sekä muita vastaavia käytäntöjä. Kehitys- tai testiympäristön käyttöönoton ei esimerkiksi pitäisi edellyttää pyyntölipun lähettämistä täysin erilliselle infrastruktuurin hallintatiimille.
”[S]uuri trendi on alustasuunnittelu, joka tarjoaa työkalut ja käytännöt, joiden avulla kehitystiimit voivat paitsi kehittää myös testata, valvoa ja palauttaa sovelluksia aiempaan versioon” yhtenäisellä ja johdonmukaisella tavalla, Avancini sanoo, ilman että heidän tarvitsee jatkuvasti pyytää operatiivisilta asiantuntijoilta tähän tarvitsemiaan infrastruktuuria ja palveluja.
Avancini huomauttaa, että DevOpsissa ollaan myös yleisesti siirtymässä kohti keskitettyjä prosesseja – mikä saattaa aluksi vaikuttaa vastoin intuitiota, kun otetaan huomioon monien DevOps-kulttuurien orgaaninen kehitys. Alustasuunnittelua voidaan kuitenkin tarkastella tästä näkökulmasta: DevOps ei tarkoita anarkiaa. Kehittäjät ja muut IT-ammattilaiset tarvitsevat edelleen työkaluja, infrastruktuuria ja – kyllä – suojakaiteita.
Tässä yhteydessä saatat nähdä myös termit sisäinen kehittäjäalusta (IDP) ja integroitu kehitysympäristö (IDE).
Hyödyllisiä DevOps-työkaluja: Kubernetes, Humanitec
More Articles
5. Tekoälyn rooli DevOpsissa kasvaa
Kehittyvät tekoälysovellukset – viimeksi huomio on kohdistunut uuteen LLM-pohjaisten generatiivisten tekoälysovellusten luokkaan – löytävät todennäköisesti tiensä myös DevOps-prosesseihin ja työkaluketjuihin. Tälle yhdistelmälle on jopa oma terminsä: AIOps.
Ehkä yksinkertaisin tapa ajatella, missä tekoälystä on hyötyä, on tarkastella asiaa automaation laajemmasta näkökulmasta: jos jokin voidaan automatisoida tai jos ihmisen älykkyyttä ja työpanosta voidaan jollain tavalla hyödyntää, tekoälyllä voi olla siinä rooli – ja todennäköisesti onkin.
”Tekoälyavustuksella tulee olemaan tärkeä rooli DevOpsissa erityisesti koodikatselmointien tukemisessa, koodin laadun ja tietoturvan analysoinnissa sekä kaikkien uuden koodin käyttöönoton mahdollisten vaikutusten automaattisessa kuvaamisessa”, Avancini sanoo.
Mahdollisia käyttötapauksia onkin lukemattomia, ja monet niistä ovat vasta nyt hahmottumassa. Kehittäjien tuottavuuden ja tietoturvan automaation voidaan odottaa olevan kaksi keskeistä painopistealuetta lähitulevaisuudessa.
DevOps-työkaluja avuksi: GitHub Copilot
Lopputulos
DevOps-kulttuuri ja -käytännöt ovat kestäneet aikaa – mutta se ei tarkoita, että ne olisivat muuttumattomia. Mitkä ovat organisaatiosi uusimmat DevOps-trendit? Mihin suuntaan näet DevOpsin kehittyvän tulevina vuosina? Tilaa The CTO Clubin uutiskirje ja pysy ajan tasalla alan uutisista ja keskusteluista!







