This presentation brings together everything you need to know to be able to tackle architecture issues in companies calmly, on systems that can be complex. It is derived directly from state of the art and is validated by our years of experience with customers.
During this course you will :
- Become acquainted with the main architectural patterns and styles and the state of the art
- Design, document and present a pragmatic architecture
- Solve the main problems of an architecture in production
- Identify couplings and modularity criteria
- Decouple components and manage scalability and availability
- Gain an overview of the entire software system
Presented by experts with extensive personal experience in architecture in different contexts, this course mixes theoretical presentations with exercises that will enable participants to really get involved and intensify their understanding.
Architecture in a corporate or business context involves highly technical factors, as well as significant human issues; this is why this course covers both of these facets, in order to provide a complete overview of the topic.
Introduction to Architecture
- The multiple definitions of technical architecture: a question of stability, large scale, shared knowledge, irreversible decisions
- Architecture as a means of aligning a company’s objectives with its information systems
- Architecture as implementation styles
- Global vs. local architecture, Umbrella diagrams
Overview of architectural styles
- Hexagonal Architecture
- Event-Driven Architecture
- Enterprise Integration Patterns (EIP, Greqor Hohpe), Integration styles
- PoEAA (Fowler)
- API design
- Emerging Architecture
- Configuration, Discovery
- Asynchronous messaging
- Service security (A&A, OAuth2, attacks/defences)
- Data consistency: Golden Source, replication, autonomy vs. authority
- Fault-tolerance, load balancing
- Stateless vs statefull, consequences, stickiness & affinity, managing sessions
- Logging & tracing guidelines
- Monitoring: guidelines, tools, alerting
- Integration in practice: reconciliation, data migration
- Test-Driven Architecture, metrics, static analysis
- The importance of communication in architecture, techniques and tips
- Living Documentation applied to architecture : Evergreen Overview Document, Internal Documentation with annotations and coding conventions
- Living Diagrams generated with each build
Legacy migration patterns
- Extension by Federated Service
- Strangler Application
- Legacy Read Model
Architecture & SDGs
- Overview of Bounded Contexts and Context Mapping
- Overview of Large-Scale Structures of DDD
This course is aimed at experienced developers, team leads, architect managers, but also at experienced or aspiring architects.
- Knowledge of different programming languages with good object design skills.
- Previous experience in software development.
- Participants must have a workstation with a development environment.
The trainers will distribute the teaching materials in PDF form at the end of the course.
30% Theoretical, 70% Practical