Mitä DevOps on?
Jos seuraat blogiamme, tiedät jo, mitä DevOps on. Jos et, tässä on lyhyt yhteenveto ja artikkeli, jonka voit lukea DevOps-kulttuurista:
DevOps-menetelmä parantaa kommunikointia kehittäjien ja Opsin välillä projekteissa. DevOpsin tavoitteet ovat seuraavat:
- säästää aikaa häiriötilanteiden ratkaisemisessa
- käynnistää uusia ominaisuuksia nopeammin
- vähentää riskejä prosessien automatisoinnilla
nostaa merkittävästi asiakkaidesi tyytyväisyyttä ja samalla kehittäjien tyytyväisyyttä.
Tässä yhteydessä puhutaan palautekehästä. Se on DevOps-käsite, joka perustuu kehityksen vaikutusten mittaamiseen, jotta tiedetään sen tehokkuus ja jatketaan oppimista. Tämä palautesilmukka on avain DevOpsin tavoitteiden saavuttamiseen ja ohjelmiston ja tiimisi prosessin onnistuneeseen parantamiseen. Se auttaa myös tiimejäsi toimittamaan laadukasta koodia.
Tänä päivänä IDC:n mukaan 20 prosenttia sovelluskehitysprojekteista hyötyy DevOps-lähestymistavasta. Vuoteen 2021 mennessä tämä luku nousee 35-40 prosenttiin. Ei ole sattumaa, että niin monet IT-tiimit ottavat DevOps-menetelmän käyttöön.
DevOpsin periaatteet
DevOps-menetelmän käyttäminen ohjelmistokehitystiimissäsi muuttaa organisaatiosi radikaalisti. Se muuttaa tapaa, jolla kehittäjätiimisi koodaa ja ottaa käyttöön julkaisuja. Se perustuu kuuteen keskeiseen periaatteeseen:
- Automaatio
- Iteraatio
- Itsepalvelu
- Jatkuva parantaminen
- Jatkuva testaaminen
- Yhteistyö
Automaation avulla kehittäjät ja Ops voivat yksinkertaistaa prosessia ja tiimit voivat olla tuottavampia. Koska automatisointi vähentää manuaalisten toimenpiteiden määrää, se parantaa ohjelmiston kehittämisen laatua ja turvallisuutta. Samalla kun iterointi nopeuttaa kehitysprosessia loppukäyttäjien nopeamman palautteen ansiosta. Itsepalvelu nopeuttaa myös julkaisuja, koska kehittäjät voivat ottaa sovelluksia käyttöön pyynnöstä itse. Jatkuva parantaminen tekee prosessista sujuvamman. Jokaisen tapahtuman jälkeen DevOps-prosessiin kuuluu post mortem -tarkastelu. Post mortem -tilannekatsaus on jokaisen tapahtuman, sen vaikutuksen, sen korjaamiseksi toteutettujen toimien, ongelman syyn ja sen toistumisen estämiseksi toteutettujen toimien kirjaaminen. Jatkuva testaus mahdollistaa nopeammat julkaisut ja samalla korkeamman laadun. Ja lopuksi, mutta ei suinkaan vähäisimpänä, kehittäjien ja ylläpidon välinen yhteistyö on avainasemassa, kun pyritään yhdistämään ponnistelut ja saavuttamaan menestys nopeammin.
DevOps-prosessi
DevOps-prosessi koostuu useista vaiheista. Tässä on kaavio, joka auttaa havainnollistamaan:
Järjestyksessä DevOps-prosessin vaiheet ovat:
- Suunnittele: Tämä on se osa projektia, jossa järjestät tehtävät, aikataulut ja otat käyttöön projektinhallintatyökalut. Ideana on suunnitella tehtävät käyttäen ketterän metodologian käyttäjätarinaprosessia. Kirjoittamalla liput käyttäjätarinan muodossa kehittäjät ja Ops ymmärtävät, mitä kehitystä on tehtävä ja miksi. Täydellinen käyttäjätarina on mitä (kuka, missä, laukaisija), miksi ja hyväksymiskriteerit. (Esimerkki: Käyttäjänä asiakastilissäni, kun klikkaan ”vaihtoehto”, avautuu ponnahdusikkuna, jossa voin muuttaa nimeni ja etunimeni).
- Koodi: Tässä kehittäjät tekevät koodinkehitystä ja koodin tarkistusta. Kun koodi on valmis, he yhdistävät sen. DevOps-käytännössä on tärkeää jakaa koodityökalu Ops- ja kehittäjätiimien kesken, kuten Github tai Gitlab.
- Build: Tämä vaihe on ensimmäinen kohti automaatiota. Tässä tavoitteena on rakentaa lähdekoodi yhteen haluttuun muotoon, kääntää, testata ja ottaa käyttöön tietyssä infrastruktuurin paikassa. Kun tämä vaihe on asetettu, jatkuvan integroinnin (CI) ja toimituksen (CD) työkalut voivat tarkistaa ja todentaa lähdekoodin lähdekoodin hallinnasta ja rakentaa sen.
- Testaa: Jatkuva testausprosessi vähentää riskejä. Automaattisilla testeillä varmistetaan, että tuotantoon ei tule virheitä. Sinun on otettava testaustyökalut käyttöön työnkulussasi, jotta voit varmistaa ohjelmistosi parhaan kehityslaadun.
- Julkaisu: Koodi on läpäissyt testausprosessin (jatkuva integrointi) ja on valmis käyttöönotettavaksi.
- Deploy: Operatiivinen tiimi ottaa uuden ominaisuuden käyttöön tuotannossa. Mutta koska automaatio on yksi DevOps-periaatteista, on mahdollista ottaa käyttöön jatkuva käyttöönotto.
- Käyttää/määrittää infrastruktuuria: Ops rakentaa tai ylläpitää skaalautuvaa infrastruktuuria, infrastruktuuria koodina ja tarkistaa tietoturvaongelmat ja lokien hallinnan.
- Monitoroi: Seuranta on tärkeä vaihe, sillä sen avulla häiriötilanteet voidaan korjata nopeammin ja luoda loppukäyttäjälle parempi käyttökokemus.
Koska DevOpsin tavoitteena on lisätä merkittävästi asiakkaidesi tyytyväisyyttä, tiimisi aloittavat luonnollisesti askeleet uudestaan ohjelmistosi tai sovelluksesi uuden ominaisuuden kanssa. Siksi piirrämme DevOpsin aina loputtomaksi silmukaksi.
DevOpsin käyttöönotto tiimissäsi
Jos tiimisi ei ole vielä ottanut käyttöön DevOps-prosessia tai edes ketterää prosessia, se voi tuntua hämmentävältä, etenkin koska se tarkoittaa organisaation lisäksi myös tiimisi kulttuurin muuttamista.
Voidaksesi ottaa DevOpsin käyttöön tiimissäsi sinun on otettava aikaa, edettävä askel askeleelta, älä kiirehdi. Näin otat asteittain käyttöön tämän uuden kulttuurin ja organisaation:
- Aloita muuttamalla tiimiesi ajattelutapaa. Ilman työkaluja DevOps-prosessia ei voi olla olemassa, mutta se ei riitä, vaan kehittäjien ja Opsin on ymmärrettävä ja oltava kiinnostuneita toistensa työstä. Lyhyesti sanottuna kehittäjien ja Opsin on opittava tekemään yhteistyötä.
- Ota käyttöön ketterä kehitysprosessi. Useimmissa DevOps-projekteissa käytetään ketteriin menetelmiin kuuluvia Scrum- tai Kanban-menetelmiä.
- Neljännen askeleen toteuttamiseksi kannattaa ottaa käyttöön pilvipalvelut (yksityinen, julkinen tai hybridi-pilvi).
- Automatisoi ohjelmistojen käyttöönotto jatkuvan integroinnin (CI) ansiosta, jotta kehittäjät voivat työntää uuden ominaisuuden helposti.
- Käytä ohjelmistojen jatkuvaa testausta riskien vähentämiseksi.
- Ota käyttöön jatkuva käyttöönotto (CD), manuaalisia toimenpiteitä on vähemmän, voit nopeammin ottaa uudet versiot käyttöön tuotannossa.
Muista, että näiden prosessien lisääminen muuttaa organisaatiotasi ja luo uusia tarpeita. Tiimisi saattaa esimerkiksi tarvita koulutusta käyttöönotettuja uusia DevOps-työkaluja varten.
Olet saavuttanut todellisen DevOps-ympäristön, kun kehitysprosessisi on mahdollisimman automatisoitu ja ketterä. Jos sinulla on kysyttävää jostakin prosessin vaiheesta, ota rohkeasti yhteyttä.