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
Henry YehMar 22, 2024
5
This book is both an excellent intro into the world of serverless computing in the cloud, as well as a guide for experienced engineers who are attempting to modernize their stack. It’s a good reference with easy to find sections written in a way that’s not condescending to the technically minded.
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
ElmerAApr 07, 2024
5
Much of my review stems from my background: I've been in software development for 25 years running and I'm involved with maintaining and evolving legacy monolithic systems. So I've gone through a good chunk of the history pretty much - from client-server, to web-based and now to cloud-native systems. Suffice to say I'm always in the lookout for material that shows the state-of-the-art and how systems are being designed, developed, tested and operationalized currently.It is rare to find a book that not just explains what or how an architecture is to be implemented but also the why. It is truly insightful to know how much of the pitfalls of the engineering trends and decisions made before have contributed to where we are today. People my age - who have done their share of development and might either be working as managers, enterprise architects, or department leaders - need to appreciate how critical it is for current systems to be designed to adapt to change (as cliche as that sounds) and how necessary the mindset is of architecting systems with change and speed as the driving principle. This book does an outstanding job of setting the reader's mindset by showing the whys through a walkthrough on the barriers that prevent us from shipping software fast and responsive to change.While the book presents the current approach (or one of possible approaches) in designing software, it doesn't shoehorn that down to the reader's throat and has actually presented the potential pitfalls of modern design (i.e. the microservices Death Star). This has been particularly refreshing for me to hear since all we hear about currently is how microservices is the way forward from monolithic and the Holy Grail of solving all of our development issues.I recommend this book for those who want an overview of modern software architecture design with a focus on serverless, with a sound exposition on how we got here and the reasons for doing so. It's difficult to find this kind of information out there as most jump immediately to implementation details.
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.
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.