Jatkuvasti laajenevan DevOps-työkalukokonaisuuden hallinta voi olla sekä siunaus että taakka. Organisaatioiden navigoidessa monimuotoisessa IT-ympäristössä ja pyrkiessä säilyttämään kilpailukykynsä herää kysymys: monimutkaistammeko teknologiakokonaisuuksiamme liikaa vai hyödynnämmekö näitä työkaluja aidosti merkityksellisen edistyksen saavuttamiseksi?
Saadaksemme syvällisemmän käsityksen näistä haasteista ja tulevaisuuden suunnasta keskustelimme Prashanth Nanjundappanin kanssa. Hän toimii Progress-yhtiön tuotepäälliköstä vastaavana johtajana. Yli 20 vuoden kokemuksella teknologia-alalta Prashanth jakaa näkemyksiään työkalujen integroinnin optimoinnista, automaation ja inhimillisen asiantuntemuksen tasapainottamisesta sekä sen varmistamisesta, että nykyaikaiset DevOps-käytännöt tuottavat todellista arvoa.
- Kun DevOps-tiimit hukkuvat työkaluihin, olemmeko saavuttamassa pisteen, jossa työkalujen integrointi aiheuttaa enemmän haittaa kuin hyötyä? Miten voisimme ajatella integroinnin uudelleen niin, että tiimeille jää enemmän aikaa ja järjestelmä säilyy yhtenäisenä?
Nykyinen IT-ympäristö on heterogeeninen ja koostuu julkisesta pilvestä, yksityisestä pilvestä, SaaS-tuotteista ja reunalla sijaitsevista laitteista. Lisäksi ostopäätöksenteko on hajautunut tietohallintojohtajilta useille organisaation sisäisille tiimeille. Tämä edellyttää strategista lähestymistapaa työkalujen integroinnin sujuvoittamiseen.
- Toteuttakaa kattava strategia yritys- tai organisaatiotasolla. Esimerkkejä ovat käytäntöjen toteuttaminen koodina, API-ensin-integroinnin priorisointi, organisaation oman itsepalveluportaalin luominen tai kaiken integroiminen yhtenäiseksi alustaksi, kuten ServiceNow’ksi, Salesforceksi tai Jiraksi.
- Valitkaa tuotteita, jotka tukevat valittua strategiaa, sen sijaan että hankkisitte ensin työkaluja ja yrittäisitte sitten sovittaa ne strategiaan. Harkitkaa esimerkiksi API-ensin-työkaluja, koodilähtöisiä työkaluja, SaaS-työkaluja tai työkaluja, jotka integroituvat nykyiseen työkaluketjuunne, kuten Jiraan, ServiceNow’hun, IaC:hen tai Salesforceen.
- Minimoikaa toimittajien määrä. Koska monet toimittajat tarjoavat useita ratkaisuja, tutustukaa järjestelmässänne jo olevien toimittajien tarjontaan sen sijaan, että hankkisitte uusia työkaluja jokaista uutta vaatimusta varten. Tämä lähestymistapa vähentää sekä toimittajahallinnan monimutkaisuutta että integrointihaasteita.
- Suunnittelemattomat tehtävät vaikuttavat väistämättömiltä monimutkaisissa infrastruktuureissa, mutta miten estämme niitä muodostumasta normaaliksi toimintatavaksi? Monimutkaistammeko ratkaisuja liikaa turvautumalla organisaation sisäisiin korjauksiin, ja mitä vaihtoehtoja on olemassa, jotta ratkaisut voivat skaalautua ilman jatkuvaa ongelmien sammuttelua?
Organisaatiot lankeavat usein ajattelemaan, että ne voivat rakentaa omat työkalunsa. Jos yrityksenne ei ole erikoistunut infrastruktuurin hallintaan, älkää luoko siihen työkaluja. Vaikka avoimen lähdekoodin ohjelmistot vaikuttavat ilmaisilta, niiden kehittäminen, ylläpito, skaalaaminen ja suojaaminen vaativat huomattavasti suunnittelutyötä. Välttäkää nämä kustannukset tekemällä yhteistyötä luotettavan palveluntarjoajan kanssa, jotta tiiminne voi keskittyä liiketoiminnan keskeisiin tavoitteisiin.
Toiseksi työkalut tulisi sisällyttää rekisterijärjestelmään tai määritystenhallintatietokantaan (CMDB) heti alkuasennuksen aikana. Tämä antaa johdolle näkyvyyden infrastruktuurin käyttöön, työkalujen käyttöön sekä suunniteltuihin tai käynnissä oleviin tehtäviin. Näkyvyyden avulla organisaatiot voivat ymmärtää prosessejaan paremmin ja optimoida niitä jatkuvasti.
- Orkestroinnin hallinta jää usein huomiotta, vaikka se on tehokkuuden selkäranka. Mikä on yleisin orkestroinnin pullonkaula, josta DevOps-tiimit eivät puhu, ja miten pääsemme eroon näistä viiveistä?
En sanoisi, että orkestrointi jää huomiotta; orkestrointiin tarvittava työmäärä aliarvioidaan lähes aina. Useat työkalut ja työnkulut vaikeuttavat järjestelmänvalvojien työtä IT-laitteiden ylläpidossa ja hallinnassa suurissa ja monimutkaisissa ympäristöissä. Tällaisten tilanteiden käsittelyyn tarvitaan orkestrointia. Orkestrointi yhdistää ihmiset, työkalut ja työnkulut sekä sujuvoittaa IT-prosesseja. Yritystason orkestrointialustan avulla järjestelmänvalvojat voivat hallita joustavasti ja yksityiskohtaisesti lukuisia laitekannan toimintoja, mukaan lukien kohdistamisen ja ajoituksen. Prosessit rutiinitehtävistä kriittisiin häiriötilanteisiin nopeutuvat ja tehostuvat.
Häiriötilanteessa seuraavat vaiheet auttavat vähentämään häiriön vaikutuksia ja korjaamaan sen perimmäisen syyn:
- Orkestroidaan vastaukset päätelaiteturvan häiriötilanteisiin eristämällä vaarantuneet laitteet automaattisesti tai käynnistämällä uhkien metsästysprosessi.
- Orkestroidaan tietoturvapäivitysten käyttöönotto haavoittuviin järjestelmiin tai eristetään järjestelmät, kunnes ne voidaan päivittää.
- Kehitetään ja otetaan käyttöön häiriötilanteiden toimintaohjeita, joissa määritellään tiettyjen toimenpiteiden suorittaminen erityyppisten häiriöiden aikana.
- Käynnistetään työ, joka vastaa esimerkiksi vaarantuneisiin käyttäjätileihin tai kirjautumisvirheisiin palauttamalla salasanat automaattisesti, kirjaamalla käyttäjät ulos istunnoista tai suorittamalla muita ennalta määritettyjä toimia.
- Ylläpidetään häiriötilanteiden käsittelytiimien jaettua vastuuta helpottamalla viestintää ja yhteistyötä.
- Tuottaako siirtyminen perinteisestä DevOpsista moderneihin ympäristöihin todella lupauksensa mukaisia tuloksia, vai lisäämmekö vain uusia työkaluja entisten joukkoon? Miten voimme varmistaa, että ”moderni” kokoonpano on aidosti tehokkaampi eikä vain monimutkaisempi?
DevOpsin käyttöönotto on matka, jonka tavoitteena on nopeuttaa kehitys- ja käyttöönottoprosessia markkinoille pääsyn nopeuttamiseksi laadusta tinkimättä. Perinteinen DevOps keskittyy kehitys- ja käyttötiimien tehokkaaseen integrointiin; siinä turvallisuustiimejä ei oteta huomioon keskeisinä yhteistyökumppaneina. Moderni DevOps ei pidä turvallisuutta jälkikäteen huomioitavana asiana, vaan integroi sen keskeisiin työnkulkuihin. Siitä käytetään myös nimitystä DevSecOps.
DevSecOps antaa organisaatioille mahdollisuuden optimoida turvallisten, tehokkaiden ja nopeasti reagoivien ohjelmistojen käyttöönoton. Turvallisuuden sisällyttäminen alusta alkaen kehitys- ja käyttötiimien toimintaan auttaa vahvistamaan ohjelmistoja uhkia vastaan ja mahdollistaa vankan suojauksen. Tämä lähestymistapa nopeuttaa myös toimitusaikoja ja antaa organisaatioille kilpailuetua dynaamisilla markkinoilla.
Osastojen välinen yhteistyö parantaa tehokkuutta ja häiriönsietokykyä, kun taas jatkuva valvonta vahvistaa nopeaa reagointia häiriötilanteisiin. Automaatio sujuvoittaa prosesseja, vähentää virheitä ja edistää tasalaatuista laatua. Moderni DevOps (eli DevSecOps) ei vain sopeudu muutokseen – se kukoistaa sen keskellä ja sovittaa ohjelmistot yhteen nykyisten tarpeiden ja tulevaisuuden tavoitteiden kanssa.
- Miten voimme optimoida useiden automaatiotyökalujen käytön niin, että ne parantavat tuottavuutta sen sijaan, että niistä tulee IT-tiimeille aikaa vievä taakka?
Siirtyminen täysin integroituun malliin on jatkuva matka jopa edistyneimmille organisaatioille. DevOpsin kypsyysmalli on yksi tätä matkaa ohjaavista viitekehyksistä, joka auttaa arvioimaan ja parantamaan turvallisuuden sisällyttämistä DevOps-käytäntöihin.
Keskeinen haaste on DevSecOps-käytäntöjen tärkeiden osa-alueiden tehokas tunnistaminen ja parantaminen, mikä edellyttää säännöllistä arviointia, prosessien mukauttamista ja puutteiden tunnistamista. Jatkuvan arvioinnin ja parantamisen avulla organisaatiot pyrkivät saavuttamaan nopeuden ja korkeat turvallisuusstandardit DevOps-käytännöissään. Näin ne maksimoivat useiden automaatiotyökalujen ja tuottavuuden hyödyt.
Tyypillinen DevOpsiin perustuva automaatioprosessi sisältää useita toimintoja, jotka on esitetty seuraavassa kuvassa.
Suosittelemme organisaatioita keskittymään näihin DevSecOpsin kypsyysmallin osa-alueisiin oman DevSecOps-kypsyytensä mittaamiseksi ja kehityskohteiden löytämiseksi, jotta markkinoille pääsyä voidaan nopeuttaa ja kustannuksia optimoida:
- Organisaation kulttuurinen yhdenmukaisuus: Tunnistettu keulahahmo sekä tiimien välisen yhteistyön ja viestinnän taso.
- Kehityksen ketteryys: Kyky toimittaa toiminnallisuutta asteittain sellaisella tahdilla, että markkinoiden paineisiin voidaan reagoida.
- Automaatio: Kuinka hyvin prosessit on automatisoitu ja mikä on automaation laajuus ja tehokkuus koko elinkaaren aikana?
- Turvallisuus: Turvallisuuden integrointi muihin toiminnallisiin osa-alueisiin ja koko elinkaaren aikana.
- Testaus: Testausmenetelmien integrointi kokonaisprosesseihin ja käytäntöjen tehokkuus.
- Valvonta: Miten valvonta on integroitu kokonaisprosesseihin ja kuinka tehokasta se on?
- Toiminnan mittaaminen ja vaatimustenmukaisuus: Toiminnan tehokkuus, mukaan lukien hallinnointi, koostuu mittaamisesta ja vaatimustenmukaisuudesta.
DevSecOps-kypsyysarviointi on olennainen työkalu organisaatioille, jotka haluavat arvioida ja parantaa DevSecOps-käytäntöjensä toteutusta. Tämä arviointi tarjoaa yleisluonteisen arvion organisaation toiminnallisesta kypsyydestä, joka on räätälöity nimenomaisesti sen DevSecOps-työkalujen käyttöön. Siinä arvioidaan, kuinka tehokkaasti organisaatio hyödyntää näitä menetelmiä täysimääräisesti, ja tarjotaan näkemyksiä kehittyvistä ja jo kypsyneistä osa-alueista.
Keskeiset huomiot
DevOpsin kehittyessä harkittu integrointi, jatkuva arviointi ja oikean tasapainon löytäminen automaation ja inhimillisen asiantuntemuksen välillä auttavat pysymään kilpailijoiden edellä.
Prashanth korostaa yhtenäisen strategian hyödyntämisen merkitystä ja ymmärtää, ettei useampien työkalujen käyttöönotto välttämättä johda parempiin tuloksiin. Menestys riippuu sen sijaan työkalujen ja niitä käyttävien tiimien optimoinnista.
Keskittymällä DevSecOps-kypsyyteen ja sovittamalla automaatio yhteen organisaatiokulttuurin kanssa DevOps-johtajat voivat rakentaa tuottavuutta ja häiriönsietokykyä parantavan järjestelmän, joka todella kukoistaa nopean muutoksen keskellä.
Tilaa The CTO Clubin uutiskirje, niin saat lisää DevOps-haastatteluja, työkaluja ja parhaita käytäntöjä.


