Preface
Embracing Microservices Design targets architects and developers who want to design and build microservices-based applications following the right principles, practices, and patterns and avoiding the fallacies and anti-patterns that may lead to bad implementation. The adoption of microservices is growing due to various benefits, such as agility, maintainability, technology diversity, scalability, innovation, faster time to market, and increased reliability. However, it comes with many challenges, such as a change in the organization's culture, a learning curve, understanding and modeling business domains, architecture and operational complexity, observability, and end-to-end testing.
This book is divided into three sections. The first section is focused on a microservices introduction and looking at design and architecture pitfalls followed by an alternative approach to avoid those pitfalls. The second section is focused on data design pitfalls, communication challenges and preventions, and cross-cutting concerns. The last section is focused on deployment pitfalls and best practices when setting up the deployment strategy, the need for testing, challenges, and how to evaluate the potential application when transforming from a monolithic architecture to a microservices architecture.