Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Pooyan Jamshidi is active.

Publication


Featured researches published by Pooyan Jamshidi.


ieee international conference on cloud computing technology and science | 2013

Cloud Migration Research: A Systematic Review

Pooyan Jamshidi; Aakash Ahmad; Claus Pahl

Background--By leveraging cloud services, organizations can deploy their software systems over a pool of resources. However, organizations heavily depend on their business-critical systems, which have been developed over long periods. These legacy applications are usually deployed on-premise. In recent years, research in cloud migration has been carried out. However, there is no secondary study to consolidate this research. Objective--This paper aims to identify, taxonomically classify, and systematically compare existing research on cloud migration. Method--We conducted a systematic literature review (SLR) of 23 selected studies, published from 2010 to 2013. We classified and compared the selected studies based on a characterization framework that we also introduce in this paper. Results--The research synthesis results in a knowledge base of current solutions for legacy-to-cloud migration. This review also identifies research gaps and directions for future research. Conclusion--This review reveals that cloud migration research is still in early stages of maturity, but is advancing. It identifies the needs for a migration framework to help improving the maturity level and consequently trust into cloud migration. This review shows a lack of tool support to automate migration tasks. This study also identifies needs for architectural adaptation and self-adaptive cloud-enabled systems.


software engineering for adaptive and self managing systems | 2014

Autonomic resource provisioning for cloud-based software

Pooyan Jamshidi; Aakash Ahmad; Claus Pahl

Cloud elasticity provides a software system with the ability to maintain optimal user experience by automatically acquiring and releasing resources, while paying only for what has been consumed. The mechanism for automatically adding or removing resources on the fly is referred to as auto-scaling. The state-of-the-practice with respect to auto-scaling involves specifying threshold-based rules to implement elasticity policies for cloud-based applications. However, there are several shortcomings regarding this approach. Firstly, the elasticity rules must be specified precisely by quantitative values, which requires deep knowledge and expertise. Furthermore, existing approaches do not explicitly deal with uncertainty in cloud-based software, where noise and unexpected events are common. This paper exploits fuzzy logic to enable qualitative specification of elasticity rules for cloud-based software. In addition, this paper discusses a control theoretical approach using type-2 fuzzy logic systems to reason about elasticity under uncertainties. We conduct several experiments to demonstrate that cloud-based software enhanced with such elasticity controller can robustly handle unexpected spikes in the workload and provide acceptable user experience. This translates into increased profit for the cloud application owner.


IEEE Software | 2016

Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture

Armin Balalaie; Abbas Heydarnoori; Pooyan Jamshidi

This article reports on experiences and lessons learned during incremental migration and architectural refactoring of a commercial mobile back end as a service to microservices architecture. It explains how the researchers adopted DevOps and how this facilitated a smooth migration.


software engineering for adaptive and self managing systems | 2015

Software engineering meets control theory

Antonio Filieri; Martina Maggio; Konstantinos Angelopoulos; Nicolás D'Ippolito; Ilias Gerostathopoulos; Andreas B. Hempel; Henry Hoffmann; Pooyan Jamshidi; Evangelia Kalyvianaki; Cristian Klein; Filip Krikava; Sasa Misailovic; Alessandro Vittorio Papadopoulos; Suprio Ray; Amir Molzam Sharifloo; Stepan Shevtsov; Mateusz Ujma; Thomas Vogel

The software engineering community has proposed numerous approaches for making software self-adaptive. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modifies its own behavior to meet goals. Control theory, in particular, has received considerable attention as it represents a general methodology for creating adaptive systems. Control-theoretical software implementations, however, tend to be ad hoc. While such solutions often work in practice, it is difficult to understand and reason about the desired properties and behavior of the resulting adaptive software and its controller. This paper discusses a control design process for software systems which enables automatic analysis and synthesis of a controller that is guaranteed to have the desired properties and behavior. The paper documents the process and illustrates its use in an example that walks through all necessary steps for self-adaptive controller synthesis.


european conference on service-oriented and cloud computing | 2015

Migrating to Cloud-Native Architectures Using Microservices: An Experience Report

Armin Balalaie; Abbas Heydarnoori; Pooyan Jamshidi

Migration to the cloud has been a popular topic in industry and academia in recent years. Despite many benefits that the cloud presents, such as high availability and scalability, most of the on-premise application architectures are not ready to fully exploit the benefits of this environment, and adapting them to this environment is a non-trivial task. Microservices have appeared recently as novel architectural styles that are native to the cloud. These cloud-native architectures can facilitate migrating on-premise architectures to fully benefit from the cloud environments because non-functional attributes, like scalability, are inherent in this style. The existing approaches on cloud migration does not mostly consider cloud-native architectures as their first-class citizens. As a result, the final product may not meet its primary drivers for migration. In this paper, we intend to report our experience and lessons learned in an ongoing project on migrating a monolithic on-premise software architecture to microservices. We concluded that microservices is not a one-fit-all solution as it introduces new complexities to the system, and many factors, such as distribution complexities, should be considered before adopting this style. However, if adopted in a context that needs high flexibility in terms of scalability and availability, it can deliver its promised benefits.


conference on software maintenance and reengineering | 2013

A Framework for Classifying and Comparing Architecture-centric Software Evolution Research

Pooyan Jamshidi; Mohammad Ghafari; Aakash Ahmad; Claus Pahl

