The Cloud revolutionized the IT industry and led to the emergence of a rich ecosystem that offers countless services and new opportunities to a wide array of different actors. Startup companies and small businesses can benefit greatly from the availability of countless reliable and affordable Infrastructure as a Service (IaaS) providers, allowing instant scaling of resources without the need for upfront investments in expensive hardware. Enabled by operational tools such as Docker and Juju, which facilitate the configuration, provisioning and monitoring of cloud deployments, Platform as a Service (PaaS) offerings provide dependable and easily manageable runtime environments for all kinds of software platforms. By leveraging PaaS solutions, operational overhead can be reduced and development cycles can be accelerated. Finally, Software as a Service (SaaS) has become one of the prime ways in which people interact with software (next to mobile apps) and often provide accessible Application Programming Interfaces (APIs) that enable interesting integrationpossibilities with other cloud applications and services.
The quality and scope of an ecosystem is an important factor, but at the core of its success are the applications (cfr. the landslide in the mobile industry after the release of the first iPhone and later Android). However, developing quality cloud applications & services is not a trivial task: the inherent distributed nature of the cloud and the additional effort required for testing are some of the obstacles faced in this regard. At the same time, engineering teams all over the world are still holding on to development practices and technologies that were designed before the emergence of cloud technologies: large enterprise applications stacks that are hard to configure and take a long time to boot are not compatible with the Cloud philosophy of rapidly deployable instances. Middleware platforms that are difficult to extend with new communication protocols or are having trouble accepting dynamic data due to the use of some rigorously defined format. Libraries on the other hand are not tuned to running in a fully distributed environment and can’t take full advantage of the power of the infrastructure.
The rise of Open Data initiatives along with the APIs provided by Cloud services such as Google Maps, Twitter, OpenWeatherMap make it now easier than ever to create meaningful applications that can influence the way we live our lives. Unfortunately, these sources cannot always be relied upon because of service interruptions (Open Data is mostly provided on a voluntarily basis, no SLAs) or because of the limits imposed by the APIs (sometimes as a means of revenue, but often as a way to bound system load).
A white paper written by Wannes Kerckhove, Thomas Dupont, Bruno Volckaert (iMinds, UGent)