Deployments
Deploying multiple Marathon applications
- Stop
- Upgrade
- Scale
Marathon deployments are active until the deployment finishes successfully. You can deploy multiple applications at the same time, but you cannot deploy the same application if it is already an active deployment. Multiple deployment requests for the same application will be rejected.
Dependencies
If applications do not have dependencies, they can be deployed in any order without restriction. If there are dependencies, then the deployment actions are performed in a specific order.
Figure 1 - Deployment diagram
- Stopping : if
db
andapp
are removed from the system,app
is removed first and then . - Upgrade : See Rolling Upgrades.
- Scaling : if
db
andapp
are scaled,db
is scaled first and then .
Rolling Upgrades
The goal of rolling upgrades is to start a set of processes with the new version and stop the set of processes with the old version. There are many ways to do this. By default, DC/OS service deployments use the rolling upgrade method. The upgrade behavior is controlled by health and readiness checks that are set in your application.
- Readiness checks are a temporary monitor that wait for your application to be ready. Readiness checks are useful for cache-warming, JIT warming, or a migration. If a readiness check fails, DC/OS will wait until it succeeds before continuing with the deployment.
You can use the minimumHealthCapacity
parameter to define the minimum number of healthy instances that a certain version of the application must have at all times during update. This parameter is defined individually in each application. The minimumHealthCapacity is a percentage which, when applied to the instance count, defines the number of healthy instances that a certain version of the application must have at all times during update.