Ph. D. Thesis.Microservices have emerged as a new approach for developing and deploying cloud
applications that require higher levels of agility, scale, and reliability. A microservicebased
cloud application architecture advocates decomposition of monolithic application
components into independent software components called \microservices". As the
independent microservices can be developed, deployed, and updated independently of
each other, it leads to complex run-time performance monitoring and management
challenges. The deployment environment for microservices in multi-cloud environments
is very complex as there are numerous components running in heterogeneous
environments (VM/container) and communicating frequently with each other using
REST-based/REST-less APIs. In some cases, multiple components can also be executed
inside a VM/container making any failure or anomaly detection very complicated.
It is necessary to monitor the performance variation of all the service components
to detect any reason for failure.
Microservice and container architecture allows to design loose-coupled services and run
them in a lightweight runtime environment for more e cient scaling. Thus, containerbased
microservice deployment is now the standard model for hosting cloud applications
across industries. Despite the strongest scalability characteristic of this model
which opens the doors for further optimizations in both application structure and
performance, such characteristic adds an additional level of complexity to monitoring
application performance. Performance monitoring system can lead to severe application
outages if it is not able to successfully and quickly detecting failures and localizing
their causes. Machine learning-based techniques have been applied to detect anomalies
in microservice-based cloud-based applications. The existing research works used
di erent tracking algorithms to search the root cause if anomaly observed behaviour.
However, linking the observed failures of an application with their root causes by the
use of these techniques is still an open research problem.
Osmotic computing is a new IoT application programming paradigm that's driven
by the signi cant increase in resource capacity/capability at the network edge, along
with support for data transfer protocols that enable such resources to interact more
seamlessly with cloud-based services. Much of the di culty in Quality of Service (QoS)
and performance monitoring of IoT applications in an osmotic computing environment
is due to the massive scale and heterogeneity (IoT + edge + cloud) of computing
environments.
To handle monitoring and anomaly detection of microservices in cloud and edge datacenters,
this thesis presents multilateral research towards monitoring and anomaly
detection on microservice-based applications performance in cloud-edge infrastructure.
The key contributions of this thesis are as following:
• It introduces a novel system, Multi-microservices Multi-virtualization Multicloud
monitoring (M3 ) that provides a holistic approach to monitor the performance
of microservice-based application stacks deployed across multiple cloud
data centers.
• A framework forMonitoring, Anomaly Detection and Localization System (MADLS)
which utilizes a simpli ed approach that depends on commonly available metrics
o ering a simpli ed deployment environment for the developer.
• Developing a uni ed monitoring model for cloud-edge that provides an IoT application
administrator with detailed QoS information related to microservices
deployed across cloud and edge datacenters.Royal Embassy of Saudi Arabia Cultural
Bureau in London, government of Saudi Arabi