Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Kyle Brown, Bobby Woolf, Joseph Yoder

Rating No ratings yet

There are more applications running in the cloud than there are ones that run well there. If you’re considering taking advantage of cloud technology for your company’s projects, this practical guide is an ideal way to understand the best practices that will help you architect applications that work well in the cloud, no matter which vendors, products, or languages you use.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A vendor-neutral pattern guide for developers and architects who need to move existing applications into the cloud or fix cloud apps that aren't pulling their weight. It trades hype for reasoned trade-offs, so you can choose an architecture path rather than copy a recipe. 【Book Arc】 - **Opening (~0%–10%)**: Frames why most cloud applications run poorly and defines what "cloud native" actually demands — modularity, independent deployability, availability, scalability, flexibility, and polyglot persistence — before introducing the Twelve-Factor App as the first actionable methodology. - **Early (~10%–24%)**: Moves from principles to mechanics: build pipelines, deployment strategies, IaC/landing zones, SRE and observability, then service APIs (OpenAPI/Swagger, gRPC), externalized session state, and the Backend Service paradigm. - **Early–Middle (~24%–41%)**: Decomposes the monolith — modular monolith vs. distributed architecture, the four-layer architecture, Domain Microservices, Dispatchers per client type, and the design principles (including Single Responsibility) that keep services right-sized. - **Middle (~41%–52%)**: Shifts to dynamics: Event Choreography, Event Notifier, event history and retention trade-offs, Bounded Contexts, Event Storming, and worked examples (shipping containers, ML-driven failure prediction) showing asynchronous design where speed and responsiveness matter. - **Late (~52%+)**: Data and persistence concerns — Data Modules, Polyglot Persistence, Database-as-a-Service, and CQRS for workloads that are queried and updated simultaneously. The excerpts do not cover the closing chapters in detail. 【Key Takeaways】 - **Cloud fitness is a spectrum, not a binary** (Opening): The more cloud-friendly characteristics an application embeds — modularity, independent scaling, flexible persistence — the better it runs there. This reframes "moving to cloud" as incremental refactoring, not a rewrite. - **The Twelve-Factor App is the entry point, not the destination** (Early): It gives teams concrete practices, but the book treats it as a starting methodology that still needs vendor-neutral architecture patterns layered on top. - **Small deployments beat big bangs** (Early): Splitting a monolith into independently deployable modules means an outage affects one part rather than the whole, and releases go faster and more reliably — though module dependencies still cost developer productivity. - **Dispatchers belong to their clients** (Early–Middle): Because a Dispatcher's API is tailored to a client type (mobile bandwidth limits, SPA wizard flows), the same team should own both and evolve them together. - **Right-sizing services is the hardest principle** (Middle): Single Responsibility is easy to state and hard to achieve; domain modeling — Model Around the Domain, Bounded Contexts, Event Storming — is the practical route to services that aren't too fat or too thin. - **Asynchronous events buy availability** (Middle): Event Choreography lets a system stay up even when subscribers are down (e.g., catalog works without the recommendation engine), unlike orchestration or batch updates that couple components or lag in time. - **Event history has real retention limits** (Middle): Using the Event Backbone as your event store is convenient, but backbones like Kafka default to roughly a week of retention — fine for many cases, not all. - **Persistence should be polyglot and managed** (Late): Data Modules let each module pick the database type best suited to its data, Database-as-a-Service removes manual installs, and CQRS resolves the query-vs-update throughput conflict. 【Reading Tips】 - Read the Opening and Early chapters closely for vocabulary and principles; they set up every later pattern and are where the trade-off reasoning is most explicit. - Skim the vendor/tooling passages (pipelines, GitOps, observability) on a first pass — return when you're actually standing up an environment. - Treat the Middle chapters on events and domain modeling as the deep-read core; the shipping-container and airline examples are where abstract patterns become concrete. - Keep a running list of trade-offs rather than conclusions — the book's value is the rationale, not a single prescribed architecture. - If you're modernizing an existing monolith, read the decomposition and Dispatcher material before the data chapters, since persistence choices follow service boundaries. 【Coverage Limits】 This guide is synthesized from stratified excerpts covering roughly the first half of the book; later chapters and the full pattern catalog are only partially represented, so specific closing patterns and chapter titles are not addressed.
Excerpt 1
, external access, and the means to automate the strategies such as GitOps. Environment creation Utilize infrastructure as code (IaC) to build the applicatio...
View in text
Excerpt 2
associated with the user gets passed in with each request. However, even in this case, there is the temptation to store this information within the program,...
View in text
Excerpt 3
d read-only, the orchestrator’s design can be simplified. A complex task that uses multiple read-write data stores needs to be implemented as a business proc...
View in text
Excerpt 4
l be picked up by a crane and loaded onto a container ship. That particular string of Events— #containerArrived , #containerHeld , #containerPrepositioned ,...
View in text
Excerpt 5
oes store the keyspace. stored separately in its own module. At the other extreme, all data types could be stored in a single module. Here are some guideline...
View in text
Excerpt 6
applications can also be challenging to migrate using Lift and Shift if you cannot exactly duplicate the on-premises environment that the vendor application...
View in text
Excerpt 7
existing application as part of migrating it to the cloud. Applying the patterns in this book produces applications that work with the qualities of cloud com...
View in text
Excerpt 8
Condensed; and the code font is Dalton Maag’s Ubuntu Mono. Chapters in Cloud Application Architecture
View in text
Tags
AI categories
Cloud NativeSoftwareBackend
Publish Year: 2025
Language: English
File Format: PDF
File Size: 20.5 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…