Architectural Thinking Workshop
Architectural thinking is seeing things with a “software architect’s eye”, similar to how a meteorologists, artists, and mariners see clouds with a different point of view and with different meaning. Architectural thinking isn’t just for architects – senior developers and tech leads can apply architectural thinking into their daily activities as well to better understand the architectural implications of decisions they make.
In this hands-on class you’ll learn what architectural thinking is and how to apply this kind of thinking to your daily work and activities, regardless of your role or title. In the first part of the class you’ll learn how to identify and define various architecture characteristics and learn why they are so important, how to expand your technical breadth to help think architecturally, lean how source code translates to architectural components, and also learn techniques for doing modern tradeoff analysis.
Understanding about various architecture styles is a critical part of thinking architecturally, particularly when either selecting an architecture for a new system or validating an architecture for existing systems. In the second part of the class you’ll learn about various architecture styles, including monolithic architectures, microservices, space-based architecture, event- driven architecture, and service-based architecture. You’ll gain an understanding of how they work, when to use them, and when to not use them.
Workshop Topics and duration:
Part One: Elements of Architectural Thinking
- What is software architecture?
- Architecture vs. design
- Hands-on exercises: Distinguishing architecture from design
- Understanding technical depth vs. breadth
- Identifying architecture characteristics
- Hands-on exercises: Identifying architecture characteristics
- Understanding architectural components
- Techniques for modern tradeoff analysis
Part Two: Architecture Styles
- Architecture styles vs. patterns
- Domain to architecture isomorphism
- Domain vs. technical partitioning
- Classifying architecture styles
- Layered n-tiered architecture
- Modular monolith
- Microkernel architecture
- Microservices architecture
- Service-based architecture
- Service-oriented architecture
- Event-driven architecture
- Space-based architecture
- Hands-on exercises: Choosing the right architecture
**Exempt training services in accordance with article 20.9 of VAT Law 37/1992