{'fraction_non_alphanumeric': 0.0222052067381317, 'fraction_numerical': 0.0015313935681470138, 'mean_word_length': 5.535, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Automatic Application Placement and Adaptation in Cloud-Edge Environments

Edge computing describes a paradigm for combining computational resources at the edge of the network with the cloud. Even though complementing the cloud with these resources provides benefits, e.g., low latency, it also introduces new challenges to the operational staff. Such challenges can be: deciding if the applications should be placed in the cloud or at the edge, and monitoring them at runtime to ensure that all the application requirements are met. This becomes more challenging when using microservices due to the complexity of the resulting placement problem. To mitigate such concerns, we introduce an automatic deployment framework along with a prototype implementation, called D-DAD. This framework provides a transparent (to the operational staff) way to deploy applications with respect to all their requirements—including the non-functional—using mechanisms for monitoring and adapting the deployments to the available resources in a cloud-edge environment. For evaluating our framework, we provide results from a series of experiments which show how the adaptation mechanism meets the application requirements, including a ~90% reduction of CPU utilization violations, compared to using only the local resources.