Learn More
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(More)
One of the key activities that are needed to construct a quality service-oriented solution is the identification of its architectural elements with the right granularity. The selection of an appropriate method for identification of services from business models of an enterprise is thus quite crucial to the success of any service-oriented solution for that(More)
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(More)
Software applications accessible over the web are typically subject to very dynamic workloads. Since cloud elasticity provides the ability to adjust the deployed environment on the fly, modern software systems tend to target cloud as a fertile deployment environment. However, relying only on native elasticity features of cloud service providers is not(More)
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.(More)
One of the key issues that should be considered when addressing reliable evolution is to place a software system in a consistent status before and after change. This issue becomes more critical at runtime because it may lead to the failure on running mission-critical systems. In order to place the affected elements in a safe state before dynamic changes(More)
Enterprise Architecture (EA) has become an important means to acquire and maintain knowledge about the structure and behavior of the enterprises and to develop the required IT systems. Two main goals in architecture - high flexibility and low complexity- are addressed in a new architectural style called Service Oriented Architecture (SOA). In this paper, we(More)