Software Architecture

20900 kr

How do you avoid making your project a big ball of mud? How do you balance a wide range of design concerns and constraints? How do you map customer requirements to working software?

This course provides you with the means and methods to face these challenges.

Kategorier: , , ,

Beskrivning

Architecture is often what separates a successful project from chaos. Modern systems place high demands on the architect and the developers.

They should be

  • persistent, and not lose information

  • available and clear load peaks

  • easy to integrate with other systems

  • distributed (sometimes)

  • secure

  • testable

  • easy to expand and manage

Everyone knows the problems, but the traditional solutions that are taught usually lead to big systems with big problems. This course teaches you alternative patterns, missing pieces of the puzzle, and that there are more ways to solve the problems.

We are often told that this course offers things that other courses do not have. This is because we have designed it based on many years of experience in large-scale projects in the industry.

What you will learn

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

 

Kursen levereras i samarbete med

Edument

Kontakta oss om denna kurs

Ytterligare information

Kurslängd

2 dagar

Lärarledd

Ja

Språk

Svenskt tal, material på engelska

Recensioner

Det finns inga recensioner än.

Endast inloggade kunder som har köpt denna produkt får lämna en recension.