Software architecture patterns for serverless systems architecting for innovation with event-driven microservices and micro frontends

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...

Full description

Bibliographic Details
Main Author: Gilbert, John
Other Authors: Lavi, Memi (writer of foreword)
Format: eBook
Language:English
Published: Birmingham, UK Packt Publishing Ltd. 2024
Edition:Second edition
Series:Expert insight
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 05737nmm a2200397 u 4500
001 EB002200393
003 EBX01000000000000001337596
005 00000000000000.0
007 cr|||||||||||||||||||||
008 240402 ||| eng
050 4 |a QA76.585 
100 1 |a Gilbert, John 
245 0 0 |a Software architecture patterns for serverless systems  |b architecting for innovation with event-driven microservices and micro frontends  |c John Gilbert ; foreword by Memi Lavi 
250 |a Second edition 
260 |a Birmingham, UK  |b Packt Publishing Ltd.  |c 2024 
300 |a 488 pages  |b illustrations 
505 0 |a Includes bibliographical references and index 
505 0 |a Organic evolution -- embracing change -- Summary -- Chapter 2: Defining Boundaries and Letting Go -- Learning the hard way -- Building on proven concepts -- Domain-driven design -- Bounded context -- Domain aggregate -- Domain event -- SOLID principles -- Single Responsibility Principle -- Open-Closed Principle -- Liskov Substitution Principle -- Interface Segregation Principle -- Dependency Inversion Principle -- Hexagonal Architecture -- Function-level (nano) -- Service-level (micro) -- Subsystem-level (macro) -- Thinking about events first -- Start with event storming 
505 0 |a Cover -- Copyright -- Contributors -- Table of Contents -- Preface -- Chapter 1: Architecting for Innovation -- Continuously delivering business value -- By the skin of our teeth -- Through high-velocity teamwork -- Dissecting lead time -- Risk mitigation -- Decision making -- Software development life cycle methodology -- Hardware provisioning -- Deployments -- Software structure -- Testing and confidence -- Dependencies and inter-team communication -- Dissecting integration styles -- Batch integration -- Spaghetti integration -- Real-time integration -- Enterprise application integration 
505 0 |a Shared database -- Service-oriented architecture -- Microservices -- Enabling autonomous teams with autonomous services -- Autonomous services -- creating bulkheads -- Asynchronous inter-service communication -- Fortified boundaries -- Event-first -- valuing facts -- Inversion of responsibility -- Events as first-class citizens -- Idempotence and ordered tolerance -- Serverless-first -- creating knowledge -- Self-service -- Disposable architecture -- Data life cycle -- fighting data gravity -- Micro frontends -- equalizing tiers -- Observability -- optimizing everything 
505 0 |a Focus on verbs instead of nouns -- Treat events as facts instead of ephemeral messages -- Turn APIs inside out by treating events as contracts -- Invert responsibility for invocation -- Connect services through an event hub -- Dividing a system into autonomous subsystems -- By actor -- By business unit -- By business capability -- By data life cycle -- By legacy system -- Creating subsystem bulkheads -- Separate cloud accounts -- External domain events -- Dissecting an autonomous subsystem -- Context diagram -- Micro frontend -- Event hub -- Autonomous service patterns -- Backend For Frontend 
505 0 |a External Service Gateways -- Control services -- Dissecting an autonomous service -- Repository -- CI/CD pipeline and GitOps -- Tests -- Stack -- Persistence -- Trilateral API -- Events -- API Gateway -- Functions -- Nano architecture -- Micro architecture -- Shared libraries -- Governing without impeding -- Providing automation and cross-cutting concerns -- Promoting a culture of robustness -- Harnessing the four key team metrics -- Summary -- Chapter 3: Taming the Presentation Tier -- Presentation tier innovation -- zigzagging through time -- Client-side versus server-side rendering 
653 |a Logiciels d'application / Développement 
653 |a Infonuagique 
653 |a Software architecture / http://id.loc.gov/authorities/subjects/sh2004001071 
653 |a Cloud computing / http://id.loc.gov/authorities/subjects/sh2008004883 
653 |a Architecture logicielle 
653 |a Application software / Development / http://id.loc.gov/authorities/subjects/sh95009362 
700 1 |a Lavi, Memi  |e writer of foreword 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
490 0 |a Expert insight 
776 |z 9781803235448 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781803235448/?ar  |x Verlag  |3 Volltext 
082 0 |a 004.67/82 
520 |a 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