Polymorphic Cloud Application Design Assisted by Open Source Software Classification

Category

Conference Article

Published

27 October 2023

Abstract

Many applications composed of more than one component or service, thus following the micro-service architecture paradigm are being deployed on the cloud exploiting advantages offered by cloud computing infrastructures such as distributed storing and computing, processing hardware (CPU, GPU, FPGA, etc), dynamic event-driven management and the support of many execution forms (serverless, container, HPC, etc) which enable the polymorphic behavior meaning, an application component can run under many execution contexts (forms and on different hardware). Considering the fluctuating nature of the workload handled by cloud applications, the cloud platform does not possess insight into the suitable form and hardware of an application component that maximizes its performance, therefore there is a need of an analysis enabling the discovery of different forms (variants) and processing units, supported by an application component, even if not specified by the application owner to allow the transition from one form or hardware to another; otherwise called cloud polymorphic adaptation. This work presents an approach consisting of discovering additional polymorphic configurations by mining the application component source code. Furthermore, the approach enables the completion of configuration for cloud components with an accuracy of at least 90%.