De huvudskillnad mellan Agile och Devops är det Agile är inblandad i utveckling, testning, integration och implementering medan Devops är inblandad i utveckling, testning, integration, implementering och övervakning.
Programutveckling är en kontinuerlig process, som är utmanande såväl som högt krävande. Utvecklingsgrupper följer vissa steg under hela livscykeln för mjukvaruutveckling. Agile är en bättre utvecklingsmetod med flera fördelar. Det ger kundnöjdhet, flexibilitet för att ändra krav och sparar pengar. Trots att Agile minskar utvecklingstiden drastiskt, saknar den agility i verksamheten. Devops är ett alternativ till det här problemet. Det handlar om utveckling, testning, integration, implementering och drift efter att produkten har installerats. Det innebär kontinuerlig övervakning. I enkla ord ger Devops smidighet till både utveckling och verksamhet.
1. Vad är Agile
- Definition, Funktionalitet
2. Vad är Devops
- Definition, Funktionalitet
3. Skillnad mellan Agile och Devops
- Jämförelse av viktiga skillnader
Agile, Devops, Software Development
Agile är en ny mjukvaruutvecklingsmetodik. Det kräver inte en fast uppsättning krav innan du utvecklar programvaran, till skillnad från i traditionell vattenfallsmetod. En vattenfallsprocessmodell följer sekventiella steg. Trots att det var ett välorganiserat och strukturerat tillvägagångssätt, var det inte ett bättre tillvägagångssätt för mjukvaruutveckling. Det hade problem på budget, tid, omfattning och kvalitet. Ofta är slutprodukten inte vad kunden bad om. För att lösa dessa problem skapade ett team av mjukvaruingenjörer ett alternativt tillvägagångssätt. De kom fram med Agile Manifesto. Den fokuserar på 4 värden och 12 principer enligt följande:
Det är nödvändigt att ett mjukvaruprojekt följer ovanstående värderingar och principer om utvecklingsmetoden är smidig.
Figur 1: Agile Project Management
När du utvecklar programvara med Agile, tar utvecklare först en uppsättning krav. Dessa krav definieras, kodas och testas. Därefter möter laget kunden för att få feedback. I nästa iteration tas en ny uppsättning krav. På samma sätt definieras, kodas och testas de. Parallellt arbetar utvecklingsgruppen med de nödvändiga anpassningarna i tidigare feedback. Återigen möter de kunden för att få feedback. På samma sätt fortsätter denna process fram till framställning av slutprodukten.
Trots att Agile är en bättre utvecklingsmetod saknar den smidigheten i verksamheten. Devops är en lösning för att lösa problemet. Det är en mjukvaruutveckling som innebär kontinuerlig utveckling, kontinuerlig testning, kontinuerlig integration, kontinuerlig implementering och kontinuerlig övervakning under hela livscykeln för utveckling.
Figur 2: Steg i en Devops Tool Chain
Olika verktyg kan användas för att automatisera faserna i Devops. Git och SVN kan användas för Source Code Management. De bidrar till att upprätthålla koden under hela livscykeln. Olika versioner av koden kan lagras, och det är möjligt att återställa ändringar när som helst. Det finns verktyg som Maven, Gradle och ANT för att bygga. Dessa verktyg hjälper till att paketera koden i körbara filer så att de kan styras för testning. För kontinuerlig testning finns verktyg som Selen och JUnit. Jenkins kan användas för kontinuerlig integration. Docka, kock och SaltStack används för kontinuerlig utplacering. Slutligen kan verktyg som New Relic, Sensu och Nagios användas för kontinuerlig övervakning.
Agile är en metod för mjukvaruutveckling där krav och lösningar utvecklas genom samarbetsinsatserna hos självorganiserande och korsfunktionella team och deras kunder. Devops är en mjukvara ingenjörskultur och övning som syftar till att förena programvaruutveckling och mjukvaruoperation.
Agile innebär utveckling, testning, integration och implementering. Det utför inga operationer efter leverans av produkten. Å andra sidan involverar devops utveckling, testning, integration, implementering och operationer efter att produkten har implementerats. Det innebär kontinuerlig övervakning för att säkerställa att produkten fungerar bra.
Dessutom får Agile feedback från kunden. Devils får feedback från kunder såväl som från det interna laget.
Devops betonar mer om automatisering. Den använder fler öppna källverktyg för att minska den totala arbetsbelastningen.
Agile minimerar klyftan mellan kundbehov och utvecklings- och testlag. Devops minimerar klyftan mellan utveckling, testning och operationslag.
Agile involverar små lag medan Devops involverar större lag.
Både Agile och Devops är mjukvaruutvecklingsmetoder som hjälper till snabb utveckling av programvara. Skillnaden mellan Agile och Devops är att Agile innebär utveckling, testning, integration och implementering medan Devops involverar utveckling, testning, integration, implementering och övervakning. Vanligtvis är devops bättre än Agile.
1. Vad är Agile?, Agile ME, 7 Mar 2016, Tillgänglig här.
2. Agile Methodology, Tutorials Point (Indien) Pvt. Ltd., 4 Feb. 2017, Tillgänglig här.
3. Vad är devOps? | DevOps Training - DevOps Introduktion & Verktyg | DevOps Tutorial | Edureka, 15 september 2016, Tillgänglig här.
1. "Agile Project Management by Planbox" Genom Planbox - Egent arbete (CC BY-SA 3.0) via Commons Wikimedia
2. "Devils-toolchain" Av Kharnagy - Egent arbete (CC BY-SA 4.0) via Commons Wikimedia