Cloud Design Patterns Flashcards

1
Q

Create helper services that send network requests on behalf of a consumer service or application.

A

Ambassador

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Implement a façade or adapter layer between a modern application and a legacy system.

A

Anti-Corruption Layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Decouple backend processing from a frontend host, where backend processing needs to be asynchronous, but the frontend still needs a clear response.

A

Asynchronous Request-Reply

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Create separate backend services to be consumed by specific frontend applications or interfaces.

A

Backends for Frontends

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Isolate elements of an application into pools so that if one fails, the others will continue to function.

A

Bulkhead

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Load data on demand into a cache from a data store.

A

Cache-Aside

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Let each service decide when and how a business operation is processed, instead of depending on a central orchestrator.

A

Choreography

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.

A

Circuit Breaker

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Split a large message into a claim check and a payload to avoid overwhelming a message bus.

A

Claim Check

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Undo the work performed by a series of steps, which together define an eventually consistent operation.

A

Compensating Transaction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Enable multiple concurrent consumers to process messages received on the same messaging channel.

A

Competing Consumers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Consolidate multiple tasks or operations into a single computational unit.

A

Compute Resource Consolidation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Segregate operations that read data from operations that update data by using separate interfaces.

A

Command and Query Responsibility Segregation (CQRS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Deploy multiple independent copies of application components, including data stores.

A

Deployment Stamps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Use an append-only store to record the full series of events that describe actions taken on data in a domain.

A

Event Sourcing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Move configuration information out of the application deployment package to a centralized location.

A

External Configuration Store

17
Q

Delegate authentication to an external identity provider.

A

Federated Identity

18
Q

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.

A

Gatekeeper

19
Q

Use a gateway to aggregate multiple individual requests into a single request.

A

Gateway Aggregation

20
Q

Offload shared or specialized service functionality to a gateway proxy.

A

Gateway Offloading

21
Q

Route requests to multiple services using a single endpoint.

A

Gateway Routing

22
Q

Deploy backend services into a set of geographical nodes, each of which can service any client request in any region.

A

Geodes

23
Q

Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.

A

Health Endpoint Monitoring

24
Q

Create indexes over the fields in data stores that are frequently referenced by queries.

A

Index Table

25
Q

Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances.

A

Leader Election

26
Q

Generate pre-populated views over the data in one or more data stores when the data isn’t ideally formatted for required query operations.

A

Materialized View

27
Q

Break down a task that performs complex processing into a series of separate elements that can be reused.

A

Pipes and Filters

28
Q

Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority.

A

Priority Queue

29
Q

Enable an application to announce events to multiple interested consumers asynchronously, without coupling the senders to the receivers.

A

Publisher/Subscriber

30
Q

Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.

A

Queue-Based Load Leveling

31
Q

Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource by transparently retrying an operation that’s previously failed.

A

Retry

32
Q

Coordinate a set of actions across a distributed set of services and other remote resources.

A

Scheduler Agent Supervisor

33
Q

Process a set of related messages in a defined order, without blocking processing of other groups of messages.

A

Sequential Convoy

34
Q

Divide a data store into a set of horizontal partitions or shards.

A

Sharding

35
Q

Deploy components of an application into a separate process or container to provide isolation and encapsulation.

A

Sidecar

36
Q

Deploy static content to a cloud-based storage service that can deliver them directly to the client.

A

Static Content Hosting

37
Q

Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services.

A

Strangler

38
Q

Control the consumption of resources used by an instance of an application, an individual tenant, or an entire service.

A

Throttling

39
Q

Use a token or key that provides clients with restricted direct access to a specific resource or service.

A

Valet Key