Design and Implementation patterns

Good design encompasses factors such as consistency and coherence in component design and deployment, maintainability to simplify administration and development, and reusability to allow components and subsystems to be used in other applications and in other scenarios. Decisions made during the design and implementation phase have a huge impact on the quality and the total cost of ownership of cloud hosted applications and services.

Pattern

Ambassador

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

Read more

Backends for Frontends

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

Read more

Compute Resource Consolidation

Consolidate multiple tasks or operations into a single computational unit.

Read more

Gateway Aggregation

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

Read more

Gateway Routing

Route requests to multiple services using a single endpoint.

Read more

Pipes and Filters

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

Read more

Static Content Hosting

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

Read more

Anti-Corruption Layer

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

Read more

CQRS

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

Read more

External Configuration Store

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

Read more

Gateway Offloading

Offload shared or specialized service functionality to a gateway proxy.

Read more

Leader Election

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.

Read more

Sidecar

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

Read more

Strangler

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

Read more