Sequential Management of Horizontally Scaled Containers
The Virtuozzo Application Management provides easy-to-use horizontal scaling functionality for the containers, offering a quick high-availability option for users. Having several same-type nodes within a layer enables their synchronous management. Thus, all containers can be simultaneously configured, inspected for logs and statistics, restarted, or redeployed through the corresponding icons.

1. Additionally, upon working with the horizontally scaled nodes, the impact of the intrusive operations (that usually cause container downtime) can be fully or partially mitigated with the sequential option. It allows actions on nodes to be performed one by one, ensuring at least one container remains operable. The option is available for the following operations:
- containers restart
- containers redeploy
- application deploy (from archive or VCS repo)
- cloudlet limit adjustment
Note: During the listed operations, any connections to the node are terminated. However, in the case of sequential management, requests based on stateless protocol (HTTP) will be automatically moved to the active node, minimizing downtime.
For stateful protocols (WebSockets, FTP, SSH), a mechanism for handling reconnects must be implemented via the user application. Otherwise, connections will be lost even with the sequential approach.
2. The sequential approach is not mandatory. You can freely choose between the following two container management options, switching based on your needs:
- Simultaneous (all containers at once) - apply changes on all nodes in a single run; cause a brief service downtime.
- Sequential (one by one) - adjust nodes consecutively with a predefined delay between operations to minimize service downtime.
These features are designed to provide flexibility and control over the deployment and maintenance processes, catering to different needs during the development and production stages. Namely, the simultaneous option can be preferable during testing/development due to comparatively faster operation time, while the sequential one is recommended for applications in production to ensure minimum impact on service operability. By leveraging the right option, you can achieve a balance between operational efficiency and service reliability.
3. When the sequential approach is selected, you can configure two additional parameters:
- Delay - set an interval between consecutive operations. For example, after the first node is restarted, you wait for a minute to ensure that all services are started before proceeding to the second node. The delay can be set up to 5 minutes (30 seconds by default).
- Temporarily remove node(s) from DNS - if enabled, a node will be excluded from the DNS tables (internal and external) during the intrusive operation. It ensures that new requests won’t go to the affected node, while the operation is still in progress.
Leverage these parameters to maintain your service availability and ensure that connections are not lost even in case of high traffic.



