A professional's guide to solving complex problems while designing modern software Key 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 concepts Book Description As 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 systems Who this book is for This 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.
|Publisher||Packt Publishing Ltd|
|Rating||4/5 (39 users)|