The HOLA Cloud roadmap compiles the opinion of ICT experts to assess how CLOUD Computing will develop over the next years. Basing on the experts’ opinions the roadmap tries to identify which long-term developments are needed on basis of the overall research and development trends both in industry and academy, as well as market trends that indicate how the requirements and market needs will develop.
On the following pages, the key topics and the individual aspects of the roadmap are presented in full detail and opened to discussion. In regular intervals, the comments will be analysed and the roadmap updated accordingly.
Overview Over the Key Topics of the Roadmap
The major challenges identified by the community and requiring R&I activity to improve CLOUD Computing and to move beyond conventional CLOUD Computing between now and 2030 are:
- advanced systems development method(s) that allow developers to express their actual intention of the code without having to develop the full algorithm by basing on pre-existing modules and patterns;
- placement and locality of code and data freely in a “mesh” of resources so as to ensure that they are at the right place at the right time so that the main incentives or quality criteria are always met;
- adaptive management of software (self-adaptive code) and information within context and requirements to ensure that intention and incentive are always met even when the context changes;
- interoperability and portability of the application over the “mesh” of resources by abstracting from code and data and instead acting on information and intention;
It was agreed that core to all key topics is the abstraction of code, data and non-functional requirements, i.e. Intention, Information and Incentive. These factors are strongly correlated and interdependent, i.e. incentive influences intention (short: I3). This follows the typical historical drive of IT development towards more abstraction:
- Information: IT is not so much about data, but about information and knowledge. Interoperability can be achieved by abstracting from data and maintaining what information actually needs to be conveyed. This is a move from compute- to data- to information-centric computing
- Incentive: Software (and hardware) needs to meet the functional and non-functional requirements, but they need to be “naturally” and understandably defined not as low level concrete service level objectives. Low-level definitions cannot be (de)composed and suffer from application to different contexts.
- Intention: Every software has a goal, the algorithm is just one path towards that goal. In order to be adaptable, decomposable and freely movable, the intention must be released from one fixed execution, i.e. algorithm.
The following table represents the relationship between I3 concepts and the key sub-topics identified. Note that there is an obvious agreement that all levels of future IT must be incentive driven and that code and data becomes volatile over the mesh of resources that constitute the internet. It will also be noted that the three I are strongly correlated and interdependent (the same sub-topic in more than one column).
|Advanced System Development||model validation||model validationmodel driven programmingsystem development including network / edge|
|Placement and Locality||placement & locality of data, software, usersnetwork-based approach (network as multi-CLOUD)partitioning of data||placement & locality of data, software, usersprovenance & curationnetwork-based approach (network as multi-CLOUD)deal with mobile interfaces (incl. security, communication)fault-tolerance (e.g. mirroring)partitioning of datadecomposition of codedeal with 5V (volume, velocity, variety, veracity, value)||decomposition of code|
|Adaptive Code||reasoning with uncertainty and incompleteness||self-adaptation to meet requirementspervasiveness through software stackmonitor behavior to match against requirementslearn from monitored behaviour||self-adaptation to meet requirementslearn from monitored behaviour|
|Interoperability and Portability||formal syntax for standards & dialectsinteroperability across platforms, data, users…||formal syntax for standards & dialects||interoperability across platforms, data, users…virtualisation hiding / exposing platform characteristicsbeyond virtualization|