Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy

Cloud Design Patterns

Prescriptive Architecture Guidance for Cloud Applications

by Alex Homer, John Sharp, Larry Brader, Masashi Narumoto, Trent Swanson

Cloud Design Patterns

Subscribe to new books via telegram channel

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

Cloud applications have a unique set of characteristics. They run on commodity hardware, provide services to untrusted users, and deal with unpredictable workloads. These factors impose a range of problems that you, as a designer or developer, need to resolve. Your applications must be resilient so that they can recover from failures, secure to protect services from malicious attacks, and elastic in order to respond to an ever changing workload. This guide demonstrates design patterns that can help you to solve the problems you might encounter in many different areas of cloud application development. Each pattern discusses design considerations, and explains how you can implement it using the features of Windows Azure. The patterns are grouped into categories: availability, data management, design and implementation, messaging, performance and scalability, resilience, management and monitoring, and security. You will also see more general guidance related to these areas of concern. It explains key concepts such as data consistency and asynchronous messaging. In addition, there is useful guidance and explanation of the key considerations for designing features such as data partitioning, telemetry, and hosting in multiple datacenters. These patterns and guidance can help you to improve the quality of applications and services you create, and make the development process more efficient.

This open book is licensed under a Open Publication License (OPL). You can download Cloud Design Patterns ebook for free in PDF format (16.2 MB).

Table of Contents

Cache-Aside Pattern
Circuit Breaker Pattern
Compensating Transaction Pattern
Competing Consumers Pattern
Compute Resource Consolidation Pattern
Command and Query Responsibility Segregation (CQRS) Pattern
Event Sourcing Pattern
External Configuration Store Pattern
Federated Identity Pattern
Gatekeeper Pattern
Health Endpoint Monitoring Pattern
Index Table Pattern
Leader Election Pattern
Materialized View Pattern
Pipes and Filters Pattern
Priority Queue Pattern
Queue-Based Load Leveling Pattern
Retry Pattern
Runtime Reconfiguration Pattern
Scheduler Agent Supervisor Pattern
Sharding Pattern
Static Content Hosting Pattern
Throttling Pattern
Valet Key Pattern
Asynchronous Messaging Primer
Autoscaling Guidance
Caching Guidance
Compute Partitioning Guidance
Data Consistency Primer
Data Partitioning Guidance
Data Replication and Synchronization Guidance
Instrumentation and Telemetry Guidance
Multiple Datacenter Deployment Guidance
Service Metering Guidance

Book Details

Cloud Design Patterns
Computer Science
Microsoft Press
ISBN13 Digital
ISBN10 Digital
PDF Size
16.2 MB
Open Publication License

Related Books

Modern Java EE Design Patterns
With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But as Markus Eisele explains in this O'Reilly report, some enterprises are now looking to bridge that gap by building microservice-...
A Functional Pattern System for Object-Oriented Design
This book integrates the vital areas of object-orientation, functional programming, design patterns, and language design. The most important concepts from functional programming are captured with six design patterns: FUNCTION OBJECTS (Black-box behaviour parameterisation) LAZY OBJECTS (Evaluation-by-need semantics) VALUE OBJECTS (Immutable values) ...
Kubernetes Patterns
The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures use new primitives that require a different set of practices than most developers, tech leads, and architects are accustomed to. With this focused guide, Bilgin Ibryam and Roland Huß from Red H...
Designing Scalable JavaScript Applications
If you've ever written a non-trivial JavaScript application, you know that creating a code base that's easy to maintain and scales well over time is no small feat. The complexity only grows as the project becomes larger. While it's impossible to plan for every change that could possibly happen over the life of a project, you can help...
Architecture Patterns with Python
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Pytho...
Acceptance Test Driven Development with React
This book describes how to apply the Acceptance Test Driven Development when developing a Web Application named bookish with React / Redux and other tools in react ecosystem. It also introduces best practices and design patterns in detail about how to write clean code. Using ATDD to build a React Application from scratch. During the development ...