Understanding Deployment Strategies
The deployment strategy of a service determines how new versions will be initialized. Liferay Cloud provides two deployment strategies for its services: RollingUpdate
and Recreate
.
Differences Between Deployment Strategies
Users expect applications to be available all the time and developers are expected to deploy new versions of them several times a day. In Liferay Cloud this is done with the RollingUpdate
strategy. Rolling updates allow deployments to take place with zero downtime by incrementally updating instances with new ones.
Deployment Strategy | Pros | Cons |
---|---|---|
RollingUpdate |
New versions are released incrementally, maximizing uptime | Full roll outs can take additional time relative to number of instances |
Recreate |
Application state entirely renewed at once | Downtime length that occurs is dependent on shutdown and boot up duration for the application |
Deployments defined with the Recreate
strategy will terminate all the running instances before recreating them with the newer version.
In general, the RollingUpdate
strategy is our recommended approach. The Recreate
strategy can be used in non-production environments or very specific edge cases.
Configuring Deployment Strategies
By default, the services in Liferay Cloud are pre-configured to use the RollingUpdate
strategy. The deployment strategy for each service is configurable via the strategy
variable in the service’s LCP.json
:
{
"id": "myservice",
"strategy": {
"type": "Recreate"
}
}