Delve into the second edition to master serverless proficiency and explore new chapters on security techniques, multi-regional deployment, and optimizing observability.
Key Features
- Gain insights from a seasoned CTO on best practices for designing enterprise-grade software systems
- Deepen your understanding of system reliability, maintainability, observability, and scalability with real-world examples
- Elevate your skills with software design patterns and architectural concepts, including securing in-depth and running in multiple regions.
Book Description
Organizations undergoing digital transformation rely on IT professionals to design systems to keep up with the rate of change while maintaining stability. With this edition, enriched with more real-world examples, you’ll be perfectly equipped to architect the future for unparalleled innovation.
This book guides through the architectural patterns that power enterprise-grade software systems while exploring key architectural elements (such as events-driven microservices, and micro frontends) and learning how to implement anti-fragile systems.
First, you’ll divide up a system and define boundaries so that your teams can work autonomously and accelerate innovation. You’ll cover the low-level event and data patterns that support the entire architecture while getting up and running with the different autonomous service design patterns.
This edition is tailored with several new topics on security, observability, and multi-regional deployment. It focuses on best practices for security, reliability, testability, observability, and performance. You’ll be exploring the methodologies of continuous experimentation, deployment, and delivery before delving into some final thoughts on how to start making progress.
By the end of this book, you’ll be able to architect your own event-driven, serverless systems that are ready to adapt and change.
What you will learn
- Explore architectural patterns to create anti-fragile systems.
- Focus on DevSecOps practices that empower self-sufficient, full-stack teams
- Apply microservices principles to the frontend
- Discover how SOLID principles apply to software and database architecture
- Gain practical skills in deploying, securing, and optimizing serverless architectures
- Deploy a multi-regional system and explore the strangler pattern for migrating legacy systems
- Master techniques for collecting and utilizing metrics, including RUM, Synthetics, and Anomaly detection.
Who this book is for
This book is for software architects who want to learn more about different software design patterns and best practices. This isn’t a beginner’s manual – you’ll need an intermediate level of programming proficiency and software design experience to get started.You’ll get the most out of this software design book if you already know the basics of the cloud, but it isn’t a prerequisite.
Table of Contents
- Architecting for Innovations
- Defining Boundaries and Letting Go
- Taming the Presentation Tier
- Trusting Facts and Eventual Consistency
- Turning the Cloud into the Database
- A Best Friend for the Frontend
- Bridging Intersystem Gaps
- Reacting to Events with More Events
- Running in Multiple Regions
- Securing Autonomous Subsystems in Depth
- Choreographing Deployment and Delivery
- Optimizing Observability
- Don’t Delay, Start Experimenting
Review
“I can solidly recommend this book! [It] takes a cohesive approach to not only the technology itself, but the design patterns and wider SDLC that should be considered to deliver a complete solution. You can see the author is aware of evidence-based approaches to process (i.e. Forsgren, Humble, Kim). I also appreciate how they went in-depth into […] not only your standard frontend to backend dissection, but also scaling, decoupling, multi-region, intersystem concerns, events, [and] observability.”
Heather Barron, Vice President, Enterprise Architecture at United Talent Agency
“This book is a remarkable resource for anyone involved in designing, implementing, and managing distributed systems. Despite years of experience in the field, I found this book thronged with valuable insights and knowledge. Each chapter flows seamlessly, offering clear explanations along with numerous added examples that make complex concepts easy to understand.
The accompanying code samples are both comprehensive and elegantly crafted. Overall, this is an outstanding book and highly recommended for readers of all levels of experience.”
Jesse Johnson, Global Engineering Director, PriceSpider
About the Author
John Gilbert is a CTO with over 30 years of experience in architecting and delivering software systems across many industries. His cloud journey has spanned all the levels of cloud maturity, from lift and shift and software-defined infrastructure to microservices and continuous deployment. He was an early serverless adopter and put his first serverless workloads into production just months after AWS Lambda’s introduction. He has also authored Cloud Native Development Patterns and Best Practices and JavaScript Cloud Native Development Cookbook. He finds delivering serverless solutions to be, by far, the most fun and satisfying, as they force us to rewire how we reason about systems and enable us to accomplish far more with much less effort and risk.