De hovedforskjell mellom Agile og Devops er det Agile er involvert i utvikling, testing, integrering og distribusjon mens Devops er involvert i utvikling, testing, integrering, distribusjon og overvåking.
Programvareutvikling er en kontinuerlig prosess, som er utfordrende og svært krevende. Utviklingslag følger visse trinn i hele livscyklusen for programvareutvikling. Agile er en bedre utviklingsmetode med flere fordeler. Det gir kundetilfredshet, fleksibilitet for å endre krav og sparer penger. Selv om Agile reduserer utviklingsperioden drastisk, mangler den fleksibilitet i drift. Devops er et alternativ til dette problemet. Det innebærer utvikling, testing, integrasjon, distribusjon og drift etter distribusjon av produktet. Det innebærer kontinuerlig overvåkning. I enkle ord bringer Devops smidighet til både utvikling og drift.
1. Hva er Agile
- Definisjon, funksjonalitet
2. Hva er Devops
- Definisjon, funksjonalitet
3. Forskjellen mellom agile og devops
- Sammenligning av nøkkelforskjeller
Agile, Devops, Software Development
Agile er en ny programvareutviklingsmetode. Det krever ikke et fast sett av krav før du utvikler programvaren, i motsetning til tradisjonell fossen metode. En vannfallsprosessmodell følger sekvensielle trinn. Selv om det var en velorganisert og strukturert tilnærming, var det ikke en bedre tilnærming til programvareutvikling. Det hadde problemer på budsjett, tid, omfang og kvalitet; Ofte er sluttproduktet ikke det kunden ba om. For å overvinne disse problemene opprettet et team av programvareingeniører en alternativ tilnærming. De kom opp med Agile Manifesto. Det fokuserer på 4 verdier og 12 prinsipper som følger:
Det er nødvendig for et programvareprosjekt å følge ovennevnte verdier og prinsipper dersom utviklingsmetoden er fleksibel.
Figur 1: Agile prosjektledelse
Når du utvikler programvare ved hjelp av Agile, tar utviklere først et sett av krav. Disse kravene er definert, kodet og testet. Deretter møter teamet kunden for å få tilbakemelding. I neste iterasjon tas et nytt sett med krav. På samme måte er de definert, kodet og testet. Parallelt jobber utviklingslaget også med de nødvendige tilpasningene i forrige tilbakemelding. Igjen møter de kunden for å få tilbakemelding. På samme måte fortsetter denne prosessen til å produsere sluttproduktet.
Selv om Agile er en bedre utviklingstilnærming, mangler den fleksibilitet i drift. Devops er en løsning for å overvinne dette problemet. Det er en programvareutviklingstilnærming som involverer kontinuerlig utvikling, kontinuerlig testing, kontinuerlig integrasjon, kontinuerlig distribusjon og kontinuerlig overvåkning gjennom hele utviklingslivet.
Figur 2: Stages i en Devops Tool Chain
Ulike verktøy kan brukes til å automatisere stadiene i Devops. Git og SVN kan brukes til Source Code Management. De bidrar til å opprettholde koden gjennom hele utviklingslivet. Ulike versjoner av koden kan lagres, og det er mulig å tilbakestille endringer når som helst. Det finnes verktøy som Maven, Gradle og ANT for bygging. Disse verktøyene bidrar til å pakke koden til kjørbare filer slik at de kan styres for testing. For kontinuerlig testing er det verktøy som Selen og JUnit. Jenkins kan brukes til kontinuerlig integrering. Dukke, kokk og SaltStack brukes til kontinuerlig distribusjon. Endelig kan verktøy som New Relic, Sensu og Nagios brukes til kontinuerlig overvåking.
Agile er en metode for programvareutvikling hvor krav og løsninger utvikler seg gjennom samarbeidet mellom selvorganiserende og kryssfunksjonelle lag og deres kunder. Devops er en programvare engineering kultur og praksis som tar sikte på å forene programvareutvikling og programvare drift.
Agile innebærer utvikling, testing, integrasjon og distribusjon. Det utfører ikke noen operasjoner etter levering av produktet. På den annen side involverer Devops utvikling, testing, integrasjon, distribusjon og operasjoner etter distribusjon av produktet. Det innebærer kontinuerlig overvåkning for å sikre at produktet fungerer bra.
Videre får Agile tilbakemelding fra kunden. Devops får tilbakemelding fra kunder og fra internt team.
Devops legger vekt på mer på automatisering. Den bruker flere åpen kildekodeverktøy for å redusere den totale arbeidsbelastningen.
Agile minimerer gapet mellom kundebehov og utvikling og testingsteam. Devops minimerer gapet mellom utvikling, testing og driftsteam.
Agile innebærer små lag mens Devops involverer større lag.
Både Agile og Devops er programvareutviklingsmetoder som bidrar til rask programvareutvikling. Forskjellen mellom Agile og Devops er at Agile innebærer utvikling, testing, integrasjon og distribusjon mens Devops involverer utvikling, testing, integrasjon, distribusjon og overvåking. Vanligvis er Devops bedre enn Agile.
1. Hva er Agile ?, Agile ME, 7 Mar. 2016, Tilgjengelig her.
2. Agile Methodology, Tutorials Point (India) Pvt. Ltd., 4. februar 2017, tilgjengelig her.
3. Hva er devOps? | DevOps Training - DevOps Introduksjon og verktøy | DevOps Tutorial | Edureka, 15. september 2016, Tilgjengelig her.
1. "Agile Project Management by Planbox" Av Planbox - Eget arbeid (CC BY-SA 3.0) via Commons Wikimedia
2. "Devops-toolchain" Av Kharnagy - Eget arbeid (CC BY-SA 4.0) via Commons Wikimedia