The Role of Requirements Cloud Design Patterns

The Role of Requirements Cloud Design Patterns

2021-01-25

Related Content

23 - Gatekeeper and Valet Key Patterns - Secure your APIs and Resources

23 - Gatekeeper and Valet Key Patterns - Secure your APIs and Resources

2021-01-22

Continuing the 'Architecting for the Cloud, one pattern at a time' series, Chris and Peter Piper explore two closely related cloud design patterns for securing APIs and backend resources. The Gatekeeper pattern positions a dedicated host between untrusted clients and trusted backend services — handling authentication, authorization, request validation, protocol translation, and rate limiting. The Valet Key pattern complements it by issuing short-lived, scope-restricted tokens (such as Azure SAS tokens) so clients can access specific resources directly, reducing load on central services without sacrificing security. The episode covers practical implementation options on Azure including API Management, Azure Key Vault, and Azure App Configuration.

22 - Static Content Hosting Pattern (Save cost and gain performance for static websites!)

22 - Static Content Hosting Pattern (Save cost and gain performance for static websites!)

2021-01-15

Serving static HTML, CSS, images, and JavaScript from a general-purpose web server wastes compute and money. The Static Content Hosting pattern offloads these assets to cloud storage—Azure Blob Storage, AWS S3, or GCP Storage—optionally fronted by a CDN for global performance and storage-tier scalability. This episode walks through the pattern, a real-world implementation with Hugo and Azure CDN, and the trade-offs to consider.

21 - The Queue Based Load Levelling and Competing Consumers Pattern

21 - The Queue Based Load Levelling and Competing Consumers Pattern

Do you have an application with specific scalability and continuity-of-service requirements? What happens when traffic spikes dramatically — think a major concert or FIFA World Cup ticket sale crashing a site? In this Architecting for the Cloud episode, Chris and Will Eastbury walk through three closely related patterns: Queue-Based Load Levelling, Competing Consumers, and the Asynchronous Request-Reply pattern. They explore how message queues act as shock absorbers for traffic spikes, how competing consumers enable elastic horizontal scaling, and how async request-reply lets you retrofit these patterns into existing architectures with minimal disruption. Key trade-offs covered include queue depth limits, Azure Service Bus configuration, distributed tracing with Application Insights, and when the added complexity genuinely justifies reaching for these patterns.