Storing and Sharing Data Across Containers

| July 14, 2016

Recently we released a new version of Jelastic Cloud with support of a certified Data Storage Container. So today we’d like to pay more attention to this instance and describe the main data sharing possibilities it provides to Jelastic customers.

Data Storage Container feature solves the issues with content duplication between several nodes that provide the same service. Also, it simplifies horizontal scaling of applications as well as enables to build more complex environment topologies easier.

Now you can get an elastic data storage right inside a container, with growing and shrinking capacity upon adding or removing content. As a result, your application receives the storage it needs, whilst you pay only for the actually consumed disk space, not for the defined limits.

The key benefits of containers are portability and mobility, but most of container orchestration solutions require the persistent data to be stored outside of containers. And in many cases an application becomes stuck to the physical hardware node (or VM), partially losing mobility benefits due to specific technical limitations. Data Storage Container ensures that persistent data is following container during the migration process across physical hardware nodes, hardware regions and even across multiple clouds. So for now, in Jelastic any container can be treated as a stateless or stateful instance by enabling storage functionality for it upon the necessity.

Introduced Data Storage Container allows to make multiple environments operating with data in a single storage as easy as if it was kept on the file system locally: e.g. share media files, common configs or just store backups, logs, etc. Herewith, Jelastic provides an easy access to all files within such a storage through the standard dashboard-integrated Configuration Manager.Jelastic Data Container

In such a way, by using data storage container, you can apply smart organization to your projects’ topology and achieve a number of benefits, like:

  • Data Persistence and Security
    The data is totally safe and secure as it runs inside fully isolated containers and stored separately during application updates
  • Scalable Storage Capacity
    Jelastic automatically adjusts size of your storage within predefined limit upon its filling in with data, so you use (and, of course, pay for) exactly the amount of space you currently need
  • Simplified Management
    One set of configurations for multiple containers, different types of data storing, integration with Docker volumes and built-in file manager, fully automated scaling
  • Funds Saving
    Shared data implies elimination from extra data copies, which results in lower disk space consumption and therefore lower costs

Data storage container integration at Jelastic is based on network file system (NFS) protocol, used for client-server communication. Actually, the whole procedure is performed in two steps: at the first one, the data is exported (shared) from the storage container to some other instance, and at the second - the appropriate directory is mounted at a client container.

And in order to ensure the best experience while leveraging this feature, a special Dedicated Storage Container type is provided. It has a number of benefits for data storing compared to the rest of container types, such as depended software being pre-installed and enlarged amount of allocated disk space. Beside that, any instance at Jelastic can be treated as data storage server, including custom Docker containers, where such integration is implemented based on volumes functionality.

With Jelastic Data Storage Container, you get a variety of opportunities to improve your projects’ filesystem structure, make it more reliable and flexible. To get to know more, switch to the docs below, where we consider in more details each storage type, available at Jelastic, and for what kind of data it suits the most:

This kind of storage is used to persist the data, which needs to be kept during container lifecycle, but is not required to be shared across other nodes. If drawing an analogy, basically it’s kind of a folder you create inside a server.image03

Such type of data storing becomes the most efficient when you don’t need to export files on different environments, but face the necessity to share your data in the confines of a single node layer. The initial (master) node of the layer is used as a storage server.image05

Any container in the environment can be treated as a data storage server, being assigned an additional storage role beside the main native one. Using such a kind of compound containers suits best for handling simple projects.image04

For more complex and loaded applications, it is worth to centralize your shared data within a single container to get more simple and flexible exports’ management. Such dedicated storage container allows to share files across multiple layers or even environments of a single account.  image01

Such mounting is intended for establishing connection to a third-party NAS storage, which shares data via NFS. So, if you have your own storage server with the properly structured content being already set up, just mount it and share data across the containers, environments or multiple Jelastic installations with no need to copy or transfer it anywhere.image00

As you see, there are different options for storing and sharing persistent data within Jelastic Cloud, so you can choose the most suitable one according to your project needs or even mix and combine them.

Data Storage Container feature was highly awaited and remains one of the most demanded among our public cloud customers. So, have a try of this new functionality and share your feedback in the comments below!