  Virtualization offers several benefits for optimal resource utilization over
traditional non-virtualized server farms. With improvements in internetworking
technologies and increase in network bandwidth speeds, a new era of computing
has been ushered in, that of grids and clouds. With several commercial cloud
providers coming up, each with their own APIs, application description formats,
and varying support for SLAs, vendor lock-in has become a serious issue for end
users. This article attempts to describe the problem, issues, possible
solutions and challenges in achieving cloud interoperability. These issues will
be analyzed in the ambit of the European project Contrail that is trying to
adopt open standards with available virtualization solutions to enhance users'
trust in the clouds by attempting to prevent vendor lock-ins, supporting and
enforcing SLAs together with adequate data protection for sensitive data.
