ISSN ONLINE(2278-8875) PRINT (2320-3765)
Mehdi MEHDARY1, Dr E.BEN LAHMAR3, Dr A.TRAGHA2,Dr A. BELANGOUR3
|
Related article at Pubmed, Scholar Google |
Visit for more related articles at International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering
Many companies are trying to adopt the environment of cloud computing, but, for security reasons, companies are still worried to implicate this environment . We assume that the hybrid model of cloud computing provides the security requirements for these companies. However ,programmers doesn’t have the necessary metamodel to create a standard application that can be compatible to each provider , due to the fact that each provider has his own politic so they can conceive their own cloud . First of all , in this article ,we’re going to prouve that this proposed model hybrid can be fully used so that each client can consume cloud computing services without needing to worry about security problems . that’s why we’re proposing this meta-model so that programmers can get the architecture of cloud computing
Keywords |
||||||||
Security Cloud, hybrid cloud hybrid, meta-model, application architecture, SAAS Application | ||||||||
INTRODUCTION |
||||||||
Cloud Computing, it’s a new computing paradigm it dematerialize computer and make IT services on demand. Online and usable by everybody, everywhere and everytime. It provides to the consumer (an individual user or an organization) many services in different levels.A huge change and a big revolution of operating capital in IT companies [1], that will reduce the costs of investments in IT resources, cancels the cost of installation, maintenance, and monitoring of hardware and software resources. So all those tasks will become the responsibility of cloud serviceproviders, the user will only select his needs , subscribe and run them. In other words , the cloud provides utility computingthrough the presentation of sophisticated services available in the majority of cases in Internet,Without no doubt ,the number of providers is increasing nowadays (Google, microsoft, amazon and salesforce ...) which provide all services in Datacenter with inexhaustible resources. Today ,thoseDatacenters are all over the world, with the size of a dozen of football fields, which makes the consumers attracted by the opportunity to reduce the investment costs and focus on their own services. | ||||||||
Cloud Computing’s architecture is based on three layers of services .on one hand , providers can make those services available ,and on the other hand ,clients would have the possibility to consume them online . The bill is based on what the client have consumed , that’s what we call “ pay-as-you-go “ such us phone companies does with offers in form of packs or other marketing strategies . | ||||||||
These services are: IaaS (infrastructure as a service) that provides capacity of calculation and storage especially interesting and allows the programming of hardware resources through the use of virtualization techniques. PAAS (or platform as a service) it’s a service that sets up development environments, deployment and execution of applications online and on demand. The last layer is the SAAS (or software as a service) that provides application which areready and online for the end-users. So there is no pre-requestfor the client. Deployment, maintenance, supervision of the functioning of the application and data backup are the responsibility of the service provider. Developpment’s architecture of these applications changes from a provider to another, it depends on the platform where the application will be executed and it depends also on how designers sees the cloud . We see that is important to think of an independent meta-model of the platform and infrastructure to develop cloud solutions. That will facilitate migration from a provider to another , and that will make the client get passed the fact of getting stuck with one provider. | ||||||||
In cloud computing we have four major types of application deployment : | ||||||||
the private cloud : all services are specific to the company. The public cloud :resources are pooled and often the Internet is used to associate the supplier and the consumer. The community cloud that is specified for a community such as organizations or governments and there’s also the cloud hybrid which is a mixture of private and public cloud. The model of development applications for the hybrid cloud will be the goal of our work. We will introduce a metamodelthat provides a method to describe software solutions that can be deployed in hybrid Cloud aims. We are going to introduce the idea of a broken applications independentand functional-units distributed on Clouds in form of a hybrid cloud. Figure 1 approves the previously stated concepts and presents cloud computing in general [2]. | ||||||||
CLOUD HYBRID’S ADVANTAGES |
||||||||
Nowadays , Current Cloud Computing is the market in which most IT invests. It is also a very dynamic market with 4,000 millions € in Europe at 2009. With an annual average growth rate estimated at 33% until 2015. For example, IAAS and SAAS services represent more than 7% of the market for software and IT services in France. [3] | ||||||||
In fact , several other statistics show that 88% of potential consumers shows a side safety when using cloud computing. | ||||||||
To overcome these psychological challenges, some researchers [5] predict that cloud computing should definitely move to a hybrid model , or services are directly integrated within datacenters and as well as in internal infrastructure. Which presents a mixture of public and private clouds.Public clouds have services delivered by external providers to the company, while private clouds are in the business protected by their own firewalls . Which then allows to relate these different clouds without compromising the security of one or another , which leads us to this deployment model is derived from the fact that the applications contain business critical services and confidential data , with a public cloud, data and services are vulnerable to more security threats . | ||||||||
However , with a hybrid cloud ,consumers will be able to run services and store data that request huge resources and less confidential in public clouds, and maintain critical services and data within the company. | ||||||||
One supplier cannot provide continuously all the requirements of specific applications. This requires a first time to distinguish the Clouds [6] which will provide the services required by the application, in a second step, we must distribute and control the various units of the application in the Clouds chosen to guarantee the proper use of the application. The use of hybrid environment with a model Meta will unify to add a degree of freedom for the consumer so that he can migrate his application of Clouds from one to another while selecting good services. | ||||||||
The hybrid cloud is a combination of severalClouds [7] , public or private. So we can run an application in a public cloud that consume data stored in a private cloud , or to communicate both deployed in two different private cloud applications, or use several services provided in separate public clouds. | ||||||||
If consumers continue to use the desktop client software, the hybrid cloud will help to communicate the mode on/offline [8] through the software - services approach . And the client’s desktop applications can use SAAS services remote The above decries the hybrid cloud as a combination of online services of different clouds ,private and public, For example, a desktop software can integrate an online service via the API provided by the designer of the service , For example, a desktop software can integrate an online service via the API provided by the designer of the service , knowing that data and applications will remain with the customer . | ||||||||
In this context, if the cloud is seen as a new way of using computers, the hybrid cloud can be considered more secure to use cloud services manner. | ||||||||
Our model will cut an application of independent functional units that can be supported as online services. The deployment of this application is based on the needs of different units distributed in a hybrid cloud environment. In this environment the functional units will be able to communicate with each other, exchange data while maintaining consistency of the application. Figure 2 [9] presents an example of a hybrid cloud where data storage’s service and calculations of different Clouds (public and private) interacts between them | ||||||||
THE META-MODEL PROPOSED OF A HYBRID CLOUD |
||||||||
the meta-model that follows is already a part introduced in article 10 where the author got based on two principal models of making cloud computing's applications ( google app engine model and windows Azure model ) to provide an independent model references of platforms and infrastructures. | ||||||||
Our contribution consists on completing this meta-model and adapt it so we can design applications that can be deployed on a hybrid cloud while addressing the safety component . Moreover, we can't abroad applications SAAS's architecture without talking about service oriented architecture SOA .This architecture is based on a model of interaction application that implements autonomous serviceswho are fractioned as operations that support a function or feature and can communicate with each other through the exchange of data or the execution of activities . SAAS services use the same principle as SOA except that they are performed in a specific environment which is rich and dynamic features … that’s cloud computing. | ||||||||
in SOA’s architecture , all applications are a group of logical units, each one requires resources and a runtime environment. In this context the method will be able to represent SOA applications into independent units, while the hybrid cloud will take over for distribution in different Clouds as needed services of resources and privacy . | ||||||||
To understand how, we present the following example: we want to create a management application that commands for creating new articles, running technical functions and displaying items in web. | ||||||||
As we mentioned above, the functional-units are the basis of the applications that are designed to host a cloud computing environment. These are instance of units that can be cloned in virtual machines to provide horizontal and vertical flexibility. The functional-units are semantically connected by other units through the roles they play to meet an obligation requested Figure 4. The functional-units are identified by a unique name that can be assigned to the virtual IP address of the virtual machine it runs, which ensures the availability, performance and speed of service. | ||||||||
DefinitionFU: provides information on the functional-unit and defines the structure of the application in the cloud. It contains parameters such as the type of the functional-unit, its relationship with other units. | ||||||||
LocationResource: contains information about the size rented of resources for the application in the cloud, this information are defined and modified by the user. | ||||||||
This file contains parameters such as the size of the virtual machine, the required number of instances , the size of the database, the bandwidth and the performance of the business unit location . | ||||||||
In addition to this , this file determines the resource’s configuration for the application and therefore the consumer makes a contract between him and the provider of cloud service. Moreover, this file is monitored by system cost optimizations [2]of resources installed in the environment of cloud computing by the provider , so it is under the control of a contract of guarantee services ( CGS ) that the user and the provider have agreed about . | ||||||||
The settings in this file can be dynamically changed by the user as needed and the size of the application, it is to give flexibility and a major dynamism to the cloud computing services. These changes are detected and automatically taken into account by an optimizing cost system that’s sensitive to the changes in application resources systems. | ||||||||
PropertyModifier: the properties of a functional-unit can be changed dynamically in the runtime. The PropertyModifier FU object can change the properties of the functional-unit such as the number of instances. It allows you to change the contents of the unit Resource Management , this dynamic change in the properties of FU through this modifier causes security threats that must be taken into account. | ||||||||
The functional-units can be classified into: | ||||||||
PresentationLayer: This is the functional-unit that allows the end user to interact with the application through queries of type (request / response). It is accessible by traditional applications such as a browser or client package. It is generally a web application hosted in the cloud and available at all times, it can also be a web service that uses the enterprise service bus to interact with remote services business. | ||||||||
ResourceManagement: it’s the responsible unit for managing the resources of cloud hosting the application, which include application service’s instances, storage and Loader Balancer to the requested instance [9] . It also handles adding, deleting and login to these instances. This unit can be directly accessed through a web portal or a specific API, for example, it is possible to use the protocol SOAP (Service Object Access Protocol) or the EIPs technology (Enterprise Integration Patterns). Communication with the unit must be definitely secured. | ||||||||
BusinessLayer: This functional-unit is not directly accessible to the user, rather it treats or executes specific functions to other functional-units. It usesmessages in shape of a queue for exchanging data with other units such as the unit of the presentation layer. | ||||||||
PersistenceUnit: This unit is responsible of managing the persistence part. It manages data storage and control access to data, include two types of storage: relational storage where data is stored in a relational data base ,and units of nonrelational storage that creates a persistent object’s container identified by a (URI) consists of three types: | ||||||||
Binary : Information in mass such as text or binary data for files . | ||||||||
Collection: it’s some entities that doesn’t have a defined properties scheme , which allows a single collection to contain several entities with different properties, this type of storage used in scenarios where we need to store data full with information while providing management services for data access , modification ... | ||||||||
Queue: succeeded messages or requests where message can be stored for a given period before being removed or replaced in the stack. It is used in communication between units and Presentationlayer or the BusinessLayer, it can also be used to link applications and services. This concept was already worked withby Microsoft and other providers as the Queue | ||||||||
CloudsManagement: This unit will play an important role in the hybrid cloud deployment, it will help to ensure the proper functioning of distributed units in different clouds , it runs in the private cloud environment within the compagny . It identifies critical and non critical services, confidential and non-confidential data. It may contain information on external clouds, the management of the Clouds when migrating from a Cloud to another. | ||||||||
CommunicationPort: This entity is used to define the relationship of a functional-unit with other units . It allows them to exchange data and communicate. This communication can be public and visible from the outside (external) or accessible only by application units (internal). Each CommunicationPort using access mechanisms that defines the interaction semantic message supporting protocols. Two access types can be distinguished: the only access that can be sending or receivingmessages. The dual access, data can be transformed in both directions synchronously or asynchronously (send-receive or send - send) mode. | ||||||||
SecurityElement: This entity includes security concepts that are important in some business services. [3] So to avoid possible system attacks, we must first identify them and then find techniques to proceed. There are generally four types of threats: service availability, integrity and non-repudiation of data, control of access to service and diagnostic activities runned in a service. | ||||||||
RELATED WORK |
||||||||
Article [10] the authors propose a reference model for developing Cloud’s applications based on both platforms :Windows Azure and Google App Engine. | ||||||||
In article [6] the authors argue that the combination of Clouds may be necessary to fill all needs of a single application and provide a technique for optimizing the choice of the Clouds , based on a model to describe the features of a provider, and the ontology to express and relate the concepts of cloud computing, in the following mapping between these two models can define compatible with the application to deploy Clouds . | ||||||||
In article [11] the author has defined an approach as a model for data interoperability between Cloud’s services. | ||||||||
PERSPECTIVE |
||||||||
It is important to note that meta-model can be used to create a DSL (Domain Specific Language) which can facilitate and automate the tasks of development and deployment of applications, Microsoft DSL Tools or the eclipse plug-in Xtext can be used to help generate the internal DSL. | ||||||||
CONCLUSION |
||||||||
To sum up, we proposed a meta- model that can be implemented to create applications that can be deployed in a hybrid cloud. So we focus on the mid-point “hybrid cloud can meet perfectly the requirements requested by customers.” | ||||||||
Figures at a glance |
||||||||
|
||||||||
References |
||||||||
|