{"product_id":"software-architecture-with-c-andrey-gavrilin-9781803243016","title":"Software Architecture with C++ - Second Edition: Designing robust C++ systems with modern architectural practices","description":"\u003cp\u003e\u003cstrong\u003eArchitect high-quality C++ applications using modern features and patterns, with expanded coverage and practical new examples throughout the book.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eFree with your book: PDF Copy, AI Assistant, and Next-Gen Reader\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eKey Features: \u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e- Design modern C++ systems using features from C++11 through C++20 and beyond\u003c\/p\u003e\u003cp\u003e- Explore distributed system design with observability, scalability, and maintainability in mind\u003c\/p\u003e\u003cp\u003e- Manage and package C++ applications, and prepare them for deployment using CMake, Conan, and CI\/CD\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eBook Description: \u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003eDesigning scalable and maintainable software with C++ requires more than language expertise-it demands strong architectural thinking. This practical guide equips you with the skills to design and build robust, distributed systems using modern C++.\u003c\/p\u003e\u003cp\u003eStarting with fundamental architectural principles and design philosophies, the book walks you through practical approaches to designing and deploying reliable systems. This edition contains significant updates across the book, including new chapters on observability, package management, and C++ modules to address real-world software challenges. You will explore software decomposition strategies, design and system patterns, fault tolerance, API management, and testability-all applied with C++.\u003c\/p\u003e\u003cp\u003eAdditionally, the book covers modern CI\/CD pipelines, cloud-native design, microservices, and modular development, helping developers navigate today's fast-evolving software landscape. With updated examples and a renewed emphasis on maintainable and observable architectures, this edition equips C++ professionals to architect modern systems. By the end of this book, you will be able to design, build, test, and deploy well-architected solutions using modern C++ and proven architectural techniques.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eWhat You Will Learn: \u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e- Apply architectural fundamentals to design scalable C++ systems\u003c\/p\u003e\u003cp\u003e- Use modern C++ features to create maintainable and secure applications\u003c\/p\u003e\u003cp\u003e- Implement architectural and system design patterns\u003c\/p\u003e\u003cp\u003e- Design testable code and automate quality checks via CI\/CD pipelines\u003c\/p\u003e\u003cp\u003e- Manage dependencies and build systems using CMake and Conan\u003c\/p\u003e\u003cp\u003e- Explore microservices, containers, and cloud-native practices in C++\u003c\/p\u003e\u003cp\u003e- Improve observability with logging, tracing, and monitoring tools\u003c\/p\u003e\u003cp\u003e- Build deployable C++ systems suited for modern development environments\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eWho this book is for: \u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003eThis book is intended for experienced C++ developers and software engineers aiming to expand their architectural knowledge, lead software projects, or build scalable systems. It assumes readers are comfortable with modern C++ (C++11 onwards) and familiar with basic design principles and patterns.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eTable of Contents\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e- Importance of Software Architecture and Principles of Great Design\u003c\/p\u003e\u003cp\u003e- Architectural Styles\u003c\/p\u003e\u003cp\u003e- Functional and Nonfunctional Requirements\u003c\/p\u003e\u003cp\u003e- Architectural and System Design Patterns\u003c\/p\u003e\u003cp\u003e- Leveraging C++ Language Features\u003c\/p\u003e\u003cp\u003e- Design Patterns and C++ Idioms\u003c\/p\u003e\u003cp\u003e- Building and Packaging\u003c\/p\u003e\u003cp\u003e- Package Management\u003c\/p\u003e\u003cp\u003e- The Future of C++ Code Reuse: Using Modules\u003c\/p\u003e\u003cp\u003e- Writing Testable Code\u003c\/p\u003e\u003cp\u003e- Continuous Integration and Continuous Deployment\u003c\/p\u003e\u003cp\u003e- Security in Code and Deployment\u003c\/p\u003e\u003cp\u003e- Performance\u003c\/p\u003e\u003cp\u003e- Architecture of Distributed Systems\u003c\/p\u003e\u003cp\u003e- Interservice Communication\u003c\/p\u003e\u003cp\u003e- Containers\u003c\/p\u003e\u003cp\u003e- Observability\u003c\/p\u003e\u003cp\u003e- Cloud-Native Design\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAuthor:\u003c\/b\u003e Andrey Gavrilin,Adrian Ostrowski,Piotr Gaczkowski\u003cbr\u003e\u003cb\u003eISBN-10:\u003c\/b\u003e 1803243015\u003cbr\u003e\u003cb\u003eISBN-13:\u003c\/b\u003e 9781803243016\u003cbr\u003e\u003cb\u003ePublisher:\u003c\/b\u003e Packt Publishing\u003cbr\u003e\u003cb\u003eLanguage:\u003c\/b\u003e English\u003cbr\u003e\u003cb\u003ePublished:\u003c\/b\u003e 12\/23\/2025\u003cbr\u003e\u003cb\u003ePages:\u003c\/b\u003e 738\u003cbr\u003e\u003cb\u003eFormat:\u003c\/b\u003e Paperback\u003cbr\u003e\u003cb\u003eWeight:\u003c\/b\u003e 2.75lbs\u003cbr\u003e\u003cb\u003eSize:\u003c\/b\u003e 9.25h x 7.50w x 1.47d","brand":"Andrey Gavrilin","offers":[{"title":"Paperback","offer_id":48066816344319,"sku":"9781803243016","price":44.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0662\/2982\/9887\/files\/img_a3dea3a2-2f5a-4ef5-b2b6-6383e0e83b4e.jpg?v=1768680710","url":"https:\/\/www.whiterainbookhouse.com\/products\/software-architecture-with-c-andrey-gavrilin-9781803243016","provider":"WR Book House","version":"1.0","type":"link"}