Currently deployments are transactional, ensuring that once a running version of an app is live it doesn't get replaced by a broken version down the line (based on the results of the healthcheck).
For an initial deployment this breaks down slightly. Every failed attempt at getting that first correct version up and running results in databases and load balancers being provisioned and then torn down again once the healthcheck fails.
This could be improved by marking the application as unhealthy instead, preventing those time-consuming provisioning tasks from being torn down again, making subsequent deployment attempts much faster.
Currently deployments are transactional, ensuring that once a running version of an app is live it doesn't get replaced by a broken version down the line (based on the results of the healthcheck).
For an initial deployment this breaks down slightly. Every failed attempt at getting that first correct version up and running results in databases and load balancers being provisioned and then torn down again once the healthcheck fails.
This could be improved by marking the application as unhealthy instead, preventing those time-consuming provisioning tasks from being torn down again, making subsequent deployment attempts much faster.