  With the advent of cloud computing, different cloud providers with
heterogeneous cloud services (compute, storage, network, applications, etc.)
and their related Application Programming Interfaces (APIs) have emerged. This
heterogeneity complicates the implementation of an interoperable cloud system.
Several standards have been proposed to address this challenge and provide a
unified interface to cloud resources. The Open Cloud Computing Interface (OCCI)
thereby focuses on the standardization of a common API for
Infrastructure-as-a-Service (IaaS) providers while the Topology and
Orchestration Specification for Cloud Applications (TOSCA) focuses on the
standardization of a template language to enable the proper definition of the
topology of cloud applications and their orchestrations on top of a cloud
system. TOSCA thereby does not define how the application topologies are
created on the cloud. Therefore, we analyse the conceptual similarities between
the two approaches and we study how we can integrate them to obtain a complete
standard-based approach to manage both cloud infrastructure and cloud
application layers. We propose an automated extensive mapping between the
concepts of the two standards and we provide TOSCA Studio, a model-driven tool
chain for TOSCA that conforms to OCCI. TOSCA Studio allows to graphically
design cloud applications as well as to deploy and manage them at runtime using
a fully model-driven cloud orchestrator based on the two standards. Our
contribution is validated by successfully designing and deploying three cloud
applications: WordPress, Node Cellar and Multi-Tier.