Context: Software systems are increasingly required to operate in an open world, characterized by continuous changes in the environment and in the prescribed requirements. Architecture-centric software evolution (ACSE) is considered as an approach to support software adaptation at a controllable level of abstraction in order to survive in the uncertain environment. This requires evolution in system structure and behavior that can be modeled, analyzed and evolved in a formal fashion. Existing research and practices comprise a wide spectrum of evolution-centric approaches in terms of formalisms, methods, processes and frameworks to tackle ACSE as well as empirical studies to consolidate existing research. However, there is no unified framework providing systematic insight into classification and comparison of state-of-the-art in ACSE research. Objective: We present a taxonomic scheme for a classification and comparison of existing ACSE research approaches, leading to a reflection on areas of future research. Method: We performed a systematic literature review (SLR), resulting in 4138 papers searched and 60 peer-reviewed papers considered for data collection. We populated the taxonomic scheme based on a quantitative and qualitative extraction of data items from the included studies. Results: We identified five main classification categories: (i) type of evolution, (ii) type of specification, (iii) type of architectural reasoning, (iv) runtime issues, and (v) tool support. The selected studies are compared based on their claims and supporting evidences through the scheme. Conclusion: The classification scheme provides a critical view of different aspects to be considered when addressing specific ACSE problems. Besides, the consolidation of the ACSE evidences reflects current trends and the needs for future research directions.


international conference on cloud computing and services science | 2016

Microservices: A Systematic Mapping Study

Claus Pahl; Pooyan Jamshidi

Microservices have recently emerged as an architectural style, addressing how to build, manage, and evolve architectures out of small, self-contained units. Particularly in the cloud, the microservices architecture approach seems to be an ideal complementation of container technology at the PaaS level However, there is currently no secondary study to consolidate this research. We aim here to identify, taxonomically classify and systematically compare the existing research body on microservices and their application in the cloud. We have conducted a systematic mapping study of 21 selected studies, published over the last two years until end of 2015 since the emergence of the microservices pattern. We classified and compared the selected studies based on a characterization framework. This results in a discussion of the agreed and emerging concerns within the microservices architectural style, positioning it within a continuous development context, but also moving it closer to cloud and container technology.


pervasive computing and communications | 2013

Adaptive traffic management for secure and efficient emergency services in smart cities

Soufiene Djahel; Mazeiar Salehie; Irina Tal; Pooyan Jamshidi

Rapid increase in number of vehicles on the roads as well as growing size of cities have led to a plethora of challenges for road traffic management authorities such as traffic congestion, accidents and air pollution. The work presented in this paper focuses on the particular problem of traffic management for emergency services, for which a delay of few minutes may cause human lives risks as well as financial losses. The goal is to reduce the latency of emergency services for vehicles such as ambulances and police cars, with minimum unnecessary disruption to the regular traffic, and preventing potential misuses. To this end, we propose to design a framework in which the Traffic Management System (TMS) may adapt by dynamically adjusting traffic lights, changing related driving policies, recommending behavior change to drivers, and applying essential security controls. The choice of an adaptation depends on the emergency severity level announced by the emergency vehicle(s). The severity level may need to be verified by corresponding authorities to preserve security measures. We discuss the details of our proposed framework and the potential challenges in the paper.


IEEE Transactions on Cloud Computing | 2017

Cloud Container Technologies: a State-of-the-Art Review

Claus Pahl; Antonio Brogi; Jacopo Soldani; Pooyan Jamshidi

Containers as a lightweight technology to virtualise applications have recently been successful, particularly to manage applications in the cloud. Often, the management of clusters of containers becomes essential and the orchestration of the construction and deployment becomes a central problem. This emerging topic has been taken up by researchers, but there is currently no secondary study to consolidate this research. We aim to identify, taxonomically classify and systematically compare the existing research body on containers and their orchestration and specifically the application of this technology in the cloud. We have conducted a systematic mapping study of 46 selected studies. We classified and compared the selected studies based on a characterisation framework. This results in a discussion of agreed and emerging concerns in the container orchestration space, positioning it within the cloud context, but also moving it closer to current concerns in cloud platforms, microservices and continuous development.


quality of software architectures | 2016

Fuzzy Self-Learning Controllers for Elasticity Management in Dynamic Cloud Architectures

Pooyan Jamshidi; Amir Molzam Sharifloo; Claus Pahl; Hamid Arabnejad; Andreas Metzger; Giovani Estrada

Cloud controllers support the operation and quality management of dynamic cloud architectures by automatically scaling the compute resources to meet performance guarantees and minimize resource costs. Existing cloud controllers often resort to scaling strategies that are codified as a set of architecture adaptation rules. However, for a cloud provider, deployed application architectures are black-boxes, making it difficult at design time to define optimal or pre-emptive adaptation rules. Thus, the burden of taking adaptation decisions often is delegated to the cloud application. We propose the dynamic learning of adaptation rules for deployed application architectures in the cloud. We introduce FQL4KE, a self-learning fuzzy controller that learns and modifies fuzzy rules at runtime. The benefit is that we do not have to rely solely on precise design-time knowledge, which may be difficult to acquire. FQL4KE empowers users to configure cloud controllers by simply adjusting weights representing priorities for architecture quality instead of defining complex rules. FQL4KE has been experimentally validated using the cloud application framework ElasticBench in Azure and OpenStack. The experimental results demonstrate that FQL4KE outperforms both a fuzzy controller without learning and the native Azure auto-scaling.

Collaboration


Dive into the Pooyan Jamshidi's collaboration.

Top Co-Authors

Avatar

Claus Pahl

Free University of Bozen-Bolzano

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Xiaodong Liu

Edinburgh Napier University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Andreas Metzger

University of Duisburg-Essen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge