Mikä on DevOps?
DevOps on ohjelmistokehitysmenetelmä, joka keskittyy viestintään, integraatioon ja yhteistyöhön IT-ammattilaisten kanssa tuotteiden nopean käyttöönoton mahdollistamiseksi.
DevOps on kulttuuri, joka edistää kehitys- ja operatiivisen ryhmän välistä yhteistyötä. Tämä mahdollistaa koodin käytön tuotantoon nopeammin ja automatisoidusti. Se auttaa lisäämään organisaation nopeutta toimittaa sovelluksia ja palveluja. Se voidaan määritellä kehityksen ja IT-toiminnan rinnastukseksi.
Mikä on ketterä?
Ketterään metodologiaan kuuluu kehityksen ja testauksen jatkuva toistaminen SDLC-prosessissa. Tämä ohjelmistokehitysmenetelmä painottaa iteratiivista, inkrementaalista ja evoluutiokehitystä.
Ketterä kehitysprosessi jakaa tuotteen pienempiin paloihin ja integroi ne lopullista testausta varten. Se voidaan toteuttaa monin tavoin, mukaan lukien scrum, kanban, scrum, XP jne.
Ketterä vs. DevOps
Sidosryhmät ja viestintäketju tyypillisessä IT-prosessissa.
Ketterä korjaa puutteet asiakas- ja kehittäjäviestinnässä
DevOps korjaa puutteet kehittäjä- ja IT-operaatioiden viestinnässä
TÄRKEÄ ERO
- DevOps on käytäntö, joka tuo kehitys- ja operatiiviset tiimit yhteen, kun taas Agile on iteratiivinen lähestymistapa, joka keskittyy yhteistyöhön, asiakaspalautteeseen ja pieniin nopeisiin julkaisuihin.
- DevOps keskittyy jatkuvaan testaukseen ja toimitukseen, kun taas ketterä prosessi keskittyy jatkuviin muutoksiin.
- DevOps vaatii suhteellisen suuren joukkueen, kun taas Agile vaatii pienen joukkueen.
- DevOps hyödyntää sekä siirtymiä vasemmalle että oikealle, toisaalta ketterä vipuvaikutus-vasen -periaatetta.
- Agilen kohdealue on ohjelmistokehitys, kun taas DevOpsin kohdealueena on tarjota kattavia liiketoimintaratkaisuja ja nopea toimitus.
- DevOps keskittyy enemmän toimintavalmiuteen ja liiketoimintavalmiuteen, kun taas Agile keskittyy toiminnalliseen ja ei-valmiuteen.
Ero ketterän ja DevOpsin välillä
Parametri | Ketterä | DevOps |
---|---|---|
Mikä se on? | Ketterä viittaa iteratiiviseen lähestymistapaan, joka keskittyy yhteistyöhön, asiakaspalautteeseen ja pieniin, nopeisiin julkaisuihin. | DevOpsia pidetään käytäntönä kehitys- ja operatiivisten ryhmien kokoamiseksi yhteen. |
Tarkoitus | Ketterä auttaa hallitsemaan monimutkaisia projekteja. | DevOpsin keskeisenä konseptina on hallita end-to-end-suunnitteluprosesseja. |
Tehtävä | Ketterä prosessi keskittyy jatkuviin muutoksiin. | DevOps keskittyy jatkuvaan testaukseen ja toimitukseen. |
Toteutus | Ketterä menetelmä voidaan toteuttaa useissa taktisissa puitteissa, kuten sprintti, turvallinen ja rumpu. | DevOpsin ensisijainen tavoite on keskittyä yhteistyöhön, joten sillä ei ole yleisesti hyväksyttyä kehystä. |
Joukkueen taitosarja | Ketterä kehitys korostaa kaikkien tiimin jäsenten kouluttamista monenlaisten samanlaisten ja tasa-arvoisten taitojen saamiseksi. | DevOps jakaa ja levittää taitojoukon kehitys- ja käyttötiimien kesken. |
Joukkueen koko | Pieni joukkue on ketterän ytimessä. Mitä pienempi joukkue on, sitä vähemmän ihmisiä siinä, sitä nopeammin he voivat liikkua. | Suhteellisen suurempi joukkueen koko, koska siihen osallistuvat kaikki pinon haltijat. |
Kesto | Ketterää kehitystä hallitaan "sprinttien" yksiköinä. Tämä aika on paljon alle kuukausi jokaiselle sprintille. | DevOps pyrkii saavuttamaan määräajat ja vertailuarvot tärkeimmillä julkaisuilla. Ihanteellinen tavoite on toimittaa koodi tuotantoon PÄIVITTÄIN tai muutaman tunnin välein. |
Palaute | Asiakas antaa palautetta. | Palaute tulee sisäiseltä tiimiltä. |
Kohde-alueet | Ohjelmistokehitys | Täydellinen liiketoimintaratkaisu ja nopea toimitus. |
Vaihto-vasen-periaatteet | Käytä vipua vasemmalle | Hyödynnä molempia vuoroja vasemmalle ja oikealle. |
Korostus | Agile painottaa ohjelmistokehitysmenetelmiä ohjelmistojen kehittämiseksi. Kun ohjelmisto kehitetään ja julkaistaan, ketterä tiimi ei välitä, mitä sille tapahtuu. | DevOpsin tarkoituksena on ottaa ohjelmisto, joka on valmis julkaisua varten, ja asentaa se luotettavasti ja turvallisesti. |
Monitoiminen | Kaikkien tiimin jäsenten tulisi pystyä tekemään mitä projektin etenemiseen tarvitaan. Lisäksi kun jokainen tiimin jäsen voi suorittaa jokaisen työn, se lisää heidän välistä ymmärrystä ja sitoutumista. | DevOpsissa kehitysryhmät ja operatiiviset ryhmät ovat erillisiä. Joten, viestintä on melko monimutkaista. |
Viestintä | Scrum on yleisin tapa toteuttaa ketterä ohjelmistokehitys. Päivittäinen kokous pidetään. | DevOps-viestintään liittyy teknisiä tietoja ja suunnitteludokumentteja. Operatiivisen tiimin on välttämätöntä ymmärtää täysin ohjelmistoversio ja sen laitteisto- / verkkovaikutukset, jotta asennusprosessi voidaan suorittaa asianmukaisesti. |
Dokumentointi | Ketterä menetelmä on asettaa työjärjestelmä etusijalle täydelliseen dokumentointiin nähden. Se on ihanteellinen, kun olet joustava ja reagoiva. Se voi kuitenkin satuttaa, kun yrität antaa asioita toiselle tiimille käyttöönottoa varten. | DevOpsissa prosessidokumentaatio on ennen kaikkea, koska se lähettää ohjelmiston operatiiviselle ryhmälle käyttöönottoa varten. Automaatio minimoi riittämättömän dokumentoinnin vaikutukset. Monimutkaisten ohjelmistojen kehittämisessä on kuitenkin vaikea siirtää kaikkia tarvittavia tietoja. |
Automaatio | Ketterä ei korosta automaatiota. Vaikka se auttaa. | Automaatio on DevOpsin ensisijainen tavoite. Se toimii periaatteella maksimoidakseen tehokkuuden ohjelmistojen käyttöönotossa. |
Päämäärä | Se korjaa kuilun asiakkaiden tarpeiden sekä kehitys- ja testausryhmien välillä. | Se korjaa kehityksen + testauksen ja Opsin välisen kuilun. |
Keskity | Se keskittyy toiminnalliseen ja ei-toimintavalmiuteen. | Se keskittyy enemmän toimintavalmiuteen ja liiketoimintavalmiuteen. |
Merkitys | Ohjelmistojen kehittäminen on luontaista ketterälle. | Kehittäminen, testaus ja toteutus ovat kaikki yhtä tärkeitä. |
Nopeus vs. riski | Agileä käyttävät joukkueet tukevat nopeaa muutosta ja vankkaa sovellusrakennetta. | DevOps-menetelmässä tiimien on varmistettava, että arkkitehtuuriin tehdyt muutokset eivät koskaan aiheuta riskiä koko projektille. |
Laatu | Ketterä tuottaa parempia sovelluspaketteja, joilla on halutut vaatimukset. Se voi helposti sopeutua ajoissa projektien aikana tehtyjen muutosten mukaan. | DevOps sekä automaatio ja varhainen virheen poisto auttavat parantamaan laatua. Kehittäjien on noudatettava koodauksen ja arkkitehtuurin parhaita käytäntöjä säilyttääkseen laatustandardit. |
Käytetyt työkalut | JIRA, Bugzilla, Kanboard ovat suosittuja ketteriä työkaluja. | Puppet, Chef, TeamCity OpenStack, AWS ovat suosittuja DevOps-työkaluja. |
Haasteet | Ketterän menetelmän mukaan joukkueiden on oltava tuottavampia, mikä on vaikea sovittaa joka kerta. | DevOps-prosessin on kehitettävä, testattava ja tuotettava ympäristöjä työn virtaviivaistamiseksi. |
Etu | Ketterä tarjoaa lyhyemmän kehitysjakson ja paremman vikojen havaitsemisen. | DevOps tukee Agilen julkaisusykliä. |