Software Architecture Patterns for Serverless Systems: Architecting for innovation with events, autonomous services, and micro frontends
Description:
A professional's guide to solving complex problems while designing modern softwareKey Features* Learn best practices for designing enterprise-grade software systems* Understand the importance of building reliable, maintainable, and scalable systems* Become a professional software architect by learning the most effective software design patterns and architectural conceptsBook DescriptionAs businesses are undergoing a digital transformation to keep up with competition, it is now more important than ever for IT professionals to design systems to keep up with the rate of change while maintaining stability.This book takes you through the architectural patterns that power enterprise-grade software systems and the key architectural elements that enable change such as events, autonomous services, and micro frontends, along with demonstrating how to implement and operate anti-fragile systems. You'll divide up a system and define boundaries so that teams can work autonomously and accelerate the pace of innovation. The book also covers low-level event and data patterns that support the entire architecture, while getting you up and running with the different autonomous service design patterns. As you progress, you'll focus on best practices for security, reliability, testability, observability, and performance. Finally, the book combines all that you've learned, explaining the methodologies of continuous experimentation, deployment, and delivery before providing you with 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 so that you can deliver value at the pace needed by your business.What you will learn* Explore architectural patterns to create anti-fragile systems that thrive with change* Focus on DevOps practices that empower self-sufficient, full-stack teams* Build enterprise-scale serverless systems* Apply microservices principles to the frontend* Discover how SOLID principles apply to software and database architecture* Create event stream processors that power the event sourcing and CQRS pattern* Deploy a multi-regional system, including regional health checks, latency-based routing, and replication* Explore the Strangler pattern for migrating legacy systemsWho this book is forThis book is for software architects and aspiring software architects who want to learn about different patterns and best practices to design better software. Intermediate-level experience in software development and design is required. Beginner-level knowledge of the cloud will also help you get the most out of this software design book.