In a recent keynote at the 3rd EU-Japan Symposium on Future Internet and New Generation Networks we presented our view about key research challenges in cloud computing. We briefly covered the state of the art and the open challenges in the main cloud layers that provide the tools and the infrastructure to develop and to run the applications in the Future Internet of Services. In this post we try to summarize the main points of the presentation.
Cloud Computing as an Enabler for the Internet of Services
The Internet of Services is a vision of the Internet of the Future where not only the software applications are available as a service on the Internet, such as the software itself, but also the tools to develop the software and the platform (servers, storage and communication) to run the software. In this scenario, SaaS cloud computing would represent the software applications that are available as a service in the Internet, while PaaS and IaaS would represent the enablers for the Internet of Services providing the tool services to develop applications and the infrastructure services to run the applications.
Cloud Computing research addresses the challenges of meeting the requirements of next generation private, public and hybrid cloud computing architectures; and the challenges of allowing applications and development platforms to take advantage of the benefits of cloud computing. We are at the beginning of the road, there are still many technology challenges to be researched and adoption barriers to be overcome. Fortunately because cloud solution architectures include technology components from different fields, many research challenges in Cloud Computing have been already addressed to a certain degree by different research communities, mostly virtualization, Grid and autonomic computing.
Here I do not try to give an exhaustive list of challenges but to briefly describe those challenges that I think should be firstly addressed to unleash the full potential of cloud computing. I organized the challenges in the following six different categories.
Platform Management. Challenges in delivering middleware capabilities for building, deploying, integrating and managing applications in a multi-tenant, elastic and scalable environments.
- Scalability and multi-tenancy of application containers
- Placement optimization algorithms of containers in resources
Cloud-enabled Applications. Challenges in building cloud-enabled applications and platforms to take advantage of the scalability, agility and reliability of the cloud.
- Elastic and scalable applications and frameworks on very large-scale environments
- Self-scaling, self-awareness, self-knowledge, and self-management capabilities of services
- Novel applications of cloud computing
- Power-efficient applications and platforms
- Research challenges in the aggregation of resources from diverse cloud providers adding additional layers of service management
Cloud Aggregation. Research challenges in the aggregation of resources from diverse cloud providers adding additional layers of service management.
- Novel architectural models for aggregation of cloud providers
- Brokering algorithms for high availability, performance, proximity, legal domains, price, or energy efficiency
- Sharing of resources between cloud providers
- Networking in the deployment of services across multiple cloud providers
- SLA negotiation and management between cloud providers
- Additional privacy, security and trust management layers atop providers
- Support of context-aware applications
- Automatic management of service elasticity
Cloud Management. Research challenges in delivering infrastructure resources on-demand in a multi-tenant, secure, elastic and scalable environment.
- Scalable management of network, computing and storage capacity
- Scalable orchestration of virtualized resources and data
- Placement optimization algorithms for energy efficiency, load balancing, high availability and QoS
- Accounting, billing, monitoring and pricing models
- Security, privacy and trust issues in the cloud
- Energy efficiency models, metrics and tools at system and datacenter levels
Cloud Enablement. Research challenges in enhancing platform infrastructure to support cloud management requirements.
- Technologies for virtualization of infrastructure resources
- Virtualization of high performance infrastructure components
- Autonomic and intelligent management of resources
- Implications of Cloud paradigm on networking and storage systems
- Support for vertical elasticity
- Provision of service related metrics
Cloud Interoperability. Challenges to ensure that the available cloud services can work together and interoperate successfully.
- Common and standard interfaces for cloud computing
- Portability of virtual appliances across diverse clouds providers
Building an Open Cloud Ecosystem
There are several large projects funded by the European Commission that are already addressing these challenges or are building testbeds to bridge the usability and cultural gaps of cloud computing. Most of these projects are re-using existing open-source components, so actively contributing to build an open cloud ecosystem. A very good example is the high number of innovative projects using and contributing to the OpenNebula open-source community.
- “The Future of Cloud Computing. Opportunities for European Cloud Computing Beyond 2010“, Expert Group Report
- B. Rochwerger, J. Caceres, R.S. Montero, D. Breitgand, E. Elmroth, A. Galis, E. Levy,I.M. Llorente, K. Nagin, Y. Wolfsthal, “The RESERVOIR Model and Architecture for Open Federated Cloud Computing”, IBM Systems Journal, Vol. 53, No. 4. (2009)
- B. Sotomayor, R. S. Montero, I. M. Llorente and I. Foster, “Virtual Infrastructure Management in Private and Hybrid Clouds”, IEEE Internet Computing, September/October 2009 (vol. 13 no. 5)
- Rafael Moreno-Vozmediano, Ruben S. Montero, Ignacio M. Llorente, “Multi-Cloud Deployment of Computing Clusters for Loosely-Coupled MTC Applications”, IEEE Transactions on Parallel and Distributed Systems, in press