-
Service Weaver: A Promising Direction for Cloud-native Systems?
Authors:
Jacoby Johnson,
Subash Kharel,
Alan Mannamplackal,
Amr S. Abdelfattah,
Tomas Cerny
Abstract:
Cloud-native and microservice architectures have taken over the development world by storm. While being incredibly scalable and resilient, microservice architectures also come at the cost of increased overhead to build and maintain. Google's Service Weaver aims to simplify the complexities associated with implementing cloud-native systems by introducing the concept of a single modular binary compo…
▽ More
Cloud-native and microservice architectures have taken over the development world by storm. While being incredibly scalable and resilient, microservice architectures also come at the cost of increased overhead to build and maintain. Google's Service Weaver aims to simplify the complexities associated with implementing cloud-native systems by introducing the concept of a single modular binary composed of agent-like components, thereby abstracting away the microservice architecture notion of individual services. While Service Weaver presents a promising approach to streamline the development of cloud-native applications and addresses nearly all significant aspects of conventional cloud-native systems, there are existing tradeoffs affecting the overall functionality of the system. Notably, Service Weaver's straightforward implementation and deployment of components alleviate the overhead of constructing a complex microservice architecture. However, it is important to acknowledge that certain features, including separate code bases, routing mechanisms, resiliency, and security, are presently lacking in the framework.
△ Less
Submitted 14 April, 2024;
originally announced April 2024.
-
The Microservice Dependency Matrix
Authors:
Amr S. Abdelfattah,
Tomas Cerny
Abstract:
Microservices have been recognized for over a decade. They reshaped system design enabling decentralization and independence of development teams working on particular microservices. While loosely coupled microservices are desired, it is inevitable for dependencies to arise. However, these dependencies often go unnoticed by development teams. As the system evolves, making changes to one microservi…
▽ More
Microservices have been recognized for over a decade. They reshaped system design enabling decentralization and independence of development teams working on particular microservices. While loosely coupled microservices are desired, it is inevitable for dependencies to arise. However, these dependencies often go unnoticed by development teams. As the system evolves, making changes to one microservice may trigger a ripple effect, necessitating adjustments in dependent microservices and increasing maintenance and operational efforts. Tracking different types of dependencies across microservices becomes crucial in anticipating the consequences of development team changes. This paper introduces the Endpoint Dependency Matrix (EDM) and Data Dependency Matrix (DDM) as tools to address this challenge. We present an automated approach for tracking these dependencies and demonstrate their extraction through a case study.
△ Less
Submitted 6 September, 2023;
originally announced September 2023.
-
Comparing 2D and Augmented Reality Visualizations for Microservice System Understandability: A Controlled Experiment
Authors:
Amr S. Abdelfattah,
Tomas Cerny,
Davide Taibi,
Sira Vegas
Abstract:
Microservice-based systems are often complex to understand, especially when their sizes grow. Abstracted views help practitioners with the system understanding from a certain perspective. Recent advancement in interactive data visualization begs the question of whether established software engineering models to visualize system design remain the most suited approach for the service-oriented design…
▽ More
Microservice-based systems are often complex to understand, especially when their sizes grow. Abstracted views help practitioners with the system understanding from a certain perspective. Recent advancement in interactive data visualization begs the question of whether established software engineering models to visualize system design remain the most suited approach for the service-oriented design of microservices. Our recent work proposed presenting a 3D visualization for microservices in augmented reality. This paper analyzes whether such an approach brings any benefits to practitioners when dealing with selected architectural questions related to system design quality. For this purpose, we conducted a controlled experiment involving 20 participants investigating their performance in identifying service dependency, service cardinality, and bottlenecks. Results show that the 3D enables novices to perform as well as experts in the detection of service dependencies, especially in large systems, while no differences are reported for the identification of service cardinality and bottlenecks. We recommend industry and researchers to further investigate AR for microservice architectural analysis, especially to ease the onboarding of new developers in microservice~projects.
△ Less
Submitted 3 March, 2023;
originally announced March 2023.
-
Reliable Web Services Approaches of Mobile CloudComputing: A Comparative study
Authors:
Amr S. Abdelfattah,
Tamer Abdelkader,
EI-Sayed M. EI-Horbaty
Abstract:
The Mobile intermittent wireless connectivity limits the evolution of the mobile landscape, such that this progress coupled with the ubiquitous nature of the Internet and the web services. The web service Reliability achieves the low overhead communication and retrieves the appropriate state response from the web service consumption. This paper discusses and analyzes the most recent approaches tha…
▽ More
The Mobile intermittent wireless connectivity limits the evolution of the mobile landscape, such that this progress coupled with the ubiquitous nature of the Internet and the web services. The web service Reliability achieves the low overhead communication and retrieves the appropriate state response from the web service consumption. This paper discusses and analyzes the most recent approaches that achieve the reliability of web services consumed by mobile devices. Achieving the reliable web service consumption istended to two approaches: Middleware approach and Mobile Agent(MA) approach. Both of them focus on ensuring the request execution under the communication limitations and services temporary unavailability.
△ Less
Submitted 23 July, 2022;
originally announced July 2022.
-
Student Research Abstract: Microservices-based Systems Visualization
Authors:
Amr S. Abdelfattah
Abstract:
The evolution of decentralized microservice-based systems is challenging. These challenges are classified into static and dynamic categories. Regarding the static perspective, documenting and visualizing the fluid application topology is something few have been able to accomplish. Building an architecture map of services design is a complicated task in its interpretation rather than construction.…
▽ More
The evolution of decentralized microservice-based systems is challenging. These challenges are classified into static and dynamic categories. Regarding the static perspective, documenting and visualizing the fluid application topology is something few have been able to accomplish. Building an architecture map of services design is a complicated task in its interpretation rather than construction. Therefore, the system-centric and up-to-date view became essential for such distributed systems. The dynamic perspective considers the process of investigation and service path detection. Therefore performing root cause analysis is a burdening task; such that tracing data is needed to be put in the right context to facilitate the investigation. Moreover, visualizing these traces over the traditional visualization techniques couldn't be feasible with the large number of microservices involved in the system. This paper proposes a visualization concept for microservices-based systems using the Augmented Reality (AR) technique, which merges these static and dynamic behaviors into a single centric view. In addition, we challenge the difficulty related to tracing and debugging an issue in such distributed systems. This concept is designed to work as a dynamic documentation and traceability platform for these systems. A proof of concept and a research study are implemented to show the viability and success of this proposal.
△ Less
Submitted 23 July, 2022;
originally announced July 2022.
-
RSAM: An Enhanced Architecture for achieving Web Services Reliability in Mobile Cloud Computing
Authors:
Amr S. Abdelfattah,
Tamer Abdelkader,
EI-Sayed M. EI-Horbaty
Abstract:
The evolution of the mobile landscape is coupled with the ubiquitous nature of the Internet with its intermittent wireless connectivity and the web services. Achieving the web service reliability results in low communication overhead and retrieving the appropriate response. The Middleware Approach (MA) is highly tended to achieve the web service reliability. This paper proposes a Reliable Service…
▽ More
The evolution of the mobile landscape is coupled with the ubiquitous nature of the Internet with its intermittent wireless connectivity and the web services. Achieving the web service reliability results in low communication overhead and retrieving the appropriate response. The Middleware Approach (MA) is highly tended to achieve the web service reliability. This paper proposes a Reliable Service Architecture using Middleware (RSAM) that achieves the reliable web services consumption. The enhanced architecture focuses on ensuring and tracking the request execution under the communication limitations and service temporal unavailability. It considers the most measurement factors including: request size, response size, and consuming time. We conducted experiments to compare the enhanced architecture with the traditional one that has no additional overhead. In these experiments, we covered several cases to prove the achievement of reliability. Results also show that the request size was found to be constant, the response size is identical to the traditional architecture, and the increase in the consuming time was less than 5% of the transaction time with the different response sizes.
△ Less
Submitted 23 July, 2022;
originally announced July 2022.
-
RMAWS: An Hybrid Architecture for achieving Web Services Reliability in Mobile Cloud Computing
Authors:
Amr S. Abdelfattah,
Tamer Abdelkader,
EI-Sayed M. EI-Horbaty
Abstract:
The intermittent wireless connectivity in Mobiles limits the spread of mobile applications usage over the web, such that the web services are the independent protocol that used to achieve the mobile connectivity with the cloud services. Achieving the web service reliability results in two aspects. The first is low communication overhead and retrieving the appropriate response to prevent the duplic…
▽ More
The intermittent wireless connectivity in Mobiles limits the spread of mobile applications usage over the web, such that the web services are the independent protocol that used to achieve the mobile connectivity with the cloud services. Achieving the web service reliability results in two aspects. The first is low communication overhead and retrieving the appropriate response to prevent the duplicate request execution. The second is overcoming the request time out problem that is one of the most effected issues in the mobile experience. This paper proposes Reliable Mobile Agent and Web Socket approach (RMAWS) that achieves the reliable web services consumption. The enhanced architecture is hybrid between the mobile agent approach and web socket open connection communication protocol. This approach recovers the data lose because of the intermittent connections, overcomes the Time-out problem, and enhances the mobile experience by achieving this service consumption reliability.
△ Less
Submitted 23 July, 2022;
originally announced July 2022.
-
Microservice Architecture Reconstruction and Visualization Techniques: A Review
Authors:
Tomas Cerny,
Amr S. Abdelfattah,
Vincent Bushong,
Abdullah Al Maruf,
Davide Taibi
Abstract:
Microservice system solutions are driving digital transformation; however, fundamental tools and system perspectives are missing to better observe, understand, and manage these systems, their properties, and their dependencies. Microservices architecture leads towards decentralization, which implies many advantages to system operation; it, however, brings challenges to their development. Microserv…
▽ More
Microservice system solutions are driving digital transformation; however, fundamental tools and system perspectives are missing to better observe, understand, and manage these systems, their properties, and their dependencies. Microservices architecture leads towards decentralization, which implies many advantages to system operation; it, however, brings challenges to their development. Microservice systems often lack a system-centric perspective that would help engineers better cope with system evolution and quality assessment. In this work, we explored microservice-specific architecture reconstruction based on static analysis. Such reconstruction typically results in system models to visualize selected system-centric perspectives. Conventional models involve 2D methods; however, these methods are limited in utility when services proliferate. We considered various architectural perspectives relevant to microservices and assessed the relevancy of the traditional method, comparing it to alternative data visualization using 3D space. As a representative of the 3D method, we considered a 3D graph model presented in augmented reality. To begin testing the feasibility of deriving such perspectives from microservice systems, we developed and implemented prototype tools for software architecture reconstruction and visualization of compared perspectives. Using these prototypes, we performed a small user study with software practitioners to highlight the potentials and limitations of these innovative visualizations used for common practitioner reasoning and tasks.
△ Less
Submitted 23 July, 2022; v1 submitted 6 July, 2022;
originally announced July 2022.
-
Microvision: Static analysis-based approach to visualizing microservices in augmented reality
Authors:
Tomas Cerny,
Amr S. Abdelfattah,
Vincent Bushong,
Abdullah Al Maruf,
Davide Taibi
Abstract:
Microservices are supporting digital transformation; however, fundamental tools and system perspectives are missing to better observe, understand, and manage these systems, their properties, and their dependencies. Microservices architecture leans toward decentralization, which yields many advantages to system operation; it, however, brings challenges to their development. Microservices lack a sys…
▽ More
Microservices are supporting digital transformation; however, fundamental tools and system perspectives are missing to better observe, understand, and manage these systems, their properties, and their dependencies. Microservices architecture leans toward decentralization, which yields many advantages to system operation; it, however, brings challenges to their development. Microservices lack a system-centric perspective to better cope with system evolution and quality assessment. In this work, we explore microservice-specific architecture reconstruction based on static analysis. Such reconstruction typically results in system models to visualize selected system-centric perspectives. Conventional models are limited in utility when the service cardinality is high. We consider an alternative data visualization using 3D space using augmented reality. To begin testing the feasibility of deriving such perspectives from microservice systems, we developed and implemented prototype tools for software architecture reconstruction and visualization of compared perspectives.
△ Less
Submitted 23 July, 2022; v1 submitted 6 July, 2022;
originally announced July 2022.