The document discusses building enterprise software with a 'cloud ready' design using an application infrastructure. It advocates separating the core application from frameworks through modularity, abstraction, and encapsulation. This allows the application to be deployed both on-premises and to the cloud in a gradual, non-disruptive manner. The application infrastructure enforces this architecture, providing features like dependency injection, isolation of data access concerns, and logging abstractions to manage complexity and scale across environments.