Introduktion
Den här modulen introducerar distributionsmönster och förklarar arkitekturen för mikrotjänster för att förbättra distributionscykeln och undersöka klassiska och moderna distributionsmönster.
Kontinuerlig leverans är en förlängning av kontinuerlig integrering. Det handlar om att snabbt få nya kunder och använda hållbara metoder.
Kontinuerlig leverans går längre och ändringar som skickas via produktionspipelines släpps till kunder.
Kontinuerlig leverans är mer än versionshantering.
Kontinuerlig leverans handlar om processen, personerna och de verktyg som du behöver för att se till att du kan leverera din programvara på begäran.
Distribution är bara ett steg i processen för kontinuerlig leverans. För att distribuera på begäran eller flera gånger om dagen måste alla förutsättningar vara uppfyllda.
Till exempel:
Teststrategi
Din teststrategi bör vara på plats. Om du behöver köra många manuella tester för att verifiera din programvara är det en flaskhals för att leverera på begäran.
Kodningsmetoder
Om programvaran inte är skriven på ett säkert och underhållsbart sätt är chansen stor att du inte kan upprätthålla en hög lanseringstakt.
När programvaran är komplex på grund av en stor mängd teknisk skuld är det svårt att snabbt och tillförlitligt ändra koden.
Att skriva programvara av hög kvalitet och högkvalitativa tester är en viktig del av kontinuerlig leverans.
Arkitektur
Programmets arkitektur är alltid viktig. Men när du implementerar kontinuerlig leverans är det kanske ännu mer så.
Om programvaran är en monolit med många nära kopplingar mellan de olika komponenterna är det svårt att leverera programvaran kontinuerligt.
Varje del som ändras kan påverka andra delar som inte har ändrats. Automatiserade tester kan spåra många av dessa oväntade beroenden, men det är fortfarande svårt.
Det finns också tidsaspekten när du arbetar med olika team. När Team A förlitar sig på team B:s tjänst kan team A inte leverera förrän team B är klart. Det medför en annan begränsning för leverans.
Kontinuerlig leverans för stora programvaruprodukter är komplex.
För mindre delar är det enklare. Så att dela upp din programvara i mindre, oberoende bitar är en bra lösning i många fall.
En metod för att lösa dessa problem är att implementera mikrotjänster.
Kontinuerlig integrering är en av huvudpelarna i DevOps.
När du har koden i ett versionskontrollsystem behöver du ett automatiserat sätt att integrera koden kontinuerligt.
Azure Pipelines kan användas för att skapa en komplett plattformsoberoende CI- och CD-tjänst.
Den fungerar med din önskade Git-provider och kan distribueras till de flesta större molntjänster, inklusive Azure.
Den här modulen beskriver den kontinuerliga integreringspraxis och grundpelarna för att implementera den i utvecklingslivscykeln, dess fördelar och egenskaper.
Utbildningsmål
När du har slutfört den här modulen kan studenter och proffs:
- Beskriv distributionsmönster.
- Förklara arkitekturen för mikrotjänster.
- Förstå klassiska och moderna distributionsmönster.
- Planera och utforma din arkitektur.
Förutsättningar
- Förstå vad DevOps är och dess begrepp.
- Kunskaper om principer för versionskontroll är användbara, men det är inte nödvändigt.
- Bra att ha erfarenhet av en organisation som levererar programvara.