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.
Economy: Delivery to most addresses in the US within 10-15 business days
Premium: Trackable Delivery to most addresses in the US within 3-8 business days
UK:
Economy: Delivery to most addresses in the U.K. within 7-9 business days. Shipments are not trackable
Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days! Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands
EU:
Premium: Trackable delivery to most EU destinations within 4-9 business days.
Australia:
Economy: Can deliver to P. O. Boxes and private residences. Trackable service with delivery to addresses in Australia only. Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro Delivery time is up to 15 business days for remote areas of WA, NT & QLD.
Premium: Delivery to addresses in Australia only Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.
India:
Premium: Delivery to most Indian addresses within 5-6 business days
Rest of the World:
Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days
Asia:
Premium: Delivery to most Asian addresses within 5-9 business days
Disclaimer: All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.
Unfortunately, due to several restrictions, we are unable to ship to the following countries:
Afghanistan
American Samoa
Belarus
Brunei Darussalam
Central African Republic
The Democratic Republic of Congo
Eritrea
Guinea-bissau
Iran
Lebanon
Libiya Arab Jamahriya
Somalia
Sudan
Russian Federation
Syrian Arab Republic
Ukraine
Venezuela
What is custom duty/charge?
Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.
Do I have to pay customs charges for the print book order?
The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.
A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.
How do I know my custom duty charges?
The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.
For example:
If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order?
Cancellation Policy for Published Printed Books:
You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.
Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.
What is your returns and refunds policy?
Return Policy:
We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:
If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.
On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.
What tax is charged?
Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.
What payment methods can I use?
You can pay with the following card types:
Visa Debit
Visa Credit
MasterCard
PayPal
What is the delivery time and cost of print books?
Shipping Details
USA:
'
Economy: Delivery to most addresses in the US within 10-15 business days
Premium: Trackable Delivery to most addresses in the US within 3-8 business days
UK:
Economy: Delivery to most addresses in the U.K. within 7-9 business days. Shipments are not trackable
Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days! Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands
EU:
Premium: Trackable delivery to most EU destinations within 4-9 business days.
Australia:
Economy: Can deliver to P. O. Boxes and private residences. Trackable service with delivery to addresses in Australia only. Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro Delivery time is up to 15 business days for remote areas of WA, NT & QLD.
Premium: Delivery to addresses in Australia only Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.
India:
Premium: Delivery to most Indian addresses within 5-6 business days
Rest of the World:
Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days
Asia:
Premium: Delivery to most Asian addresses within 5-9 business days
Disclaimer: All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.
Unfortunately, due to several restrictions, we are unable to ship to the following countries: