Design and Implementation Patterns and Guidance

Design and Implementation

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.

The following patterns and guidance topics are related design and implementation in cloud-hosted applications.

Compute Resource Consolidation Pattern

Design and ImplementationDesign PatternsDownload code sampleShow All

Consolidate multiple tasks or operations into a single computational unit. This pattern can increase compute resource utilization, and reduce the costs and management overhead associated with performing compute processing in cloud-hosted applications.

Compute Resource Consolidation Pattern

For more info, see the Compute Resource Consolidation Pattern.

Command and Query Responsibility Segregation (CQRS) Pattern

Data ManagementDesign and ImplementationPerformance & ScalabilityDesign PatternsShow All

Segregate operations that read data from operations that update data by using separate interfaces. This pattern can maximize performance, scalability, and security; support evolution of the system over time through higher flexibility; and prevent update commands from causing merge conflicts at the domain level.

CQRS Pattern

For more info, see the Command and Query Responsibility Segregation (CQRS) Pattern.

External Configuration Store Pattern

Design and ImplementationManagement and MonitoringDesign PatternsDownload code sampleShow All

Move configuration information out of the application deployment package to a centralized location. This pattern can provide opportunities for easier management and control of configuration data, and for sharing configuration data across applications and application instances.

External Configuration Store Pattern

For more info, see External Configuration Store Pattern.

Leader Election Pattern

Design and ImplementationResiliencyDesign PatternsDownload code sampleShow All

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. This pattern can help to ensure that tasks do not conflict with each other, cause contention for shared resources, or inadvertently interfere with the work that other task instances are performing.

Leader Election Pattern

For more info, see the Leader Election Pattern.

Pipes and Filters Pattern

MessagingDesign and ImplementationDesign PatternsDownload code sampleShow All

Decompose a task that performs complex processing into a series of discrete elements that can be reused. This pattern can improve performance, scalability, and reusability by allowing task elements that perform the processing to be deployed and scaled independently.

Pipes and Filters Pattern

For more info, see the Pipes and Filters Pattern.

Runtime Reconfiguration Pattern

Design and ImplementationManagement and MonitoringDesign PatternsDownload code sampleShow All

Design an application so that it can be reconfigured without requiring redeployment or restarting the application. This helps to maintain availability and minimize downtime.

Runtime Reconfiguration Pattern

For more info, see the Runtime Reconfiguration Pattern.

Static Content Hosting Pattern

Data ManagementDesign and ImplementationPerformance & ScalabilityDesign PatternsDownload code sampleShow All

Deploy static content to a cloud-based storage service that can deliver these directly to the client. This pattern can reduce the requirement for potentially expensive compute instances.

Static Content Hosting Pattern

For more info, see the Static Content Hosting Pattern.

Compute Partitioning Guidance

Design and ImplementationCloud Guidance and PrimersShow All

When deploying an application to the cloud it may be desirable to allocate the services and components it uses in a way that helps to minimize running costs while maintaining the scalability, performance, availability, and security of the application.

For more info, see Compute Partitioning Guidance.

Next Topic | Previous Topic | Home | Community

patterns & practices Developer Center