Develop Portable Apps with Adaptive Applications

Aaron Stark talks with Haishi Bai, Principal Software Architect at Microsoft, about Adaptive Applications: an architectural approach that separates what an application needs from how those capabilities are delivered.

Overview

What “Adaptive Applications” means

Adaptive Applications are presented as a way to:

Capability-based abstractions (decoupling code from infrastructure)

The episode explains a capability-oriented architecture where developers abstract key concerns behind capability interfaces, so the same app can run in multiple environments without rewriting core logic.

Key capability areas called out:

Why portability matters (sovereignty, compliance, and continuity)

The discussion highlights organizational requirements that often force environment-specific choices:

Adaptive Applications are positioned as a way to meet these constraints while keeping a consistent application architecture.

Running across cloud, sovereign, edge, and on-prem

The episode frames the goal as “build once, run anywhere” across:

Azure Arc and environment portability

Azure Arc is referenced in the context of enabling portability across environments, supporting scenarios where organizations need consistent management and deployment patterns beyond public Azure.

Modernizing existing applications

The episode includes a segment on applying the Adaptive Applications approach to modernize existing applications, using capability abstractions to incrementally decouple legacy assumptions about infrastructure and services.

Resources