Cloud-based Software Development For a Federated Cloud
Ahmadi Ghohandizi, Farshad (2015)
Ahmadi Ghohandizi, Farshad
2015
Master's Degree Programme in Information Technology
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2015-02-04
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201501291036
https://urn.fi/URN:NBN:fi:tty-201501291036
Tiivistelmä
Cloud computing provides on demand network access to a shared pool of computing resources that can be provisioned with minimal effort. These resources could be categorised in 3 different levels including software, platform, and infrastructure. As cloud computing gains traction, there is an increasing trend to switch from desktop application to cloud-based ones. In this transition IDEs are not an exception. Some cloud-based IDEs like MIDEaaS are already developed. Now the question is how these IDEs could perform SW development and deployment.
The present thesis implements a cloud-based SW development demonstrator and investigates issues of such an implementation. Developers should be able to use our demonstrator to develop an application and deploy it into the best Platform as a Service (PaaS) provider among the available PaaS providers. The SW development practice our demonstrator follows is continuous deployment which automates phases of SW development cycle including build and release. Since this thesis is part of EASI-CLOUDS project, adopting our demonstrator to multi-provider PaaS architecture is by utilising EASI-CLOUDS platform. EASI-CLOUDS platform federates available clouds (in our case PaaS providers) and negotiates relationship between them and cloud consumer (in our case developers). Due to these two goals, two components (ACCORDS and COAPS) are developed in EASI-CLOUDS project.
Based on the way ACCORDS performs to broker and find the most suitable PaaS provider, two use cases are presented. First use case is based on deferred deployment method of ACCORDS which allows a developer to have control (e.g. stop, start, undeploy, etc.) over his deployed applications on the target PaaS. This use case was not feasible since current implementation of ACCORDS does not support it. Second use case is based on immediate deployment method of ACCORDS. Its main pitfall is losing control over the deployed applications.
The present thesis implements a cloud-based SW development demonstrator and investigates issues of such an implementation. Developers should be able to use our demonstrator to develop an application and deploy it into the best Platform as a Service (PaaS) provider among the available PaaS providers. The SW development practice our demonstrator follows is continuous deployment which automates phases of SW development cycle including build and release. Since this thesis is part of EASI-CLOUDS project, adopting our demonstrator to multi-provider PaaS architecture is by utilising EASI-CLOUDS platform. EASI-CLOUDS platform federates available clouds (in our case PaaS providers) and negotiates relationship between them and cloud consumer (in our case developers). Due to these two goals, two components (ACCORDS and COAPS) are developed in EASI-CLOUDS project.
Based on the way ACCORDS performs to broker and find the most suitable PaaS provider, two use cases are presented. First use case is based on deferred deployment method of ACCORDS which allows a developer to have control (e.g. stop, start, undeploy, etc.) over his deployed applications on the target PaaS. This use case was not feasible since current implementation of ACCORDS does not support it. Second use case is based on immediate deployment method of ACCORDS. Its main pitfall is losing control over the deployed applications.