In this article we focus on the Jelastic Platform-as-Infrastructure system of isolated containers. We will show how this isolation is achieved in Jelastic and also the benefits of this solution.
Jelastic environment instances of all kinds (like app servers, databases etc.) are fully independent virtual machines (containers) located on different physical servers (hardware nodes).
Jelastic provides individual, role-based servers for:
- The ability to migrate containers manually
Security of Isolated Containers
To run multiple containers (virtual machines) simultaneously on a single hardware node, we use the virtualization method. As a result, the containers become fully isolated with no risk of interfering with each other. In the case if the security of any container is compromised, the rest of the containers at the hardware node are left unaffected.
As all containers are isolated virtual machines, it's impossible to reach any services from another container by specifying localhost:port_number or 127.0.0.1:port_number.
This can only be achieved by specifying a private/public IP address or a hostname. For example, it is required for the connection to the database instance from the application.
Scalability of Isolated Containers
When your application requests more resources, the physical server which runs your node might not be able to provide the required amount of resources. In such cases, Jelastic automatically performs a live migration of the container to another hardware node within 30 seconds. While migrating, the application keeps working without interruption and receives the required resources, while being scaled vertically.
More server instances can be added to your environment using horizontal scaling. You don’t need to worry if there is enough space on the hardware node. Jelastic automatically selects the hardware node with the required amount of free space and relocates your container. This offers high-quality performance to each of your nodes.
Manual Migration of Isolated Containers
As the containers of each existing environment are fully isolated, they can be easily migrated to another physical server by the hosting provider,in order to maintain performance levels. This can be manually performed via the Jelastic Cluster Admin panel (Cluster > Hardware nodes) any time when it is needed or requested.
It is possible to evacuate all of the containers together, that are located on one hardware node or migrate them to the container one by one.
Container migration or evacuation is performed in a simple-online migration mode.
1. Evacuation of one or more hardware nodes with containers can be performed automatically. In this case, the choice of the target node will be done automatically based on these requirements:
the node should have a lower load than others
the node should not contain the containers of the same type and from the same application
A hosting provider can also specify the target hardware node for evacuation, by selecting the required one.
The process of evacuation can be monitored or stopped via the special Evacuation State tab. If the evacuation is stopped, the containers which have already begun to migrate will complete this process, however the rest of the containers will not start migrating.
2. Containers can also be migrated one-by-one. For this, a hosting provider should choose the required container (or several of them using Shift+Click), click Migrate and specify the destination hardware node.
In such a way, you can be sure that your instances are secure and have enough resources for high level performance. And, your hosting provider can easily monitor the situation with the space on the hardware nodes, perform the required actions in order to increase the performance and meet the needs of your application.