Downloads provided by UsageCounts
Modern cloud computing advances have been pressing application modernization in the last 15 years, stressing the need for application redesign towards the use of more distributed and ephemeral resources. From the initial IaaS and PaaS approaches, to microservices and now to the serverless model (and especially the Function as a Service approach), new challenges arise constantly for application developers. This paper presents a design and development environment that aims to ease application evolution and migration to the new FaaS model, based on the widely used Node-RED open source tool. The goal of the environment is to enable a more user friendly and abstract function and workflow creation for complex FaaS applications. To this end, it bypasses workflow description and function reuse limitations of the current FaaS platforms, by providing an extendable, pattern-enriched palette of readymade, reusable functionality that can be combined in arbitrary ways. The environment embeds seamless DevOps processes for generating the deployable artefacts (i.e. functions and images) of the FaaS platform (Openwhisk). Annotation mechanisms are also available for the developer to dictate diverse execution options or management guidelines towards the deployment and operation stacks. The evaluation is based on case studies of indicative scenarios, including creating, registering and executing functions and flows based on the Node-RED runtime, embedding of existing legacy code in a FaaS environment, parallelizing a workload, collecting data at the edge and creating function orchestrators to accompany the application. For the latter, a detailed argumentation is provided as to why this process should not be constrained by the ”double billing” principle of FaaS. Index Terms—Function as a Service, Software Development, Serverless computing, Function Orchestration
Software Engineering (cs.SE), FOS: Computer and information sciences, Computer Science - Software Engineering, Computer Science - Distributed, Parallel, and Cluster Computing, Distributed, Parallel, and Cluster Computing (cs.DC)
Software Engineering (cs.SE), FOS: Computer and information sciences, Computer Science - Software Engineering, Computer Science - Distributed, Parallel, and Cluster Computing, Distributed, Parallel, and Cluster Computing (cs.DC)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 2 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 1 | |
| downloads | 3 |

Views provided by UsageCounts
Downloads provided by UsageCounts