Starting with the provision of ready-to-use infrastructures, 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.
No abstract
In this paper, we present an engine based on semantic technologies aimed at supporting cloud applications developers, in the tasks of discovering functionalities, APIs, and resources needed for the application development through semantic based agnostic (vendor independent) representations of such application components, and representation of generic programming concepts and patterns, including application domain related ones. It handles, maintains, and exposes to the user in a graphical way the semantic descriptions of application domain concepts, application-related concepts, general design patterns and programming functionalities, specific API implementations and cloud resources, layering the knowledge base in four layers. The semantic engine is a component of the European project mOSAICs framework.The semantic engine architecture includes several modules ( Figure 2):The graphical interface supports the user in expressing the query in graphical mode and presents the results of the query to the user. It uses ontologies to build up a semantic query, represented by means of an internal graph-based representation.An important feature of the semantic engine is its capability to deduce an appropriate parameterized configuration of the cloud application and a generic description of needed IaaS resources. This feature is made possible by the execution of empirical rules that extensively use the semantic description of the application, particularly its design pattern and the description of the critical aspects of the application that need elasticity, such as computational and data complexity of its algorithm. The automatic reasoning feature of the semantic engine is extensively described and exemplified in [31]. In the following, we present a simple example of a rule that provides information on the needed properties of a Virtual Machine that hosts a Web server in a cloud application (Listing 1). This rule, based on the design logic of the application, in this case, a three-tier architectural pattern, and on information about the expected Visitors Peak, aims to provide information to the developer about the properties of the Virtual Machine that has to be acquired from an IaaS provider.The execution of such rules on the knowledge base results in a complete and generic description of the needed IaaS resources for the application. Listing 2 presents a part of such description.
During the past years the Cloud Computing offer has exponentially grown, with new Cloud providers, platforms and services being introduced in the IT market. The extreme variety of services, often providing non uniform and incompatible interfaces, makes it hard for customers to decide how to develop, or even worse to migrate, their own application into the Cloud. This situation can only get worse when customers want to exploit services from different providers, because of the portability and interoperability issues that often arise. In this paper we propose a uniform, integrated, machine-readable, semantic representation of cloud services, patterns, appliances and their compositions. Our approach aims at supporting the development of new applications for the Cloud environment, using semantic models and automatic reasoning to enhance potability and interoperability when multiple platforms are involved. In particular, the proposed reasoning procedure allows to: perform automatic discovery of Cloud services and Appliances; map between agnostic and vendor dependent Cloud Patterns and Services; automatically enrich the semantic knowledge base.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.