Figure - uploaded by Pooyan Jamshidi
Content may be subject to copyright.
Sample migration with source and target architecture.

Sample migration with source and target architecture.

Source publication
Article
Full-text available
Cloud systems provide elastic execution environments of resources that link application and infrastructure/platform components, which are both exposed to uncertainties and change. Change appears in 2 forms: the evolution of architectural components under changing requirements and the adaptation of the infrastructure running applications. Cloud arch...

Similar publications

Article
Full-text available
This paper describes a study case of the Science and Technology Museum (STM) of Patras University, Greece. It highlights its role in the development of the University's cultural landscape and in its extension. STM succeeded to influence it by offering high quality non-formal education services to society. It was socially endorsed by the university...
Article
Full-text available
Pheasants (Phasianus colchicus) are commonly killed on UK roads, presenting a threat to motorists and a loss to the game shooting industry. Pheasants may be inherently susceptible, or the recent increase in their artificial rearing and release may have exacerbated the situation, either through population increases or because artificial rearing has...
Conference Paper
Full-text available
In the company, technology developed to increase competitive advantage and maintain company sustainability. Companies are able to improve efficiency in terms of business processes and financial aspects with technology, but companies often fail to implement due to the problems cannot be resolved properly. One of the key success factors in system imp...
Article
Full-text available
It can be argued that managing change is crucial for any organisation to survive and succeed in the present highly competitive and continuously evolving business environment. However, theories and approaches to change management currently available to academics and practitioners are often contradictory, mostly lacking empirical evidence and support...
Article
Full-text available
Today’s leaders and/or managers must deal with a continual and rapid change. In deciding a major decision manager can no longer refer back to an earlier developed plan for its direction. Management techniques must continually notice changes in the environment and organization, assess, and manage changes. Managing change does not mean controlling, i...

Citations

