Äskettäinen Yhdysvaltojen laajuinen haku ”DevOps Engineer” -nimikkeellä teknologia-alan työpaikkasivusto Dicessä tuotti 4 474 avointa työpaikkaa. Ei hullummin työtehtävältä, jota ei ollut olemassa vielä vuosikymmen sitten.
DevOps-insinöörin tehtävät – aivan kuten DevOps-toimintamallikin – ovat kasvaneet valtavasti viime vuosina siinä määrin, että ne ovat nykyään arkipäivää. Lähes alusta alkaen tehtävä – ja itse nimike – on kuitenkin herättänyt jonkin verran hämmennystä. Mitä DevOps-insinööri tarkalleen ottaen tekee?
(Jos vastasit ”DevOps”, et juuri auttanut selventämään asiaa.)
”DevOps-insinööri on ammattilainen, joka työskentelee ohjelmistokehityksen ja IT-toimintojen välisen kuilun kaventamiseksi tavoitteenaan parantaa ohjelmistokehitys- ja käyttöönottoprosessien tehokkuutta ja toimivuutta”, sanoo mobiilitestausalusta Kobitonin tuotemarkkinoinnista vastaava johtaja Cara Suarez.
Suarezin mukaan kyseessä on monialainen tehtävä, josta on tulossa yhä välttämättömämpi monissa yrityksissä.
”DevOps-insinöörillä on keskeinen rooli nykyaikaisessa ohjelmistokehityksessä ja IT-toiminnoissa, ja hänen työnsä keskittyy automaatioon, yhteistyöhön ja jatkuvan parantamisen kulttuuriin”, Suarez sanoo. ”Tehtävä kehittyy vastaamaan uusiin teknologioihin ja tietoturvahaasteisiin, ja monipuolinen osaaminen on olennaista menestymisen kannalta tällä alalla.”
Tässä artikkelissa määrittelemme DevOps-insinöörin tehtävän, kerromme, millaista osaamista se edellyttää, ja tarkastelemme, miten työ muuttuu vuonna 2025 ja sen jälkeen.
DevOpsin määritelmä: enemmän kuin muotisana
DevOps-insinöörin tehtävän ymmärtämiseksi on tietysti hyödyllistä ymmärtää myös DevOps itsessään.
Lyhyesti sanottuna DevOps on joukko käytäntöjä, prosesseja ja työkaluja, joiden tavoitteena on saattaa kaksi keskeistä IT-toimintoa – ohjelmistokehitys (”Dev”) ja IT-toiminnot (”Ops”) – huomattavasti tiiviimpään yhteistyöhön kuin aiemmin oli tapana. Vaikka tämän tavoitteen tarkat päämäärät voivat vaihdella organisaation tai tiimin mukaan, yleisenä tarkoituksena on parantaa ohjelmistokehityksen, käyttöönoton, suorituskyvyn ja ylläpidon nopeutta, toistuvuutta, häiriönsietokykyä ja tietoturvaa.
Onnistuessaan DevOps-tiimit voivat rakentaa ja julkaista koodia nopeammin ja useammin, vähäisemmin virhein, lyhyemmin käyttökatkoksin ja terveemmässä työympäristössä. Siksi siitä on hyötyä kaikenkokoisille ja kaikkien toimialojen yrityksille aina DevOps-startupeista Fortune 500 -yrityksiin.
Kokonaisvaltaisissa DevOps-määritelmissä korostetaan yleensä myös ihmisten merkitystä – sitä, miten he viestivät, miten he työskentelevät yhdessä, miten he voivat käyttää vähemmän aikaa toistuvaan manuaaliseen työhön ja niin edelleen. Tämän seurauksena DevOpsia pidetään usein yhtä paljon (tai jopa enemmän) kulttuurina kuin teknisenä tai prosessikeskeisenä toimintamallina. Siinä on yhtä lailla kyse parempien tuotteiden ja palvelujen rakentamisesta yhteisten kannustimien, syyllistämättömän työkulttuurin ja sujuvan ohjelmistotoimituksen avulla – ilman että tiimi uupuu.
”DevOpsin kypsyessä se on laajentunut pelkän automaation ja yhteistyön ulkopuolelle”, Suarez sanoo. ”Se kattaa nykyään laajemman kulttuurisen muutoksen, josta käytetään usein nimitystä ’DevOps-kulttuuri’. Siinä korostetaan jatkuvan parantamisen ajattelutapaa ja koko organisaation laajuista yhteistyötä.”
Have an account? Log In
Mitä DevOps-insinöörit tekevät?
DevOpsin yleistyessä yritysten IT-toiminnoissa havaittiin, että kehitys- ja käyttöönottotiimien tiivis yhteistyö – kun ne olivat aiemmin työskennelleet yleensä erillään ja siiloutuneina – loi tarpeen uudenlaisille IT-ammattilaisille, joiden taidot ja vastuualueet yhdistivät useita toimintoja.
DevOps-insinöörin tehtävä syntyi vastaamaan perinteiseen ohjelmistokehitykseen ja IT-toimintoihin liittyviin haasteisiin. Nämä kaksi toimintoa työskentelivät usein erillään, mikä johti hitaisiin, virhealttiisiin ja tehottomiin prosesseihin.

Derek Ashmore, Asperitaksen sovellusten muutoshankkeista vastaava päällikkö, kuvailee tehtävää suoraviivaisesti: ”DevOps-insinööri käyttää automaatiota monenlaisiin IT-tehtäviin, jotka aiemmin tehtiin manuaalisesti.”
Ashmoren mukaan näihin tehtäviin kuuluu monenlaisia IT-toimintoja, kuten sovellusympäristöjen käyttöönotto ja hallinta, sovelluskoodin käyttöönotot, palvelinohjelmistot, tietoturvakäytännöt, pilvi-infrastruktuuri ja paljon muuta.
Tehtävien moninaisuuden ja niiden edellyttämien taitojen vuoksi jotkut DevOps-insinöörit erikoistuvat tiettyihin osa-alueisiin, vaikka heillä olisi yhteinen nimike.
On tavallista, että jotkut erikoistuvat palvelinohjelmistojen hallintaan ja määritykseen, sillä ne edellyttävät järjestelmänhallinnan taitoja. Toiset keskittyvät sovellusten koontiversioihin ja jatkuvaan toimitukseen, mikä edellyttää usein tiettyyn ohjelmointikieleen liittyviä taitoja.

Toisin sanoen DevOps-insinöörit vastaavat yhä useammin erinomaisen ohjelmiston rakentamiseen, käyttöönottoon, hallintaan ja suojaamiseen tarvittavasta taustatyöstä.
DevOps-insinöörin taidot ja pätevyys
Vaikka erikoistuminen voi määrittää tietyt taidot ja kokemuksen, DevOps-insinöörin rooli on yleensä vakiintunut tiettyjen yhteisten ”kovien” taitojen (kuten teknisten taitojen) ja ”pehmeiden” taitojen (kuten vuorovaikutusviestinnän tai tiimin rakentamisen) ympärille.

Kobitonin Suarez jakaa ne seuraavasti:
- Automaatio: Vaikka DevOps ei ole pelkkä automaation synonyymi, tuskin on olemassa DevOps-ympäristöä, joka toimisi pääasiassa tai kokonaan manuaalisen työn ja manuaalisten prosessien varassa. Automaatio on olennainen osa DevOpsin perimää. Tämän vuoksi DevOps-insinöörit vastaavat yleensä eri ohjelmointikielten ja muiden työkalujen käyttämisestä automaattisten prosessien luomiseen ja ylläpitoon esimerkiksi ohjelmistojen käyttöönottoa, käyttöönotto-ohjelmistoja ja testausta varten ohjelmistokehityksen elinkaaren muiden perusteiden ohella.
- Infrastruktuuri koodina (IaC): Infrastruktuurin ja määritysten hallinta koodin avulla, usein Terraformin tai Ansiblen kaltaisilla työkaluilla, on oma automaation kategoriansa – ja se on välttämätön DevOps-putkille ja -prosesseille. Sovellus- ja infrastruktuuriympäristöjen manuaalinen määrittäminen (uudelleenmäärittäminen) – erityisesti laajassa mittakaavassa – on esimerkiksi DevOpsin yleisten periaatteiden vastaista. DevOps-insinöörit vastaavat yhä useammin suuren osan tästä toistuvasta työstä automatisoinnista nopeuden ja tehokkuuden parantamiseksi.
- Yhteistyö: DevOps-insinöörit eivät yleensä voi vahvistaa vanhentunutta stereotypiaa äreästä IT-ammattilaisesta, joka on sulkeutunut jonnekin palvelinkaappiin. Heidän on voitava sujuvasti edistää DevOpsin parhaita käytäntöjä ja yhteistyötä sekä kehitys- ja operointitiimien välistä viestintää työnkulkujen ja prosessien sujuvoittamiseksi. Suurissa organisaatioissa, joissa DevOps-periaatteet juurtuvat ja leviävät muihin toimintoihin – kuten tietoturvaan ja DevSecOpsiin – tai teknisiin osastoihin, heidän on pystyttävä työskentelemään entistä moninaisemman ihmisjoukon ja työtehtävien kanssa.
- Jatkuva integraatio / jatkuva käyttöönotto (CI/CD): DevOps ja CI/CD kulkevat käsi kädessä erityisesti siksi, että molemmat tukeutuvat vahvasti automaatioon nopeuden, tiheyden ja tehokkuuden lisäämiseksi. DevOps-insinöörit vastaavat usein CI/CD-putkien toteuttamisesta ja hallinnasta, jotta ohjelmistotestaus ja käyttöönotto voidaan automatisoida sekä haavoittuvuuksien tarkistukset ja muut tietoturvatarkistukset voidaan automatisoida näissä putkissa mahdollisimman varhaisessa vaiheessa. DevOps-tiimit, jotka painottavat erityisesti tietoturvaa, käyttävät joskus tähän liittyvää nimitystä ”DevSecOps” osoittamaan, että tietoturvaa käsitellään samalla painoarvolla kuin ohjelmistokehitystä ja operointia.
- Valvonta, lokitus ja mittarit: DevOps-insinöörit määrittävät myös valvonta- ja lokitustyökaluja sovellusten ja infrastruktuurin kunnon ja suorituskyvyn seuraamista varten. Yleisesti ottaen DevOps-insinöörit ja heidän laajemmat tiiminsä panostavat voimakkaasti työnsä tulosten mittaamiseen osittain jatkuvan parantamisen ja optimoinnin ajattelutavan rakentamiseksi ja vahvistamiseksi. Eri tiimit käyttävät erilaisia viitekehyksiä DevOps-mittareille.
- Vianmääritys ja ongelmanratkaisu: DevOps-insinöörit varmistavat tukemiensa sovellusten ja infrastruktuurin luotettavuuden, häiriönsietokyvyn ja saatavuuden. Tämän vuoksi heidän tehtäviinsä kuuluu yleensä suorituskykyongelmien ja muiden ilmenevien ongelmien vianmääritys ja lieventäminen.
DevOps-insinöörien työkalut ja ohjelmat
Vaikka DevOps-työkaluista ei ole olemassa vakiomuotoista, kaikille sopivaa luetteloa, DevOps-tiimit yleensä standardoivat itse valitsemansa työkaluketjun. Tämä työkaluketju vastaa yleensä edellä käsittelemiämme perustaitoja. Tässä on esimerkkejä suosituista DevOps-työkaluista eri kategorioissa (Suarezin avustuksella):
- Automaatio / infrastruktuuri koodina: Ansible, Terraform
- Konttiteknologia ja orkestrointi: Docker, Kubernetes
- Pilvi-infrastruktuuri ja -palvelut: Amazon/AWS, Microsoft Azure, Google Cloud Platform
- CI/CD-putket ja -työkalut: Jenkins, GitLab CI/CD, Travis CI
- Versionhallinta: Git
- Valvonta ja lokitus: Prometheus, Grafana, ELK-pino (Elasticsearch, Logstash, Kibana).
- Skriptikielet: Bash, Python
- Käyttöjärjestelmät: Linux
Muista, että avoimen lähdekoodin ohjelmistoihin ja työkaluihin liittyvä kiinnostus ja kokemus ovat myös suuri etu. Useat edellä mainituista suurista nimistä, kuten Linux ja Kubernetes, täyttävät tämän vaatimuksen, ja monet pilvi- ja pilvinatiivin ekosysteemin alustat ja työkalut ovat joko avointa lähdekoodia tai perustuvat avoimen lähdekoodin koodiin.
On myös tärkeää huomata, että DevOps-insinöörin taidot – kuten ohjelmistokehitystaidot yleensäkin – eivät ole pysyviä tai ajattomia. Periaatteet voivat säilyä suhteellisen muuttumattomina, mutta käytännöt, työkalut ja kielet voivat tulla ja mennä. Suarez nostaa esiin palvelimettoman laskennan – ja AWS Lambdan ja Azure Functions -työkalujen kaltaiset ratkaisut saattavat alkaa esiintyä useammin DevOps-insinöörien rekrytointitoivelistoilla. Samoin Suarez näkee yhä useampien organisaatioiden rakentavan DevOps-käytäntöjä tarkoituksellisesti erityisesti mobiilikehityksen ja -testauksen ympärille.
More Articles
Miten DevOps-insinööriksi tullaan: koulutus, kokemus ja sertifioinnit
Haluatko siis DevOps-insinööriksi?
Kyseessä on ehdottomasti kysyntää oleva DevOps-rooli, joka tarjoaa runsaasti kasvumahdollisuuksia. Koska rooli liittyy niin laajaan kirjoon teknologioita ja prosesseja, se on erinomainen ala jatkuvaan ammatilliseen kehittymiseen.
Monille DevOps-insinöörin rooli on ponnahduslauta kohti vaativampia johtotehtäviä, kuten CTO:ksi ryhtymistä, jossa teknologia ja strateginen päätöksenteko yhdistyvät. Yrityksille, jotka eivät ole valmiita palkkaamaan kokoaikaista CTO:ta, on myös vaihtoehtona osa-aikaisen CTO:n palkkaaminen – kyseessä on osa-aikainen tai sopimuspohjainen CTO, joka tarjoaa strategista ohjausta ja asiantuntemusta sekä auttaa kaventamaan DevOps-insinöörin työn ja ylimmän johdon välisen kuilun.
DevOps-insinöörin rooliin ei ole yhtä ainoaa etenemisreittiä. Vaikka joillakin työnantajilla voi olla erityisiä vaatimuksia, kuten tietojenkäsittelytieteen tutkinto – vaatimus, joka herättää usein kiivasta keskustelua IT-alalla – todellisuudessa useat erilaiset koulutus- ja ammattipolut voivat tuottaa DevOps-insinööriltä vaadittavat taidot ja kokemuksen.
Joihinkin muihin yleisiin IT-rooleihin, joiden pätevyysvaatimukset ovat päällekkäisiä DevOps-insinöörin vaatimusten kanssa, kuuluvat:
- Järjestelmänhallinta
- Ohjelmistokehitys
- Verkkopalveluiden luotettavuustekniikka
- IT-toiminnot
- Infrastruktuuritekniikka / pilviteknologia
Myös DevOpsiin suuntautuneita sertifiointeja on syntymässä. Jotkin niistä – kuten Certified Kubernetes Administrator ja AWS Certified DevOps Professional – liittyvät tiettyihin alustoihin, joten on hyvä tuntea kohdeyrityksesi sekä niiden käyttämät ympäristöt ja työkalut. Vielä parempi vaihtoehto on selvittää, voisiko nykyinen työnantajasi kustantaa sertifioinnin. (CTO:t, huomio: ammatillisen kehittymisen tarjoaminen on erinomainen rekrytointi- ja henkilöstön sitouttamiskäytäntö.)
Verkkokurssit, tapaamiset ja kokeileminen kotilaboratoriossa ovat myös erinomaisia tapoja oppia ja kehittää taitoja käytännön harjoittelun avulla. Keskity ensin välttämättömiin asioihin – esimerkiksi automaatioon, pilvipalveluihin ja avoimeen lähdekoodiin.
Yhteenveto
DevOps-insinööreillä on merkittävä rooli siinä, miten nykyaikaisia ohjelmistoja rakennetaan, julkaistaan, hallitaan ja suojataan. Liity myös The CTO Clubin uutiskirjeen tilaajaksi saadaksesi lisää alan uutisia ja osallistuaksesi keskusteluihin!



