Elastic Node Server (ENS)
Elastic Node Server (ENS) is an Open Source software providing a simple and scalable front-end to one or more Data Storages for use with client Computing Instances. Elastic Node Server (ENS) extends traditional File or Object Storages by exposing not only standard Directories and Files but breaking them down further in a logical tree of Nodes up to the tiniest piece of information. ENS Nodes can be located, queried and accessed semantically via their names disregarding their physical formats and locations.
Once mounted on Computing Instances, Elastic Node Server (ENS) takes charge of the complexity of Files opening, format discovery, public or private library linking and any required data access engineering skill to finally expose the resulting unified tree of Nodes through standard and well known interfaces as the Network File System (NFS), probably the most wildly used distributed file system, As such, a bare standard Operating System running modern or legacy software written in whatever language can access the content of a large variety of File formats without any a priori knowledge of their specifications and without linking any software library specific to the accessed data.
Elastic Node Server (ENS) enables unprecedented use cases including extracting data from ZIP, XML, NetCDF or even binary telemetry data up to the slightest bit from a Python or Shell script, a FORTAN application, Java, C/C++, C#, Word/Excel VBA, etc. without linking or installing anything
More information on Metadata and ENS Virtual paths:
Unified Data Model
ENS can handle a large number of data types through a central and unified data model, clearly separating the data management logic from the implementation details specific to the data formats and access methods. ENS Data Model already supports a large number of data types among which most of the Earth Observation product types e.g. Sentinel-1/2/3 series, ENVISAT ASAR, Landsat-8, Copernicus Marine Environment Monitoring and Land Monitoring Services.
Effective Transferred Volume
ENS saves a significant amount of space by offering live and optimised access within compressed archives and to scientific data in their native formats, e.g. native telemetry.
As for performances, the ease of selection of only the useful part of the data makes ENS more effective in many cases by transferring less data to the computing instances.
Multi Backing Stores
ENS is a Storage wrapper that supports multiple backing storage types including the so-called Block Storages (local or remote File Systems), Object Storage (as OpenStack Swift), or even virtual storages
As a Storage wrapper/handler, ENS is by definition a performance overhead with respect to a direct access to the backing storage. In practice, users and applications don’t need the full content of the standard files or objects in the backing stores especially for Earth Observation data that are increasingly larger. The ease of selection of only the useful part of the data makes ENS faster and more efficient in most use cases
Scalability & High-Availability
ENS is designed to be integrated with horizontal scalability and high availability. As such, ENS can be operated as a cluster of instances that can be expanded according to the required workload. Single points of failures as proxies can be avoided by automatic failover mechanisms
ENS is a “ready-only” service with respect to the Backing Storages. As such, the data cannot be altered by the users from ENS interfaces. However, ENS supports POSIX compatible Access Control Lists (ACLs) to all or part of the data.
The core part of ENS is a 100% Java application that runs on most operating systems. Some native code maybe involved when absolutely required but this only occurs in dedicated or separate modules or extensions.
ENS is an Open Source Software released under GNU Affero GPL version 3.