Muutke küpsiste eelistusi

Design Patterns for Cloud Native Applications: Patterns in Practice Using APIs, Data, Events, and Streams [Pehme köide]

  • Formaat: Paperback / softback, 250 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 31-May-2021
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492090719
  • ISBN-13: 9781492090717
Teised raamatud teemal:
  • Pehme köide
  • Hind: 63,19 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 74,34 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 250 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 31-May-2021
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492090719
  • ISBN-13: 9781492090717
Teised raamatud teemal:

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 gain experience 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 Sriskandarajah Suhothayan and Kasun Indrasiri highlight use cases that effectively demonstrate the challenges you could encounter at each step.

  • Explore the issues you're likely to deal with when building highly scalable cloud native applications
  • Learn design patterns for addressing these issues--and best practices to help you apply them
  • Examine the tools and technologies essential for building cloud native systems
  • Implement scalable cloud native applications that are manageable and maintainable
  • Use patterns for building applications that are appropriate for specific use cases
Preface ix
1 Introduction to Cloud Native
1(26)
What Is Cloud Native?
1(12)
Designed as a Collection of Microservices
2(4)
Use Containerization and Container Orchestration
6(4)
Automate the Development Life Cycle
10(2)
Dynamic Management
12(1)
Methodology for Building Cloud Native Apps
13(6)
Designing the Application
13(1)
Developing the Application
14(2)
Connectivity, Compositions, and APIs
16(2)
Automating the Development, Release, and Deployment
18(1)
Running in a Dynamic Environment
18(1)
Control Plane for Dynamic Management
19(1)
Observability and Monitoring
19(1)
Design Patterns for Building Cloud Native Apps
19(4)
Communication Patterns
20(1)
Connectivity and Composition Patterns
21(1)
Data Management Patterns
22(1)
Event-Driven Architecture Patterns
22(1)
Stream-Processing Patterns
22(1)
API Management and Consumption Patterns
23(1)
Reference Architecture for Cloud Native Apps
23(2)
Summary
25(2)
2 Communication Patterns
27(30)
Synchronous Messaging Patterns
28(6)
Request-Response Pattern
28(2)
Remote Procedure Calls Pattern
30(3)
Summary of Synchronous Messaging Patterns
33(1)
Asynchronous Messaging Patterns
34(7)
Single-Receiver Pattern
34(2)
Multiple-Receiver Pattern
36(2)
Asynchronous Request-Reply Pattern
38(2)
Summary of Asynchronous Messaging Patterns
40(1)
Service Definition Patterns
41(5)
Service Definitions in Synchronous Communication
41(2)
Service Definition in Asynchronous Communication
43(3)
Technologies to Implement Synchronous Messaging Patterns
46(5)
RESTful Services
46(2)
GraphQL
48(1)
WebSocket
49(1)
gRPC
50(1)
Summary of Synchronous Messaging Technologies
51(1)
Technologies to Implement Asynchronous Messaging Patterns
51(2)
AMQP
51(1)
Kafka
52(1)
NATS
52(1)
Testing
53(1)
Security
54(1)
Observability and Monitoring
54(1)
DevOps
55(1)
Summary
55(2)
3 Connectivity and Composition Patterns
57(42)
Connectivity Patterns
57(29)
Service Connectivity Pattern
58(3)
Service Abstraction Pattern
61(3)
Service Registry and Discovery Pattern
64(4)
Resilient Connectivity Pattern
68(5)
Sidecar Pattern
73(4)
Service Mesh Pattern
77(4)
Sidecarless Service Mesh Pattern
81(3)
Technologies for Implementing Service Connectivity Patterns
84(1)
Summary of Connectivity Patterns
85(1)
Service Composition Patterns
86(11)
Service Orchestration Pattern
86(3)
Service Choreography Pattern
89(3)
Saga Pattern
92(4)
Technologies for Implementing Service Composition Patterns
96(1)
Summary of Service Composition Patterns
97(1)
Summary
97(2)
4 Data Management Patterns
99(62)
Data Architecture
99(2)
Types and Forms of Data
101(1)
Data Stores
102(5)
Relational Databases
102(1)
NoSQL Databases
103(3)
Filesystem Storage
106(1)
Data Store Summary
106(1)
Data Management
107(2)
Centralized Data Management
107(1)
Decentralized Data Management
107(1)
Hybrid Data Management
108(1)
Data Management Summary
109(6)
Data Composition Patterns
110(1)
Data Service Pattern
111(3)
Composite Data Services Pattern
114(1)
Client-Side Mashup Pattern
115(9)
Summary of Data Composition Patterns
117(1)
Data Scaling Patterns
118(1)
Data Sharding Pattern
118(6)
Command and Query Responsibility Segregation Pattern
124(18)
Summary of Data Scaling Patterns
126(1)
Performance Optimization Patterns
127(1)
Materialized View Pattern
128(2)
Data Locality Pattern
130(3)
Caching Pattern
133(6)
Static Content Hosting Pattern
139(2)
Summary of Performance Optimization Patterns
141(1)
Reliability Patterns
142(4)
Transaction Pattern
143(3)
Summary of Transaction Reliability Pattern
146(1)
Security: Vault Key Pattern
146(2)
How it works
146(2)
Summary of the Vault Key Pattern
148(1)
Technologies for Implementing Data Management Patterns
148(6)
Relational Database Management Systems
148(1)
Apache Cassandra
149(1)
Apache HBase
150(1)
MongoDB
150(1)
Redis
151(1)
Amazon DynamoDB
151(1)
Apache HDFS
152(1)
Amazon S3
152(1)
Azure Cosmos DB
152(1)
Google Cloud Spanner
153(1)
Summary of Technologies
153(1)
Testing
154(1)
Security
155(1)
Observability and Monitoring
156(1)
DevOps
157(2)
Summary
159(2)
5 Event-Driven Architecture Patterns
161(42)
Event-Driven Architecture
162(2)
Exactly Once Processing
163(1)
Message Broker Categories
163(1)
CloudEvents
164(1)
Event Schema
164(1)
Event-Delivery Patterns
164(17)
Producer-Consumer Pattern
165(3)
Publisher-Subscriber Pattern
168(3)
Fire and Forget Pattern
171(2)
Store and Forward Pattern
173(1)
Polling Pattern
174(2)
Request Callback Pattern
176(3)
Summary of Event-Delivery Patterns
179(2)
State Management Patterns
181(4)
Event Sourcing Pattern
181(4)
Summary of State Management Pattern
185(1)
Orchestration Patterns
185(8)
Mediator Pattern
185(3)
Pipe and Filter Pattern
188(2)
Priority Queue Pattern
190(2)
Summary of Orchestration Patterns
192(1)
Technologies for Event-Driven Architecture
193(4)
Apache ActiveMQ
193(1)
RabbitMQ
194(1)
Amazon SQS
194(1)
Amazon SNS
195(1)
Azure Event Grid
195(1)
Azure Service Bus Queues
195(1)
Google Cloud Pub/Sub
196(1)
Summary of Message Broker Technologies
196(1)
Testing
197(2)
Security
199(1)
Observability and Monitoring
199(1)
DevOps
200(1)
Summary
201(2)
6 Stream-Processing Patterns
203(56)
What Is a Stream?
203(1)
What Is Stream Processing?
203(1)
Streaming Data Processing Patterns
204(21)
Transformation Pattern
204(3)
Filters and Thresholds Pattern
207(2)
Windowed Aggregation Pattern
209(5)
Stream Join Pattern
214(4)
Temporal Event Ordering Pattern
218(3)
Machine Learner Pattern
221(3)
Summary of Streaming Data Processing Patterns
224(1)
Scaling and Performance Optimization Patterns
225(15)
Sequential Convoy Pattern
225(5)
Buffered Event Ordering Pattern
230(3)
Course Correction Pattern
233(2)
Watermark Pattern
235(4)
Summary of Scaling and Performance Optimization Patterns
239(1)
Reliability Patterns
240(11)
Replay Pattern
240(3)
Periodic Snapshot State Persistence Pattern
243(5)
Two-Node Failover Pattern
248(2)
Summary of Reliability Patterns
250(1)
Technologies
251(4)
Esper
251(1)
Siddhi
252(1)
ksqlDB
252(1)
Apache Spark
252(1)
Apache Flink
253(1)
Amazon Kinesis
253(1)
Azure Stream Analytics
253(1)
Google Dataflow
254(1)
Summary of Stream-Processing Technologies
254(1)
Testing
255(1)
Security
256(1)
Observability and Monitoring
256(1)
DevOps
257(1)
Summary
258(1)
7 API Management and Consumption Patterns
259(18)
API Management Patterns
259(11)
API Gateway Pattern
260(5)
API Microgateway Pattern
265(3)
Service Mesh Sidecar as an API Gateway Pattern
268(1)
Technologies for Implementing API Management Patterns
269(1)
Summary of API Management Patterns
270(1)
API Consumption Patterns
270(6)
Direct Frontend-to-Microservices Communication Pattern
270(2)
Frontends Consuming Services Through API Gateway Pattern
272(1)
Backend for Frontends Pattern
273(2)
Summary of API Consumption Patterns
275(1)
Summary
276(1)
8 Cloud Native Patterns in Practice
277(12)
Building an Online Retail System
277(2)
Product Catalog
277(1)
Order Management
278(1)
Order Tracking and Prediction
278(1)
Product Recommendations
278(1)
Customer and Partner Management
279(1)
Building the High-Level Architecture
279(1)
Building External APIs
280(2)
Connecting Services
282(1)
Performing Data Management
283(1)
Using Event-Driven Architecture
284(2)
Using Stream Processing
286(1)
Implementing Dynamic Management in a Cloud Environment
287(1)
Summary
288(1)
Index 289
Kasun Indrasiri is a software architect with extensive experience in microservices, cloud native, and enterprise integration architecture. He's the author of gRPC: Up and Running (O'Reilly, 2019), Microservices for Enterprise (Apress, 2018), and Beginning WSO2 ESB (Apress, 2017). Kasun has spoken at several conferences, including O'Reilly Software Architecture Conference 2019 San Jose, GOTO Con 2019 Chicago, and WSO2 Conferences in San Francisco, London, and Barcelona. He also founded the Silicon Valley Microservices, APIs and Integration Meetup, which is one of the largest microservices meetups in the San Francisco Bay area.

Sriskandarajah (Suho) Suhothayan is a Senior Director at WSO2, with more than eight years of experience in architecting multiple data processing platforms. He's also the founder of Siddhi, a cloud native stream processor that can perform scalable data processing using microservices and Kubernetes ecosystem. Suho is a visiting lecturer at the University of Westminster (UK) and Robert Gordon University (Scotland), conducting "Big Data" and "Data Science" courses. He has also spoken at various conferences, such as Strata Data Conference 2017 London, Structure Data Conference 2016 San Francisco, and at WSO2 User Conferences in San Francisco, London, Barcelona, and Colombo.