Cloud platforms constitute distributed and heterogeneous systems. Interacting applications, possibly in different clouds, face relevant interoperability challenges. This chapter details the interoperability problem and presents an interoperability framework, which provides a systematization of aspects such as coupling, compatibility, and the various levels at which interoperability must occur. After discussing the main limitations of current interoperability technologies, such as Web Services and RESTful applications, the chapter proposes an alternative technology. This entails a new distributed programming language, capable of describing both data and code in a platform-agnostic fashion. The underlying model is based on structured resources, each offering its own service. Service-oriented interfaces can be combined with the structured resources and hypermedia that characterize RESTful applications, instead of having to choose one style or the other. Coupling is reduced by checking interoperability structurally, based on the concepts of compliance and conformance. There is native support for binary data and full-duplex protocols.