Skip to main content

A NOVEL RECONFIGURABLE BY DESIGN HIGHLY DISTRIBUTED APPLICATIONS DEVELOPMENT PARADIGM OVER PROGRAMMABLE INFRASTRUCTURE

Periodic Reporting for period 2 - ARCADIA (A NOVEL RECONFIGURABLE BY DESIGN HIGHLY DISTRIBUTED APPLICATIONS DEVELOPMENT PARADIGM OVER PROGRAMMABLE INFRASTRUCTURE)

Reporting period: 2016-07-01 to 2017-12-31

Given the inability of Highly-Distributed-Application developers to foresee the changes as well as the heterogeneity on the underlying infrastructure, there is a compelling case for the design and development of novel software paradigms that facilitate application developers to take advantage of the emerging programmability of the underlying infrastructure and develop Reconfigurable-by-Design applications. It is also crucial to design solutions that are scalable, support high performance, are resilient-to-failure and consider the runtime environment conditions. Towards this direction, the ARCADIA project aims to design and validate a Novel Reconfigurable-By-Design Highly Distributed Applications Development Paradigm over Programmable Infrastructure.
The proposed framework relies on an extensible Context Model, which can be used by developers directly at the source-code level. Proper Context-Model is assisted and validated by Integrated Development Environment (IDE) plugins to assure that the generated executable files contain meaningful semantics.
According to the ARCADIA's vision, the executables should be on-boarded by a Smart Controller, which undertakes the tasks of translating annotations to optimal infrastructural configuration. Such a controller enforces an optimal configuration to the registered programmable resources and pro-actively adjusts the configuration plan based on the Infrastructural State and the Application State. The Context-Model and the aforementioned ARCADIA toolset are complemented by a Development Methodology that assures that developed Highly Distributed Applications are Reconfigurable-By-Design. ARCADIA framework has been validated and evaluated on three use cases that are deployed over testbeds that host heterogeneous programmable infrastructure:
o Energy Efficiency vs Quality of Service (QoS) Trade - off: This use case shows how the ARCADIA framework can be used to design better energy-aware resource management schemes, by exploiting the application's structure and components to achieve optimal balance between performance and power consumption.
o High Performance Survivable Communications in Distributed IoT Deployments:
The goal of this use case is to introduce ARCADIA capabilities into an existing heterogeneous communications infrastructure for public protection and disaster relief (PPDR) to support survivable and application-aware usage of infrastructure and network capabilities, hence improving availability and survivability of IoT services in emergency situations.
o Security and Privacy Support in the FIWARE Platform: This use case was intended to validate a security and privacy by design approach that helps software developers implement secure and scalable applications by leveraging emerging software technologies such as Network Functions Virtualization. In addition to that, to support security and privacy requirements in a sensitive application domains, a Highly Distributed Encrypted Communication service was considered. The IoT reference architecture from FIWARE was investigated and integrated when implementing use case application.
The ARCADIA framework has been developed around the three use cases and started with specification of the requirements for Highly Distributed Applications and Programmable Infrastructure and requirements for the ARCADIA Context model that driven the design and the development of the ARCADIA software components built to satisfy the specific project goals and use-cases' needs. The ARCADIA Context Model has four main facets: 1) ARCADIA Component Model, 2) ARCADIA Service Graph Model, 3) ARCADIA Service Deployment Model and 4) ARCADIA Service Runtime Model. Additionally, relevant ARCADIA Context Model to TOSCA standard Deployments Models mapping was developed. The requirements informed the Smart Controller architecture design (the key technical component of Arcadia Framework). The context model is processed by the Smart Controller, which automates the provisioning and deployment process, making the applications portable and adaptable to different execution environments. The ARCADIA Framework definition led the technical developments within the project, including the implementation of the architectural components as well as the successful implementation of the use cases. The implemented Use Cases went under carefully designed Performance Evaluation and Validation process to ensure the delivery of strong proof-of concept demonstrations. ARCADIA project results were disseminated through workshops and events to relevant stakeholder groups. Moreover, meetings with relevant businesses were setup and promotional materials in form of leaflets, brochures were sent to industry with inquiry for technical demonstrations. Several successful demo sessions and presentations bring evidence for the significance and usefulness of the delivered results.
"ARCADIA aims at improving Europe's innovation capacity via a variety of ways: A) ARCADIA capitalises on of state of the art technologies to deliver added value services to the software development domain. ARCADIA is taking advantage of innovations in the programmable infrastructure area (e.g. emergence of Software Defined Networking) and in the ""software - annotation"" paradigm to deliver the innovative toolkits, mechanisms and reference implementation aspired. A microservices-based development paradigm was specified towards this direction well mapped with a cloud applications orchestrator (ARCADIA Smart Controller) able to deploy and orchestrate the execution of such applications over programmable infrastructure. The Smart Controller is ETSI NFV compliant, while a set of SDN principles are adopted for providing mainly overlay routing functionalities. B) ARCADIA provides the means to enforce the boost within the software development sector. ARCADIA delivers a software development paradigm that can make the European industrial sector more competitive, leveraging the freedom to the application developer to design and deploy innovative applications in an infrastructural agnostic way, increasing user-friendliness and optimal configuration in application and infrastructure level. This is mainly supported via the aforementioned specified software development paradigm, while its application in the ARCADIA is cases provides validated results that can be exploited towards future developments. C) ARCADIA aspires to contribute to the acceleration of the business growing and job creation pace. ARCADIA constitutes the holistic solution focusing on improving the capacity for deploying highly distributed applications over programmable infrastructure as well as resources' and energy usage efficiency within the Future Internet. The delivery of this innovative framework may facilitate its adoption by several software industries from several discrete domains, as it is a cross-domain solution, as well as it may facilitate the promotion of additional added value services, build on top of this holistic solution, paving the way for innovative offerings from external service providers. Such an approach is facilitated through the adoption of microservices-based development paradigms and the development of repositories, where public and private access can be provided to existing microservices and service graphs. In this way, productivity in the software development world as well software quality of the provided applications is going to significantly increase."
arcadia-image.png