Big data is nowadays being integrated in systems requiring to process a vast amount of information from (geographically) distributed data sources, while fulfilling the non-functional properties (real-time, energy-efficiency, communication quality and security) inherited from the domain in which analytics are applied. Examples include smart cities or smart manufacturing domains. ELASTIC is developing a novel software architecture to help system designers to address this challenge.

ELASTIC’s software architecture is integrating the most advanced information and communications technologies (ICTs) from multiple computing domains into a single development framework. This technology will enable the design, implementation and efficient execution of extreme-scale big-data analytics. To achieve this goal, it will incorporate a new elasticity concept across the compute continuum, with the objective of providing the level of performance needed to process the envisioned volume and velocity of data from geographically dispersed sources at an affordable development cost, whilst guaranteeing the fulfilment of the non-functional properties inherited from the system domain.

The figure below shows a schematic view of the ELASTIC software architecture stack and the set of layers to be integrated.




The description of the different layers integrated into the ELASTIC software architecture are listed below:

This layer provides the Application Programming Interface (API) needed to develop the ELASTIC use case implementing extreme-scale analytics. Moreover, it also provides the needed distributed storage tools to deal with the management, storage, and retrieval of data at the time it is needed and at the location where it is needed.

This layer implements the set of tools and components which will be able to statically (offline) and dynamically (online) determine how non-functional system properties - i.e., real-time, energy efficiency, communication quality and security - map into the computing devices located at edge and cloud, and so creating an initial configuration of the application.

This layer, with the input of the non-functional requirements tool, implements the elasticity concept promoted by ELASTIC in which the different functionalities of the system will be properly orchestrated across the compute continuum, to provide the right level of service to analytics workloads.

These layers abstract the multiple edge and cloud computing resources spread across the compute continuum. To do so, this layer deploys the application components, i.e., the computational units distributed by the orchestrator layer, to virtual resources using container technologies, and considering configuration and infrastructural requirements.