Chapter 1, Importance of Software Architecture and Principles of Great Design, looks at why we design software in the first place.
Chapter 2, Architectural Styles, covers the different approaches you can take in terms of architecture.
Chapter 3, Functional and Nonfunctional Requirements, explores understanding the needs of clients.
Chapter 4, Architectural and System Design, is all about creating effective software solutions.
Chapter 5, Leveraging C++ Language Features, gets you speaking native C++.
Chapter 6, Design Patterns and C++, focuses on modern C++ idioms and useful code constructs.
Chapter 7, Building and Packaging, is about getting code to production.
Chapter 8, Writing Testable Code, teaches you how to find bugs before the clients do.
Chapter 9, Continuous Integration and Continuous Deployment, introduces the modern way of automating software releases.
Chapter 10, Security in Code and Deployment, is where you will learn how to make sure it's hard to break your systems.
Chapter 11, Performance, looks at performance (of course!). C++ should be fast – can it be even faster?
Chapter 12, Service-Oriented Architecture, sees you building systems based on services.
Chapter 13, Designing Microservices, focuses on doing one thing only – designing microservices.
Chapter 14, Containers, gives you a unified interface to build, package, and run applications.
Chapter 15, Cloud-Native Design, goes beyond traditional infrastructure to explore cloud-native design.