Deployment Operations
When the user (a human being, an application, a container) performs an action over an application, it goes through a set of deployment operations. As a result, the application status changes as described in Application Status.
The deployment operations are:
● deploy - it can deploy both an application and a standalone module. After the operation finishes, both types of deployables are treated as an application.
● start application – starts the application
● stop application – stops the application
● update – updates the whole application
● single file update – updates only a specified file from the application
● remove – removes the application
● runtime changes – notifies all containers (of the same type as the one where the deployment operations are carried out) in other servers about the changes in an application. This operation can be triggered by a container only.
When a deploy operation is started over an application, a deploy lock with the name of the application is set. There are two types of locks - a write lock and a read lock.
When a deployment operation finishes, it removes all of its locks over the applications.
A write lock guarantees that only one is changing the application.

If an application has a write lock, it cannot have a read lock at the same time. So no application can change this application until the write lock is removed.
The read lock allows different applications to read information from the operation that is currently in a deployment operation.
Several simultaneous read locks are possible.

If an application has a read lock, it cannot have a write lock at the same time. So no application can change this application until the read lock is removed.