... In line with other research [9,[11][12][13][14][15], we have argued that modern software systemssuch as CPS, cloud, and service-oriented systems-must be designed for sustainability. In other words, these systems must be able to handle the continuous change inherent to modern software-intensive systems. ...
Article
Full-text available
The Industrial Revolution drives the digitization of society and industry, entailing Cyber-Physical Systems (CPSs) that form ecosystems where system owners and third parties share responsibilities within and across industry domains. Such ecosystems demand smart CPSs that continuously align their architecture and governance to the concerns of various stakeholders, including developers, operators, and users. In order to satisfy short- and long-term stakeholder concerns in a continuously evolving operational context, this work proposes self-adaptive software models that promote DevOps for smart CPS. Our architectural approach extends to the embedded system layer and utilizes embedded and interconnected Digital Twins to manage change effectively. Experiments conducted on industrial embedded control units demonstrate the approach’s effectiveness in achieving sub-millisecond real-time closed-loop control of CPS assets and the simultaneous high-fidelity twinning (i.e., monitoring) of asset states. In addition, the experiments show practical support for the adaptation and evolution of CPS through the dynamic reconfiguring and updating of real-time control services and communication links without downtime. The evaluation results conclude that, in particular, the embedded Digital Twins can enhance CPS smartness by providing service-oriented access to CPS data, monitoring, adaptation, and control capabilities. Furthermore, the embedded Digital Twins can facilitate the seamless integration of these capabilities into current and future industrial service ecosystems. At the same time, these capabilities contribute to implementing emerging industrial services such as remote asset monitoring, commissioning, and maintenance.
... The first step is to move away from physical servers and use virtualisation, a process explored extensively in the literature. [2,3,4] The trend is towards industrialising software development, with Service Oriented Architecture (SOA) being a highly effective architectural approach that facilitates system enhancement without altering them. [5] This approach has been widely acknowledged as an appropriate refactoring approach. ...
Conference Paper
With the development of the cloud offers, we observe a prominent trend of applications being migrated from private infrastructure to the cloud. Depending on the application’s complexity, the migration can be complex and needs to consider several dimensions, such as dependency issues, service continuity, and the service level agreement (SLA). Amadeus, the travel industry leader, had partnered with Microsoft to migrate its IT ecosystem to the Azure cloud. This work addresses the specificity of cloud-to-cloud migration and the multi-cloud constraints. In this paper, we summarise the Amadeus Migration process. The process aims to drive the migration from an initial private cloud environment to a target environment that can be a public or hybrid cloud. Further, the process focuses on a prediction phase that guides the migration process. This paper expects to provide an efficient decision-making process that guides managers and architects to optimise and secure their migration process while considering micro-servicesoriented applications targeting an efficient deployment over multi-cloud or hybrid cloud. The prediction relies on the network simulation to predict applications’ behaviour in the cloud and evaluate different scenarios and deployment topologies beforehand. The objective is to predict migrated applications’ behaviour and identify any issue related to the performance, the application’s dependency on other components, or the deployment in the cloud. The migration process proposed in this paper relies on SimGrid, a toolkit developed by INRIA[52] for distributed application modelling. This framework offers a generic process to model IT infrastructure and can assist cloud-to-cloud migration. Specific attention is given to predictive and reactive optimisations. The first results show predictive optimisation's impact on securing KPI and reactive optimisation to optimise the solution cost. Thus, we reach an average cost reduction of 40% in comparaison with the same deployment strategy while keeping the same SLA.
... Let us return to the main topic after that brief digression. [44], in turn, presents the adaptation at the cloud environment level, strictly managing the rational use of computing resources. Management tasks are often the responsibility of a Resource Management System (RMS). ...
... The autonomic behavior of the system requires the specification of the goal resulting from the adaptation or realization of autonomic processes. The validity of objectives implies meeting the goals in adapting or evolving systems [44]. In the research [44], authors indicate that achieving cloud architecture continuity requires systems to change their architecture and maintain the validity of the goals that determine the architecture. ...
... The validity of objectives implies meeting the goals in adapting or evolving systems [44]. In the research [44], authors indicate that achieving cloud architecture continuity requires systems to change their architecture and maintain the validity of the goals that determine the architecture. The authors propose several models for adaptation and evolution in research and industry consulting projects. ...
Article
Full-text available
The Autonomic Computing paradigm reduces complexity in installing, configuring, optimizing, and maintaining heterogeneous systems. Despite first discussing it a long ago, it is still a top research challenge, especially in the context of other technologies. It is necessary to provide autonomic features to the Cloud-native execution environment to meet the rapidly changing demands without human support and continuous improvement of their capabilities. The present work attempts to answer how to explore autonomic features in Cloud-native environments. As a solution, we propose using the AMoCNA framework. It is rooted in Autonomic Computing. The success factors for the AMoCNA implementation are its execution controllers. They drive the management actions proceeding in a Cloud-native execution environment. A similar concept already exists in Kubernetes, so we compare both execution mechanisms. This research presents guidelines for including autonomic features in Cloud-native environments. The integration of Cloud-native Applications with AMoCNA leads to facilitating autonomic management. To show the potential of our concept, we evaluated it. The developed executor performs cluster autoscaling and ensures autonomic management in the infrastructure layer. The experiment also proved the importance of observations. The knowledge gained in this process is a good authority of information about past and current state of Cloud-native Applications. Combining this knowledge with defined executors provides an effective means of achieving the autonomic nature of Cloud-native applications.
... In the review of the future direction of sustainable cloud computing by Gill et al. [14], they observe that the focus of studies in literature lies on the optimization of the cloud for energy consumption, which serves as a means for minimizing the economic and environmental footprint of the cloud service providers. Pahl et al. [24] focus on the technical and economic sustainability, for the evolution and adaptation of cloud-based software systems during continuous change. Ferrer et al. [12] identify challenges of cloud computing including dependable sociability, a concept which encompasses explicitly economic and environmental sustainability through its cost and ecological impacts. ...
Conference Paper
The ever-increasing digitization has created the need to address global sustainability goals at the software level. Designing the architecture for the sustainability of software-intensive systems is a grand challenge of contemporary software engineering. For cloud-based solutions, where software, platform and infrastructure are delivered as-a-service (XaaS), this under-taking becomes even more challenging due to the opaqueness of services and the diverse set of stakeholders involved. In the context of cloud computing, the primary focus of research has been on addressing the energy consumption and carbon footprint of data centers in terms of their environmental impact. This creates an emerging need to assess sustainability across other sustainability dimensions for its social, economic and technical impacts, too. Through our research, we aim to develop a sustainability-aware architecting framework for Cloud-Based Software Services (CBSSs) that enables practitioners to evaluate and design sustainability-aware architectures. We envision this framework to consist of guidelines, tactics, tools, or methods for delivering sustainability-aware architectures for CBSSs. Furthermore, we aim to evaluate the sustainability awareness of such architectures through sustainability indicators across all four sustainability dimensions (4D-sustainability) i.e. economic, technical, environmental and social.
... Additionally, the two layers of the cloud architecture are associated with networking and security components. 16 The major three cloud service models are SaaS, platform as a service (PaaS), and infrastructure as a service (IaaS). 17 SaaS provides applications and allows users to access them via the internet. ...
Article
Full-text available
Cloud testing is gaining much attention in both academia and industry as an emerging concept in the field of software testing. Cloud testing implies leveraging the resources of the cloud computing environment to overcome deficiencies of the traditional testing approaches. As a result, testing‐as‐a‐service (TaaS) is introduced as a service model that conducts all testing activities in a fully automated manner using cloud‐based resources. Performance testing is a type of software testing that validates the performance characteristics of the application under test (AUT) when subjected to different workloads during its operation. Performance characteristics include throughput, response time, and resource utilization of the AUT under a certain workload. This paper focuses on reviewing the literature related to the provision of performance testing as a service (P‐TaaS). In this study, we survey the previous work related to cloud‐based performance testing. We show the strengths and weaknesses of the current research. Besides, we compare the P‐TaaS with the traditional performance testing methodologies. A detailed discussion of the benefits and challenges of P‐TaaS is introduced along with identifying the research gaps and the future directions that can be adopted. This paper focuses on reviewing the literature related to the provision of performance testing as a service (P‐TaaS). This study surveys the previous work related to cloud‐based performance testing. We show strengths and weaknesses of the current research, as well as compare the P‐TaaS with the traditional performance testing methodologies.
... 58 Configurable resources Cloud service providers are frequently able to deliver the configuration of hardware and software whenever it is required in a shared infrastructure system. 57,59 Throughput High throughput will be achieved in cloud setup as multi tenants are involved in carrying out tasks. 60,94,97 Accessibility Utilizing cloud concept cloud provides are given access to various resources. ...
... The modification in requirements can lead to the evolution of components in cloud software that must be efficiently carried out. 13,59 Fragility ...
Article
Full-text available
Cloud computing is characterized as a shared computing and communication infrastructure. It encourages the efficient and effective developmental processes that are carried out in various organizations. Cloud computing offers both possibilities and solutions of problems for outsourcing and management of software developmental operations across distinct geography. Cloud computing is adopted by organizations and application developers for developing quality software. The cloud has the significant impact on utilizing the artificial complexity required in developing and designing quality software. Software developmental organization prefers cloud computing for outsourcing tasks because of its available and scalable nature. Cloud computing is the ideal choice utilized for development modern software as they have provided a completely new way of developing real‐time cost‐effective, efficient, and quality software. Tenants (providers, developers, and consumers) are provided with platforms, software services, and infrastructure based on pay per use phenomenon. Cloud‐based software services are becoming increasingly popular, as observed by their widespread use. Cloud computing approach has drawn the interest of researchers and business because of its ability to provide a flexible and resourceful platform for development and deployment. To determine a cohesive understanding of the analyzed problems and solutions to improve the quality of software, the existing literature resources on cloud‐based software development should be analyzed and synthesized systematically. Keyword strings were formulated for analyzing relevant research articles from journals, book chapters, and conference papers. The research articles published in (2011–2021) various scientific databases were extracted and analyzed for retrieval of relevant research articles. A total of 97 research publications are examined in this SLR and are evaluated to be appropriate studies in explaining and discussing the proposed topic. The major emphasis of the presented systematic literature review (SLR) is to identify the participating entities of cloud‐based software development, challenges associated with adopting cloud for software developmental processes, and its significance to software industries and developers. This SLR will assist organizations, designers, and developers to develop and deploy user‐friendly, efficient, effective, and real time software applications. Cloud computing is characterized as a shared computing and communication infrastructure. Cloud computing is the ideal choice utilized for development modern software's as they have provided a completely new way of developing real time cost effective, efficient, and quality software. The major emphasis of the presented systematic literature review (SLR) is to identify the participating entities of cloud‐based software development, challenges associated with adopting cloud for software developmental processes, and its significance to software industries and developers.
... In [6], [7], and [8] cloud-native architecture is defined by using control-theoretic and model-based approaches. This architecture has the following principles: ...
Conference Paper
Full-text available
Cloud-native architecture was developed to deal with rapidly changing and uncertain cloud environments. Cloud-native applications have strict managing requirements and by implementing cloud-native architecture it becomes easier to develop and control such software. Cloud-native applications are usually managed by Kubernetes. It allows using the controller pattern that came from the control theory for control software. With Kubernetes’ possibility to extend a developer can create own controller with specific knowledge about their software. Control theory can help to make a controller for an application that will be mathematically proved by control theory methods and laws.
... Pahl et al. [26] frame the continuous evolution and adaptation of cloudbased software systems in a context of technical and economic sustainability. The proposed approach is building on the use of self-adaptation control loops across cloud delivery models as the means for ensuring the continuity of operations. ...
Chapter
Full-text available
The need for acknowledging and managing sustainability as an essential quality of software systems has been steadily increasing over the past few years, in part as a reaction to the implications of “software eating the world”. Especially the widespread adoption of the Everything as a Service (*aaS) model of delivering software and (virtualized) hardware through cloud computing has put two sustainability dimensions upfront and center. On the one hand, services must be sustainable on a technical level by ensuring continuity of operations for both providers and consumers despite, or even better, while taking into account their evolution. On the other hand, the prosuming of services must also be financially sustainable for the involved stakeholders.
... Architectural configurations impact the performance of self-adaptive software systems [20]. There exist many techniques, such as Bayesian optimisation [14] and multi-objective optimisation [10] that have been used for moving towards the optimal performance of self-adaptive systems. ...
Preprint
Full-text available
In pervasive dynamic environments, vehicles connect to other objects to send operational data and receive updates so that vehicular applications can provide services to users on demand. Automotive systems should be self-adaptive, thereby they can make real-time decisions based on changing operating conditions. Emerging modern solutions, such as microservices could improve self-adaptation capabilities and ensure higher levels of quality performance in many domains. We employed a real-world automotive platform called Eclipse Kuksa to propose a framework based on microservices architecture to enhance the self-adaptation capabilities of automotive systems for runtime data analysis. To evaluate the designed solution, we conducted an experiment in an automotive laboratory setting where our solution was implemented as a microservice-based adaptation engine and integrated with other Eclipse Kuksa components. The results of our study indicate the importance of design trade-offs for quality requirements' satisfaction levels of each microservices and the whole system for the optimal performance of an adaptive system at runtime.
... We investigated performance engineering solutions for self-adaptive container cluster systems [19], aiming to find an efficient way to determine and express autoscaling rules for such systems, in order to improve platform settings. ...
Chapter
Full-text available
We propose a performance engineering technique for self-adaptive container cluster management, often used in cloud environments now. We focus here on an abstract model that can be used by simulation tools to identify an optimal configuration for such a system, capable of providing reliable performance to service consumers. The aim of the model-based tool is to identify and analyse a set of rules capable of balancing resource demands for this platform. We present an executable model for a simulation environment that allows container cluster architectures to be studied. We have selected the Kubernetes cluster management platform as the target. Our models reflect the current Kubernetes platform, but we also introduce an advanced controller model going beyond current Kubernetes capabilities. We use the Palladio Eclipse plugin as the simulation environment. The outcome is a working simulator, that applied to a concrete container-based cluster architecture could be used by developers to understand and configure self-adaptive system behavior.