Contract first
Att arbeta contract first innebär att definiera och använda kontrakt som ett medel för att tydligt specificera hur olika system eller team ska kommunicera med varandra. Det innebär att kontraktet – ofta i form av ett API-schema eller en gränssnittsdefinition – tas fram innan implementering påbörjas.
Det är särskilt viktigt att ha en strategi för versionshantering av kontrakten, så att förändringar inte påverkar andra team negativt. Du bör också kunna hantera flera kontrakt parallellt, exempelvis vid stöd för olika versioner av ett API eller när flera integrationer är i drift samtidigt.
En genomtänkt contract first-strategi skapar förutsättningar för effektiv utveckling, testbarhet och oberoende leveranser mellan team.
Kursmål
Målet med kursen är att ge deltagarna:
Färdigheter att arbeta med kontrakt: Lär sig hur man skapar, versionerar och hanterar kontrakt för distribuerade system.
Kunskap om versionshantering och migrering: Förstå hur man hanterar förändringar i kontrakt utan att störa produktion.
Kompetens i kontraktsvalidering och CI/CD: Bygga och implementera automatiserade tester för att validera kontrakt i CI/CD-pipelines.
Förmåga att samarbeta effektivt med andra team: Skapa dokumentation och processer som förenklar samarbete och säkerställer att tjänster är kompatibla.
Sammanfattning
Förbättrad kommunikation: Kontrakt fungerar som tydliga gränssnitt mellan team, vilket minskar missförstånd och förbättrar samarbetet.
Ökad effektivitet: Genom att använda kontrakt kan team arbeta parallellt utan att vänta på varandra.
Stabilare system: Kontraktsvalidering och testning säkerställer att förändringar inte orsakar oväntade problem i produktion.
Flexibilitet vid förändringar: Versionshantering av kontrakt gör det enkelt att hantera nya funktioner och migreringar.
Minskad risk för breaking changes: Strategier för att hantera och minimera påverkan av stora ändringar på befintliga system.
Förkunskaper
Git: Erfarenhet av versionhantering
Java och Spring Boot: Grundläggande till avancerade kunskaper i backend-utveckling.
Kubernetes: Grundläggande förståelse för containerhantering och orkestrering.
Vem riktar sig kursen mot
Denna kurs är utformad för att lära deltagarna hur man använder kontrakt för att förbättra kommunikationen mellan team, hantera versionshantering och arbeta med flera kontrakt samtidigt. Kursen är praktiskt inriktad och syftar till att stärka samarbete och leveranssäkerhet i distribuerade system.
Kursinnehåll
Introduktion till kontraktsdriven utveckling
Vad är kontrakt och varför är de viktiga i distribuerade system?
Fördelarna med kontrakt som ett verktyg för att säkerställa tydlig kommunikation mellan team.
Bygga och använda kontrakt
Skapa API-kontrakt med verktyg som OpenAPI (Swagger) och Pact.
Använda kontrakt för att definiera och validera tjänstegränssnitt mellan team.
Hantera versionshantering av kontrakt
Strategier för att hantera förändringar i kontrakt och upprätthålla kompatibilitet.
Användning av semantisk versionering för att kommunicera ändringar i kontrakt.
Arbeta med flera kontrakt samtidigt
Tekniker för att hantera olika versioner av kontrakt parallellt i utveckling och produktion.
Automatisering av testning och validering för flera kontrakt.
Kontraktsvalidering och testning
Bygga tester för att säkerställa att tjänster följer kontrakten.
Automatisera kontraktstestning med Pact för att förbättra pipeline-kvaliteten.
Integrering av kontrakt i CI/CD-pipelines
Implementera kontraktstester i CI/CD-pipelines för att automatiskt validera tjänstegränssnitt.
Använda Git för att hantera kontraktens versionshistorik och integration med andra teams pipelines.
Hantera breaking changes och migreringar
Strategier för att introducera och hantera breaking changes i kontrakt utan att påverka driftsmiljön.
Migrering mellan kontraktsversioner med minimal påverkan på produktionen.
Dokumentation och samarbete med andra team
Skapa lättillgänglig dokumentation för kontrakt som är användbar för andra team.
Användning av centrala lagringsplatser och verktyg för att dela kontrakt och uppdateringar.
Lärdomar från verkliga scenarier
Genomgång av verkliga projekt där kontraktsdriven utveckling har implementerats framgångsrikt.
Diskussion om vanliga utmaningar och hur man övervinner dem.
Praktiskt projekt: Implementera kontraktsdriven utveckling
Deltagarna designar, versionerar och hanterar ett kontrakt för en tjänst i ett distribuerat system.
Feedback och förbättringsförslag på implementeringen.
Övningar
Teoretiska och praktiska.

Kort Presentation om Sensera


Automatiserade kurser
Vi erbjuder automatiserade kurser

Handledning via zoom
Få handledning på distans via zoom

Handledning på plats
Boka upp en föreläsning på plats
Handledning
Du är välkommen att kontakt oss, för att boka tider med lärare.
För att boka handledning/coaching på distans kontaktar du oss på: [email protected]
Företag
För företag, som vill ha faktura och/eller boka flera utbildningar och/eller grupper. Kontakta oss, så planerar vi anpassade lösningar. [email protected]
Priser
Handledning till denna kurs finns att köpa separat via zoom
- 390 SEK / 30 min. 1 till 1 handledning.
- 250 SEK / 30 min per person. 2 till 10 personer. Grupp handledning.
- 19 900 SEK Grupphandledning 3 dagar per person
- 19 900 SEK Utbildning på plats 3 dagar per person
Boka på: [email protected]