Skip to content
O'Reilly home
Learning Path

Software Architecture Fundamentals—Architecture Styles

Time to complete: 3h 39m

Published byO'Reilly Media, Inc.

CreatedJanuary 2020

In this learning path, the second in a series of six on software architecture fundamentals, your hosts, Neal Ford and Mark Richards, delve deeper into the specific skills and knowledge you’ll need to become an effective, successful software architect. You’ll examine common architectural styles that you’ll need to fully understand in order to properly apply them in your designs. This learning path builds upon Architectural Thinking, the first in this series, with a detailed look at several widely used models that you’ll encounter across a broad range of industries, platforms, and frameworks.

What you’ll learn—and how you can apply it

In Part 2 of this learning path series, you’ll learn what each of the following styles are and how and when to apply them within your software designs:

  • Layered architecture
  • Microkernel architecture
  • Event-driven architecture
  • Pipeline architecture
  • Space-based architecture
  • Microservices architecture
  • Service-based architecture
  • Service-oriented architecture
  • Serverless architecture
  • LMAX

Exercises included

  • Guided Exercise: Selecting an Architecture Style
  • Self-Paced Exercise: Selecting an Architecture Style

This learning path is for you because…

  • You're a senior-level developer who wants to become a software architect
  • You're a junior architect new to the role who wants to delve deeper


  • You should have knowledge of development workflows and programming experience

Materials or downloads needed in advance: None

Other learning paths in this series: