| Literature DB >> 26835220 |
G Fylaktopoulos1, G Goumas2, M Skolarikis1, A Sotiropoulos3, I Maglogiannis4.
Abstract
This paper provides an overview of the state of the art technologies for software development in cloud environments. The surveyed systems cover the whole spectrum of cloud-based development including integrated programming environments, code repositories, software modeling, composition and documentation tools, and application management and orchestration. In this work we evaluate the existing cloud development ecosystem based on a wide number of characteristics like applicability (e.g. programming and database technologies supported), productivity enhancement (e.g. editor capabilities, debugging tools), support for collaboration (e.g. repository functionality, version control) and post-development application hosting and we compare the surveyed systems. The conducted survey proves that software engineering in the cloud era has made its initial steps showing potential to provide concrete implementation and execution environments for cloud-based applications. However, a number of important challenges need to be addressed for this approach to be viable. These challenges are discussed in the article, while a conclusion is drawn that although several steps have been made, a compact and reliable solution does not yet exist.Entities:
Keywords: Cloud computing; Code repositories; Integrated Development Environment (IDE); Orchestration tools; Software modeling
Year: 2016 PMID: 26835220 PMCID: PMC4715041 DOI: 10.1186/s40064-016-1688-5
Source DB: PubMed Journal: Springerplus ISSN: 2193-1801
Fig. 1Application lifecycle and tools used in each phase
Comparison of cloud programming environments
| PPlatform | Modelling | IDEs | Documentation | Repository | Mobility | Implementation | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Modelling | Editor | Debugging | Runtime auditing | Project upload | Database | Documentation | Source version control | External repository | Mobility | Cloud | On-premise | |
| Compilr | – | V | – | – | V | – | – | – | V (GitHub) | – | V | – |
| jsFiddle | – | V | – | – | – | – | – | – | – | – | V | – |
| Cloud9 | – | V | V (*node.js) | – | V | V (MySQL, MongoDB) | – | – | V (GitHub) | – | V | – |
| Codenvy | – | V | V (*docker files) | V | V | V (*) | – | – | V (Git, GitHub, BitBucket) | – | V | V |
| Eclipse Orion | – | V | – | – | – | – | – | – | V (Git) | – | V | V (*Eclipse) |
| Koding | – | V | – | – | V | V (*) | – | – | V (Git) | – | V | – |
| Codeanywhere | – | V | – | V | V (DropBox, FTP) | V (MySQL) | – | – | V (SVN, GitHub, Git) | – | V | – |
Asterisks denote the partial implementation of a feature. Cloud 9 offers debugging only for Node.js programming, while Codenvy has it only using Docker files. In terms of Database, Codenvy and Koding let the developers install whatever they want on the VMs, so indirectly they offer this feature. Finally, Eclipse Orion, is a cloud version of Eclipse platform, which can be seen as its on premise equivalent