Software Architecture Patterns for Serverless Systems: Architecting for innovation with event-driven microservices and micro frontends
, Second Edition
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
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.
Who is this book 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.
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
Defines the why and the how of architecting, designing, and building robust, fault-tolerant applications, adapting time-honored patterns, principles, and practices, and adapting them to the Cloud. References many proven methodologies and puts them together in an innovative yet practical way. There is much meaty food for thought as well as instructions for the practical application of the patterns and principles. As has been mentioned in other reviews, there is also sample code available.Lacking experience in those time-honored principles, patterns, and methodologies? This book contains abundant references to resources that will bring you up to speed. The last chapter provides instructions to help organizations "dip their toes in the water" and get started quickly.With 40+ years in the software industry, I recognize that this book is full of better ways of thinking about architecture, design, and implementation of software applications. I look forward to designing and building my next application using the patterns described in this book.
Amazon Verified review
Julia MachadoMay 25, 2024
5
Great recollection about the evolution of architectures, followed by state of the art suggestions. Highly recommended
Amazon Verified review
Guy HardingMay 03, 2024
5
As a software systems architect, there is a lot to wrap your head around when considering serverless. I've been designing and fixing software systems for 20+ years, but I had not done a deep dive into serverless until reading this book.The book explains why serverless is important today, details the principles & objectives of a serverless architecture, and provides a practical catalog of useful architectural patterns (even if you're not implementing a purely serverless approach).I've already applied several concepts to my current projects, and look forward to implementing several more as I build.I highly recommend for architects and engineers who want to understand serverless better and add serverless approaches to their tool chest.
Amazon Verified review
ekekoApr 28, 2024
5
Bei meiner Reise in die Welt der Cloud-Technologien hat sich dieses Buch als wertvolle Ressource erwiesen. Es präsentiert einen pragmatischen Ansatz, der auf den persönlichen Erfahrungen des Autors basiert und dem Inhalt eine menschliche Note verleiht. Besonders schätze ich die praktischen Beispiele und Vorlagen, die zur Verdeutlichung komplexer Konzepte beitragen.Ein bemerkenswerter Aspekt des Buches ist für mich die Einführung von FinOps, die sich mit dem finanziellen Aspekt von Cloud-Lösungen befasst. Obwohl dies ein wichtiges Thema ist, insbesondere für technische Fachleute, gestaltet sich die Handhabung manchmal schwierig.Zusammenfassend bietet dieses Buch wertvolle Einblicke in Cloud-Architekturen, indem es praktische Weisheit mit realen Erfahrungen kombiniert. Trotz einiger Einschränkungen bei den Sprachbeispielen (alle in JavaScript) bleibt es ein lohnenswertes Leseerlebnis für alle, die sich durch die Komplexität der Cloud-Technologien bewegen möchten.
Amazon Verified review
Daniel Mejia R.Apr 24, 2024
5
Software Architecture Patterns for Serverless Systems presents a detailed guide for software architects and aspiring architects venturing into the realm of modern software design. By emphasizing serverless systems managed by highly decoupled teams with complete ownership over each system's components connected through event bridges in an event-driven fashion, this book offers actionable insights and strategies crucial for success in today's fast-paced landscape. I really liked the mindset of "architecting for innovation" and "architecting to change" since products evolve and we need to iterate as fast as our products. The author's expertise shines, rendering this book essential for those aiming to construct robust, scalable, and inventive systems. Now, the book is well structured and each chapter states very well its relation to others, you can navigate between chapters to recall important content, I think this is a plus that makes the book more reader friendly.
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.
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.
Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.
If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.
Please Note: Packt eBooks are non-returnable and non-refundable.
Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:
You may make copies of your eBook for your own use onto any machine
You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website?
If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:
Register on our website using your email address and the password.
Search for the title by name or ISBN using the search option.
Select the title you want to purchase.
Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title.
Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook?
If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
To view your account details or to download a new copy of the book go to www.packtpub.com/account
Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.
You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.
What are the benefits of eBooks?
You can get the information you need immediately
You can easily take them with you on a laptop
You can download them an unlimited number of times
You can print them out
They are copy-paste enabled
They are searchable
There is no password protection
They are lower price than print
They save resources and space
What is an eBook?
Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.
When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.
For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.