Semantic Representation of Cloud Services: a Case Study for Microsoft Windows Azure Beniamino Di Martino, Giuseppina Cretella, Antonio Esposito and Raffaele Giulio Sperandeo Department of Industrial and Information Engineering Second University of Naples Aversa, Italy beniamino.dimartino@unina.it, giuseppina.cretella@unina2.it, antonio.esposito@unina2.it, raffaelegiulio.sperandeo@studenti.unina2.it Keywordscloud computing; semantic web; semantic represen- tation; ontology; cloud interoperability; Abstract—Starting with the provision of ready-to-use in- frastructures, such as storage and compute resources, cloud computing quickly became a flexible, cost-effective and complete environment for a wide range of IT services offered over the Internet. A growing number of cloud providers started to expose their own services to the market, to answer consumer’s need, engaging a competition in the attempt to offer the easiest access to resources and the wider catalogue of services. Being integrated with proprietary services and infrastructures, these offerings makes difficult to switch between different underlying technologies, so that the customer is tied to the service provider’s strategy. This lack in standards interfaces, service requirements and technologies brings into the cloud the vendor lock-in problem. Due to this complex scenery, a categorization of services to support the choice of the right solution, as well as a semantic and computable description of services that enables the comparison and the mapping between different providers’ services, proves to be extremely appealing. In an attempt to take a first important step in this context we propose the semantic description of some cloud services, exposing them in terms of functionalities, parameters exchanged, and collaboration between services. In particular in this paper we present the semantic representation of Microsoft Windows Azure APIs, describing functional and non-functional properties of the services. I. I NTRODUCTION It is quite difficult to find a single complete definition of cloud computing. Most of them, however, describe cloud com- puting as the dynamic provisioning of IT resources throughout the Internet, pointing out the following characteristic: on- demand approach, elasticity, resource metering, pay-per-use. Application in cloud computing are built through cloud APIs (Application Programming Interfaces), allowing services ac- cess and deployment. Vendors provide their own APIs and interface to access the services they offer in the cloud. The lack of a common API prevents first of all the interoperability between services from different providers, and also locks the cloud user in a provider specific solution. The adoption of cloud solutions from some enterprises is still under discussion because applications built around cloud APIs are costly to construct and to change and there is currently no good path to cloud portability to protect the investment in development. Some steps in the scope of avoiding this vendor lock-in have been taken with the introduction of cross-platform APIs such as Delta cloud [1] and mOSAIC API [2]. A cross-platform API provides a higher level of abstraction than cloud provider based API by taking cloud provider specific cloud API calls and making them generic. The benefits of using a cross- platform based cloud API is the ability to use a single API call, to access or leverage cloud resources on more than one provider’s cloud computing platform. This saves a considerable amount of time, reduces complexity of the code rather than implementing multiple cloud provider based cloud APIs but also in this case the user is limited to the cloud platforms supported by the cross-platform API and remains locked in it if the adopted solution is not a standard. On the other hand building services upon reliable standard is a road slowly being undertaken from more and more providers. The application of semantic web technology and meta-data can be applied to cloud computing and can bring advantages at different levels, within and across cloud platform. For example it can provide a machine processable meaning of cloud-based resources and cloud services, enabling automated evaluation, navigation and consumption of clouds and cloud-based resources. In this con- text exploiting the powerful expressiveness of Web Semantic languages, such as OWL-S [3], to represent cloud services might open new horizons in the cloud services discovery and composition. Building a semantic description of the services makes them linked to abstract and cross-platform concepts, but enables the possibility to reconcile and match different semantic representations and then the mapping between dif- ferent cloud providers’ services. Previous investigations on the application of semantic technologies in cloud computing have been done within the mOSAIC project [2]. This work represents an enrichment and reinforcement of the knowledge base of two mOSAIC components, the Semantic Engine [4] and the Dynamic Discovery Service [5]. The Semantic Engine introduces a high level of abstraction over the cloud APIs and cloud resources, by providing semantic based representation of abstract functionalities and resources, related by properties and constraints, and Application domain level concepts and application patterns. Inference rules representing developer experts’ knowledge and reasoners are used to support the cloud application developer in the tasks of discovering the needed functionalities and resources for application devel- opment through vendor independent representations of such application components, and representation of generic pro- gramming concepts and patterns, including application domain related ones. The Dynamic Discovery Service target is to dis- cover Cloud providers functionalities and resources, compare and align to other provider or agnostic API, thus supporting 2014 International Conference on Intelligent Networking and Collaborative Systems 978-1-4799-6387-4/14 $31.00 © 2014 IEEE DOI 10.1109/INCoS.2014.76 647