Migrating Software Systems to Cloud Computing: Experiences and Lessons

Venue: International Conference on Software and System Process
Presenter: Ali Babar
Affiliance: University of Adelaide, Australia

Cloud computing has become an attractive option for acquiring and using IT infrastructure and services. In order to exploit the potential benefits of cloud computing, existing software and services need to be migrated to cloud based infrastructures. A successful migration effort needs to be supported by a well-defined process and appropriate practices. However, there is a little evidence-based guidance for supporting cloud migration. One of our main goals is to experimentally understand the key technological, social, and organizational issues in evolving business critical software and services to cloud computing and devising and deploying appropriate solutions. To this end, we have been conducting and/or studying several case studies in industrial and academic environments. This tutorial is aimed at sharing the lessons and experiences from migrating enterprize and open source systems to cloud computing. The tutorial will discuss the technical and socio-technical issues to be considered and the process and tools support required for migrating to cloud computing. The talk will also highlight the the areas of cloud migration that need immediate attention of practitioners and researchers, devise a process-centric support framework, and identify the educational and training needs for cloud migration.

Building Secure and Scalable Private Cloud Infrastructure with OpenStack

Presenter: Ali Babar, Ben Ramsey
Affiliance: University of Adelaide, Australia

Cloud computing has opened new horizons for organisation to meet increasing demand of computing and storage resources without huge upfront investment. Public and private Cloud infrastructures are two of the most common deployment models. Whilst public clouds led the trend of Cloud computing adoption, there is an increasing trend to build and manage private cloud infrastructures for several reasons with security, privacy, and data location management being the predominant concerns. However, there is not much guidance on building, operating, trouble-shooting, and managing a secure and scalable private cloud infrastructure, especially for public agencies. Drawing on our extensive research on architecting and implementing cloud-based systems and experience of building private cloud infrastructures using Open Source Software such as OpenStack technologies, this tutorial will discuss the architectural and technological challenges and solutions for designing and implementing cloud systems. This tutorial will provide the participants with important knowledge and understanding about the theoretical principles and practical techniques for implementing and managing secure and scalable private cloud infrastructures for business- and mission-critical systems. The presenters will also describe the technical strengths and limitations of OpenStack cloud software and its related tools for designing and implementing a dynamically reconfigurable Cloud computing infrastructure. We will share our experiences from experimentally building and evaluating private cloud infrastructures using OpenStack cloud software (such as Rackspace, Mirantis Fuel, and DevStack), different virtualization software (such as KVM and VMware’s ESXi), and baremetal provisioning tools (such as Razor and CloneZilla). The tutorial will also share some lessons learned from a recent completed R&d project aimed at building a private cloud infrastructures using OpenStack technologies, different hypervisors, and baremetal provisioning tools. The participants will have an opportunity to get involved in practical exercises for deploying and experimenting private cloud infrastructure with OpenStack.

Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds

Venue: International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems
Presenter: Ali Babar
Affiliation: University of Adelaide, Adelaide

The title of his talk is “Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds.” Cloud computing has become an attractive option for acquiring and using IT infrastructure and services. In order to exploit the potential benefits of cloud computing, existing software and services need to be migrated to cloud-based infrastructures. A successful migration effort needs to be supported by a well-defined process and appropriate practices. However, there is a little evidence-based guidance for supporting cloud migration. One of our main goals is to experimentally understand the key technological, social, and organizational issues in evolving business critical software and services to cloud computing and devising and deploying appropriate solutions. To this end, they have been conducting and/or studying several case studies in industrial and academic environments. The lessons and evidence from these case studies have enabled them to pinpoint the areas of cloud migration that need immediate attention of practitioners and researchers, devise a process-centric support framework, and identify the educational and training needs for cloud migration.

Cloud Computing for Global Software Engineering: Designing Infrastructures and Supporting Migration

Venue: International Summer School on Software Engineering
Presenter: Ali Babar
Affiliation: University of Lancaster

Cloud Computing promises to enable organizations to have on demand scalable IT (i.e., computing, network, and storage) resources without making huge upfront investment. Like many other domains that stand to greatly benefit from cloud computing in several ways, it is increasingly becoming clear that cloud computing can also help organizations to address several challenges that characterize Global Software Engineering (GSE) paradigm, which has become an increasingly popular model of developing software with geographically distributed teams. This tutorial has been motivated by an important need of providing Software Engineering (SE) researchers and practitioners with knowledge and understanding about the potential opportunities, challenges, and solutions for leveraging cloud computing for supporting SE in general and GSE in particular. Hence, the goal of this tutorial is to introduce the key concepts of GSE and Cloud Computing, describe the challenges of GSE in general and providing tooling support in particular. It will discuss different opportunities, benefits, and challenges involved in leveraging cloud computing to address some of the key GSE challenges. Then this tutorial will focus on two important areas: Tools as a Service (TaaS) and supporting migration to Cloud Computing. This tutorial will highlight some of the promised benefits of providing TaaS to GSE teams . It will outline a set of architectural requirements for a cloud infrastructure for TaaS provision and a set of potential architectural solutions to achieve the key architectural requirements. This tutorial will also describe a detailed description of how to provide process and tooling support for systematically migrating applications and tools to Cloud Computing based infrastructures. The tutorial includes short lectures and interactive discussions, which are designed to help the attendees to better understand different concepts underpinning the methods and approaches for designing, evaluating, and refactoring architectures for cloud computing and identifying the potential areas of further research and development.

Cloud Computing for Global Software Engineering: Designing Infrastructures and Supporting Migration

Venue: International Summer School on Software Engineering
Presenter: Ali Babar
Affiliation: University of Lancaster

Cloud Computing promises to enable organizations to have on demand scalable IT (i.e., computing, network, and storage) resources without making huge upfront investment. Like many other domains that stand to greatly benefit from cloud computing in several ways, it is increasingly becoming clear that cloud computing can also help organizations to address several challenges that characterize Global Software Engineering (GSE) paradigm, which has become an increasingly popular model of developing software with geographically distributed teams. This tutorial has been motivated by an important need of providing Software Engineering (SE) researchers and practitioners with knowledge and understanding about the potential opportunities, challenges, and solutions for leveraging cloud computing for supporting SE in general and GSE in particular. Hence, the goal of this tutorial is to introduce the key concepts of GSE and Cloud Computing, describe the challenges of GSE in general and providing tooling support in particular. It will discuss different opportunities, benefits, and challenges involved in leveraging cloud computing to address some of the key GSE challenges. Then this tutorial will focus on two important areas: Tools as a Service (TaaS) and supporting migration to Cloud Computing. This tutorial will highlight some of the promised benefits of providing TaaS to GSE teams . It will outline a set of architectural requirements for a cloud infrastructure for TaaS provision and a set of potential architectural solutions to achieve the key architectural requirements. This tutorial will also describe a detailed description of how to provide process and tooling support for systematically migrating applications and tools to Cloud Computing based infrastructures. The tutorial includes short lectures and interactive discussions, which are designed to help the attendees to better understand different concepts underpinning the methods and approaches for designing, evaluating, and refactoring architectures for cloud computing and identifying the potential areas of further research and development.

Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds

Venue: International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems
Presenter: Ali Babar
Affiliation: University of Adelaide, Adelaide

The title of his talk is “Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds.” Cloud computing has become an attractive option for acquiring and using IT infrastructure and services. In order to exploit the potential benefits of cloud computing, existing software and services need to be migrated to cloud-based infrastructures. A successful migration effort needs to be supported by a well-defined process and appropriate practices. However, there is a little evidence-based guidance for supporting cloud migration. One of our main goals is to experimentally understand the key technological, social, and organizational issues in evolving business critical software and services to cloud computing and devising and deploying appropriate solutions. To this end, they have been conducting and/or studying several case studies in industrial and academic environments. The lessons and evidence from these case studies have enabled them to pinpoint the areas of cloud migration that need immediate attention of practitioners and researchers, devise a process-centric support framework, and identify the educational and training needs for cloud migration.

Building Secure and Scalable Private Cloud Infrastructure with OpenStack

compressed_shutterstock_197929265

Presenter: Ali Babar, Ben Ramsey
Affiliance: University of Adelaide, Australia

Cloud computing has opened new horizons for organisation to meet increasing demand of computing and storage resources without huge upfront investment. Public and private Cloud infrastructures are two of the most common deployment models. Whilst public clouds led the trend of Cloud computing adoption, there is an increasing trend to build and manage private cloud infrastructures for several reasons with security, privacy, and data location management being the predominant concerns. However, there is not much guidance on building, operating, trouble-shooting, and managing a secure and scalable private cloud infrastructure, especially for public agencies. Drawing on our extensive research on architecting and implementing cloud-based systems and experience of building private cloud infrastructures using Open Source Software such as OpenStack technologies, this tutorial will discuss the architectural and technological challenges and solutions for designing and implementing cloud systems. This tutorial will provide the participants with important knowledge and understanding about the theoretical principles and practical techniques for implementing and managing secure and scalable private cloud infrastructures for business- and mission-critical systems. The presenters will also describe the technical strengths and limitations of OpenStack cloud software and its related tools for designing and implementing a dynamically reconfigurable Cloud computing infrastructure. We will share our experiences from experimentally building and evaluating private cloud infrastructures using OpenStack cloud software (such as Rackspace, Mirantis Fuel, and DevStack), different virtualization software (such as KVM and VMware’s ESXi), and baremetal provisioning tools (such as Razor and CloneZilla). The tutorial will also share some lessons learned from a recent completed R&d project aimed at building a private cloud infrastructures using OpenStack technologies, different hypervisors, and baremetal provisioning tools. The participants will have an opportunity to get involved in practical exercises for deploying and experimenting private cloud infrastructure with OpenStack.

Migrating Software Systems to Cloud Computing: Experiences and Lessons

Venue: International Conference on Software and System Process
Presenter: Ali Babar
Affiliance: University of Adelaide, Australia

Cloud computing has become an attractive option for acquiring and using IT infrastructure and services. In order to exploit the potential benefits of cloud computing, existing software and services need to be migrated to cloud based infrastructures. A successful migration effort needs to be supported by a well-defined process and appropriate practices. However, there is a little evidence-based guidance for supporting cloud migration. One of our main goals is to experimentally understand the key technological, social, and organizational issues in evolving business critical software and services to cloud computing and devising and deploying appropriate solutions. To this end, we have been conducting and/or studying several case studies in industrial and academic environments. This tutorial is aimed at sharing the lessons and experiences from migrating enterprize and open source systems to cloud computing. The tutorial will discuss the technical and socio-technical issues to be considered and the process and tools support required for migrating to cloud computing. The talk will also highlight the the areas of cloud migration that need immediate attention of practitioners and researchers, devise a process-centric support framework, and identify the educational and training needs for cloud migration.