Invited Talk at ICT.OPEN
Cloud computing is a promising paradigm for IT, in which the infrastructure, the platform, and even the software are outsourced services. As a new-formed community, we should ask ourselves what cloud computing is, and try to envision what cloud computing could become and which challenges we must overcome to do so.
In this talk, we survey what the cloud is, discarding the hyperbole and focusing on a pragmatic definition. We then ask if there a role for computer science academics in cloud computing, other than as mere users, and attempt to construct a pragmatic answer. We explicitly warn against the danger of merely re-hashing old results, in particular from grid computing research. We focus on applications that could benefit from cloud computing, and for them present two main challenges for the community: how to build a toolbox for (credible) cloud computing research? and how to build the (computing and data) core of cloud computing? We point out examples of hurdles to overcome: deployment models, scheduling, performance and reliability Engineering, scalability and elasticity, cloud inter-operation (federation), and mention how many others we left out (including usability, security, utility models, and programming models).