Storing and Sharing Data Across Containers
Using Jelastic? Here's how to use their data storage containers. See how they work and how you can use them to store and share your information.
Join the DZone community and get the full member experience.Join For Free
recently we released a new version of jelastic cloud with the 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.
introduced data storage container allows you 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 .
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.
one set of configurations for multiple containers, different types of data storing, integration with docker volumes and built-in file manager, fully automated scaling.
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 amounts of allocated disk space. besides 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.
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.
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.
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 a dedicated storage container allows you to share files across multiple layers or even environments of a single account.
such mounting is intended for establishing connections 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.
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.
Published at DZone with permission of Tetiana Markova, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.