Cloud Design Patterns Flashcards
Create helper services that send network requests on behalf of a consumer service or application.
Ambassador
Implement a façade or adapter layer between a modern application and a legacy system.
Anti-Corruption Layer
Decouple backend processing from a frontend host, where backend processing needs to be asynchronous, but the frontend still needs a clear response.
Asynchronous Request-Reply
Create separate backend services to be consumed by specific frontend applications or interfaces.
Backends for Frontends
Isolate elements of an application into pools so that if one fails, the others will continue to function.
Bulkhead
Load data on demand into a cache from a data store.
Cache-Aside
Let each service decide when and how a business operation is processed, instead of depending on a central orchestrator.
Choreography
Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Circuit Breaker
Split a large message into a claim check and a payload to avoid overwhelming a message bus.
Claim Check
Undo the work performed by a series of steps, which together define an eventually consistent operation.
Compensating Transaction
Enable multiple concurrent consumers to process messages received on the same messaging channel.
Competing Consumers
Consolidate multiple tasks or operations into a single computational unit.
Compute Resource Consolidation
Segregate operations that read data from operations that update data by using separate interfaces.
Command and Query Responsibility Segregation (CQRS)
Deploy multiple independent copies of application components, including data stores.
Deployment Stamps
Use an append-only store to record the full series of events that describe actions taken on data in a domain.
Event Sourcing
Move configuration information out of the application deployment package to a centralized location.
External Configuration Store
Delegate authentication to an external identity provider.
Federated Identity
Protect applications and services by using a dedicated host instance that acts as a broker between clients and the application or service, validates and sanitizes requests, and passes requests and data between them.
Gatekeeper
Use a gateway to aggregate multiple individual requests into a single request.
Gateway Aggregation
Offload shared or specialized service functionality to a gateway proxy.
Gateway Offloading
Route requests to multiple services using a single endpoint.
Gateway Routing
Deploy backend services into a set of geographical nodes, each of which can service any client request in any region.
Geodes
Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Health Endpoint Monitoring
Create indexes over the fields in data stores that are frequently referenced by queries.
Index Table