Under kursen går vi igenom beprövade lösningar för hållbara system: testdriven utveckling, domändriven design, services, event-sourcing och en mängd andra mönster. Målet är att ge dig en djup förståelse, så att du sedan kan komma tillbaka till ditt eget projekt och applicera dessa lösningar.
Arkitektur är ofta vad som skiljer ett lyckat projekt från kaos. Moderna system lägger höga krav på arkitekten och utvecklarna.
De ska vara:
- persistenta, och inte tappa information
- tillgängliga och klara belastningstoppar
- lätta att integrera med andra system
- distribuerade (ibland)
- säkra
- testbara
- lätta att bygga ut och förvalta
Alla känner till problemen, men de traditionella lösningarna som lärs ut brukar leda till stora system med stora problem. Den här kursen lär dig alternativa mönster, saknade pusselbitar, och att det finns fler sätt att lösa problemen.
Vi får ofta höra att denna kurs erbjuder saker som andra kurser inte har. Det beror på att vi har utformat den utifrån många års erfarenhet i storskaliga projekt i industrin.
Utvecklare och arkitekter som ska designa system eller ikläda sig arkitektrollen i sitt projekt.
Ett par års utveckling. Gärna i något objektorienterat språk (som Java, C#, C++). Kursen är dock språk- och plattformsoberoende.
The Role of The Architect
- Why design matters
- Complexity
- The architect’s place in the team
- Why architecture is hard
- Visualizing architecture
Build and deployment
- Continuous Integration and Deployment
- Feature flags
- Securing our build and dependencies
Domain Driven Design (DDD)
- Bounded contexts
- Ubiquitous language
- Entity and value objects
- Invariants
- Aggregates
- Context mapping
Event Storming
- Introduction to running Event Storming sessions to explore, discover and model a domain.
Database architecture
- CAP theorem
- ORM mapping
- NoSQL databases
Event sourcing
- Using events as the source of truth
- Possibilities with Event Sourcing
- Implementing Event Sourcing
Reads vs Writes
- Separating reads from writes
- Normalized vs denormalized data
- Implementing the read and write side
CQRS
- Command-Query Separation (CQS)
- Command Query Responsibility Segregation (CQRS)
- CQRS , vs Event Sourcing vs DDD
Behavior Driven Development
- Introduction to BDD
- Writing tests closer to the domain
- Writing BDD tests with command and events
Event Modeling
- Introduction on how to model our design using the event modeling technique.
Architectural concepts
- Transactions
- Outbox pattern
- Exact once delivery
- Idempotency
- Guaranteed ordering
- Consistency
- Data truth
Resilient systems
- Retries
- Circuit breakers
- Resilience patterns
- Chaos Engineering
Monolith and Micro Services
- Why do we fail with the monolith?
- How can we improve it?
- Composition
- Micro frontends
- Micro-services
- Slicing our architecture
- Event Aggregator pattern
För oss är det viktigt att de som går utbildning med oss är nöjda och får med sig nya saker att implementera i sin vardag. Vill du veta omdöme på en specifik kurs? Kontakta oss gärna.
Jag skulle rekommendera kursen vidare och ger den 5 av 5! Bra att det var hands-on nästan hela tiden.
Att tillämpa våra nya kunskaper i övningarna och det faktum att läraren var mycket kunnig och kunde ge exempel på alla frågor.
Det var riktigt trevligt med halvdagar. Det var också väldigt bra att läraren lärde sig under kursens gång vad och hur mycket vi kan och anpassade tempot därefter.
Jag är glad att jag deltog i denna kurs och kursmaterialet är det senaste och övningarna är bra.