The platform layer is the lower-level environment that supports an application layer. Its identity is contextual: an operating system treats hardware as its platform, while a database management system treats the operating system and hardware as its platform. section 3.3.3
A layered system arranges components vertically. Higher layers usually make downcalls to lower layers and expect responses; lower layers may make upcalls through registered callbacks. Systems may also distinguish application, platform, and infrastructure layers. section 3.3.3
One component, different layer
For a database management system, the database is the application layer, the operating system is the platform layer, and hardware is the infrastructure layer. For the operating system, however, the operating system becomes the application layer and hardware becomes the platform layer. section 3.3.3
Use the platform layer to assign responsibility for failures:
- Handle an unambiguous application-level failure at the application layer, such as compensating for completed e-commerce steps after an insufficient-funds error. section 3.3.6
- Mitigate transient platform failures with an immediate retry, intermittent failures with backoff and multiple retries, and permanent failures by suspending, repairing, and resuming. section 3.3.6
- Elevate an unsuccessful platform mitigation to the application, and escalate recovery failures that require human intervention to operators. section 3.3.6
Visualizes the downcall and upcall relationships that define the layered mental model. section 3.3.3
Maps failure classification to an escalating platform-level mitigation strategy. section 3.3.6
