Share E-Book
Scan to open this page

Scan with your phone to open this page

AuthorKasun Indrasiri, Sriskandarajah Suhothayan

With the immense cost savings and scalability the cloud provides, the rationale for building cloud native applications is no longer in question. The real issue is how. With this practical guide, developers will learn about the most commonly used design patterns for building cloud native applications using APIs, data, events, and streams in both greenfield and brownfield development. You'll learn how to incrementally design, develop, and deploy large and effective cloud native applications that you can manage and maintain at scale with minimal cost, time, and effort. Authors Kasun Indrasiri and Sriskandarajah Suhothayan highlight use cases that effectively demonstrate the challenges you might encounter at each step. • Learn the fundamentals of cloud native applications • Explore key cloud native communication, connectivity, and composition patterns • Learn decentralized data management techniques • Use event-driven architecture to build distributed and scalable cloud native applications • Explore the most commonly used patterns for API management and consumption • Examine some of the tools and technologies you'll need for building cloud native systems

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A pattern catalog for engineers who already accept cloud native as the goal and now need the "how": concrete design patterns for APIs, data, events, and streams, with the trade-offs and technologies behind each. Best for backend and platform developers, architects, and tech leads working on microservices in greenfield or brownfield systems. 【Book Arc】 - **Opening (~0%–10%)**: Frames the problem — cloud native is settled in principle, so the real question is design. Introduces the shift from SOA/ESB monoliths to microservices, and previews the pattern families covered in later chapters. - **Early (~10%–30%)**: Establishes fundamentals: cloud native characteristics, the build methodology (including a control plane for dynamic management and observability/monitoring), Kubernetes as the de facto orchestration layer, and why conventional patterns must be adapted. - **Early–Middle (~30%–50%)**: Communication patterns. Synchronous styles (request-response, RPC) and asynchronous messaging (queues, single-receiver, asynchronous request-reply), plus service definition concerns like schema registries and AsyncAPI. - **Middle (~50%–65%)**: Connectivity and composition — service connectivity, abstraction, registry/discovery, resilient connectivity, sidecar and service mesh, then orchestration, choreography, and Saga for business transactions. - **Late (~65%–85%)**: Data management patterns — choosing data stores, decentralized data ownership, and composing data across services while preserving scalability and reliability. - **Ending (~85%–100%)**: Event-driven architecture patterns — event delivery, event sourcing, and orchestrating events across asynchronous services, closing with the tools and technologies for building cloud native systems. 【Key Takeaways】 - **Cloud native is a methodology shift, not just a deployment target** (Early): the book stresses that architecture, technology, and process all change together; treating it as "containers plus CI/CD" misses the point. - **Microservices exist to remove SOA's centralization** (Early): fine-grained, business-capability-oriented services replace the ESB, enabling independent scaling and deployment — the trade-off is distributed complexity you must design for. - **Kubernetes is the portability substrate** (Early): its abstractions (service discovery, health monitoring, rolling upgrades, affinity, namespaces) let applications avoid coupling to a specific cloud, provided you avoid platform-specific features. - **Choose communication style by use case, not by fashion** (Middle): request-response suits interactive calls; asynchronous messaging suits decoupling and guaranteed delivery. The book warns that asynchronous request-reply is not simply a "better" request-response. - **Schemas are a reliability concern in async messaging** (Middle): without schema-based serialization, producers and consumers drift into type mismatches; registries and AsyncAPI-style contracts address this, at some message-size cost. - **Connectivity patterns are layered, not competing** (Middle): service abstraction, discovery, resilient connectivity, sidecar, and service mesh solve different problems and are often combined. - **Composition needs a transaction strategy** (Middle): orchestration and choreography organize multi-service business flows, while Saga handles failure and consistency across them. - **Data is the hard part of distribution** (Late): decentralized data management, store selection, and data composition are framed as first-class design decisions rather than afterthoughts. 【Reading Tips】 - Read Chapters 1–2 closely if you are new to cloud native; they define vocabulary used everywhere else. Skim if you already run microservices on Kubernetes. - Treat the pattern chapters as a reference: jump to the pattern matching your current problem (e.g., Saga for distributed transactions, service mesh for cross-cutting connectivity) rather than reading linearly. - Pay attention to the "Considerations" and "Related patterns" framing — the value is in when *not* to use a pattern, and which patterns pair well. - Keep the technology comparisons (REST, GraphQL, gRPC, WebSocket; AMQP brokers; schema registries) as a decision aid, not a ranking. - The excerpts do not cover the full text of the data management and event-driven chapters in detail; read those chapters directly for their pattern specifics. 【Coverage Limits】 This guide is synthesized from stratified excerpts and the table of contents; several chapters (notably data management and event-driven architecture) are represented only by their scope statements, so pattern-level detail there is not summarized.
Excerpt 1
34 Single-Receiver Pattern 34 Multiple-Receiver Pattern 36 Asynchronous Request-Reply Pattern 38 Summary of Asynchronous Messaging Patterns 40 Service Defini...
View in text
Excerpt 2
into the containers Networking infrastructure abstractions Provides a networking overlay to build communication among containers Service discovery Offers bui...
View in text
Excerpt 3
g a drastically different set of patterns and technologies. Both event- and stream-based services feature event/stream management for the pro‐ ducer (sink) s...
View in text
Excerpt 4
ers and consumers. In addition, the amount of metadata that needs to be sent along with the message increases the message size, which slows the performance o...
View in text
Excerpt 5
cated service registry alongside Kubernetes. Considerations Service Registry and Discovery is an essential pattern for building cloud native appli‐ cations....
View in text
Excerpt 6
n too. This is not the case with most of the practical sce‐ narios. The participant may fail to commit a transaction although it has responded Yes. Given the...
View in text
Excerpt 7
erations, CQRS not only eliminates the impact of one on the other by improving the performance and scalability of the system, but also helps iso‐ late operat...
View in text
Excerpt 8
build and execute complex clients to fulfill that use case. Sometimes we might need to store static data securely. If we need to allow authorized users to ac...
View in text
Tags
AI categories
Cloud NativeBackendSoftware
ISBN: 1492090719
Publisher: O'Reilly Media
Publish Year: 2021
Language: English
Pages: 314
File Format: PDF
File Size: 12.1 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…