Many affordable cloud-based offerings that cover software development needs, like version control, issue tracking, remote application monitoring, localization, deployment, payment processing, and continuous integration, do away with the setup, maintenance, and user support costs and complexity associated with running such systems in-house. The most important risks of cloud-based tools concern control of the data stored and the services an organization uses. On the other hand, cloud-based tools dramatically lower the capital requirements and setup costs of a software development organization. They also help organizations adopt best practices in each domain simply by registering with the corresponding service. Using a cloud-based service also means fewer worries regarding scalability, while from the customers' perspective delivering a service through the cloud allows an organization to have a much closer relationship with them. Through cloud-based services the development infrastructure is becoming increasingly homogeneous allowing developers to use the same tools across diverse projects and employers, transferring knowledge and skills from one job to the next, and offering a deeper talent pool of experienced developers. The Web extra at http://youtu.be/szfwWLr30qk is an audio podcast of author Diomidis Spinellis reading his Tools of the Trade column, in which he discusses how cloud-based services are making the software development infrastructure increasingly homogeneous by allowing developers to use the same tools across diverse projects and employers, transferring knowledge and skills from one job to the next, and offering a deeper talent pool of experienced developers.
- platform as a service