Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Cloud Design Patterns

via Udemy

Overview

Cloud Design Patterns (Azure, AWS, GCP) for building reliable, reusable, secure applications in the Cloud

What you'll learn:
  • Cloud Design Patterns
  • GateKeeper Pattern
  • Gateway Aggregation Pattern
  • Gateway Offloading Pattern
  • Gateway Routing Pattern
  • Priority Queue Pattern
  • Publisher-Subscriber Pattern
  • Queue-Based Load Leveling Pattern
  • Asynchronous Request-Reply Pattern
  • Bulkhead Pattern
  • Retry Pattern
  • Static Content Hosting Pattern
  • Claim-Check Pattern
  • Ambassador Pattern
  • Anti-corruption Layer Pattern
  • Strangler Fig Pattern
  • Backends-For-Frontends Pattern
  • Sidecar Pattern
  • Throttling Pattern
  • Valet Key Pattern
  • Federated Identity Pattern
  • Deployment Stamp Pattern
  • Geode Pattern
  • External Configuration Store Pattern
  • Choreography Pattern
  • Competing Consumers Pattern
  • Cache-Aside Pattern
  • Sequential Convoy Pattern
  • Compensating Transactions Pattern

Designing Robust Workloads with Cloud Design Patterns

Cloud architects achieve resilient, secure, and high-performing workloads by thoughtfully integrating platform services, functional capabilities, and custom code to meet both business and technical requirements. Effective cloud solutions require a deep understanding of these requirements, as well as careful selection of topologies and methodologies to address the unique challenges and constraints of each workload. Cloud design patterns—proven approaches to recurring architectural problems—offer valuable guidance for overcoming these challenges.


The Importance of Design Patterns in Cloud Architecture

Established design patterns are fundamental building blocks for system architecture. By leveraging these patterns, architects can design infrastructure and distributed systems that are reliable, secure, cost-effective, efficient, and high-performing. The patterns covered in this course are technology-agnostic and can be applied across Microsoft Azure, other cloud platforms, on-premises environments, and hybrid solutions.


Why Cloud Design Patterns Matter

Cloud-based workloads encounter unique challenges, often related to commonly misunderstood assumptions of distributed computing—such as assuming networks are always reliable, latency is zero, bandwidth is unlimited, security is guaranteed, system topologies remain static, administration is consolidated, component versioning is simple, and observability can be postponed. These mistaken assumptions can compromise system reliability and performance. Cloud design patterns do not eliminate these challenges outright, but they help identify potential issues and provide mitigation strategies. Each pattern presents specific trade-offs; understanding why a pattern should be applied is just as crucial as understanding how to implement it.


Using Patterns to Build Well-Architected Workloads

Industry-standard design patterns are the foundation for creating robust, scalable, and efficient cloud solutions. Each pattern aligns with key pillars of architectural excellence: reliability, security, performance efficiency, operational excellence, and cost optimization. Some patterns may introduce trade-offs among these pillars, so thoughtful evaluation is essential during the design process


Key Cloud Design Patterns Covered


This course covers a range of primary patterns, including:

  • Ambassador: Offload client connectivity tasks to a helper service for greater abstraction.

  • Anti-Corruption Layer: Implement a façade to safely integrate with legacy systems.

  • Asynchronous Request-Reply: Support asynchronous backend processing while providing timely frontend responses.

  • Backends for Frontends: Create tailored backend APIs for specific frontend interfaces to achieve better separation of concerns.

  • Bulkhead: Isolate application components into pools to limit the impact of failures and enhance system resilience.

  • Cache-Aside: Load data into a cache on demand to improve application responsiveness.

  • Choreography: Empower individual services to control business operations independently, removing the need for a central orchestrator.

  • Claim Check: Break down large messages to prevent overloading message brokers and streamline message processing.

  • Compensating Transaction: Define steps to undo operations as part of eventually consistent workflows.

  • Competing Consumers: Scale processing by allowing multiple consumers to process messages in a queue simultaneously.

  • Deployment Stamps: Deploy independent sets of infrastructure components to enhance scalability and isolation.

  • External Configuration Store: Manage configuration externally, separate from application deployment packages.

  • Federated Identity: Delegate authentication processes to external identity providers for improved security.

  • Gatekeeper: Use an intermediary service to securely validate and broker client requests.

  • Gateway Aggregation: Combine multiple backend calls into a single request using an API gateway.

  • Gateway Offloading: Delegate shared or compute-intensive tasks to a specialized proxy gateway.

  • Gateway Routing: Direct incoming requests to different backend services through a unified endpoint.

  • Geodes: Deploy backend services across geographically distributed nodes to maximize availability and performance.

  • Priority Queue: Ensure high-priority requests receive expedited processing.

Syllabus

  • Introduction
  • Azure Cloud Design Patterns

Taught by

Hussein Awad | Azure | Ex-Amazon

Reviews

4.4 rating at Udemy based on 251 ratings

Start your review of Cloud Design Patterns

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.