Design and Implementation of Hybrid Cloud Computing Architecture ...

3 downloads 237870 Views 297KB Size Report
Abstract—A new model of hybrid cloud computing architecture based on cloud bus is proposed. The system is based on local private cloud, combined with one ...
2013 IEEE 9th International Conference on Mobile Ad-hoc and Sensor Networks

Design and Implementation of Hybrid Cloud Computing Architecture Based on Cloud Bus Caifeng Zou

Huifang Deng*

Qunye Qiu

School of Computer Science and Engineering, South China University of Technology; College of Information Engineering, Guangdong Mechanical & Electrical College Guangzhou, China [email protected]

School of Computer Science and Engineering South China University of Technology Guangzhou, China [email protected]

School of Computer Science and Engineering South China University of Technology Guangzhou, China [email protected]

the usage of the server is very low. Cloud computing can get all these problems solved, make the existing IT resources highly virtualized, and draw these virtualized resources to a large resource pool. Then it distributes the computing tasks to the pool and lets the application system automatically obtain computing ability, storage space, and software service according to the requirements. We call this resource pool as a “Cloud”. This “Cloud” consists of virtual computing resources that can be maintained and managed by itself, including computing servers, storage servers, broadband resources and so on. Cloud computing can attract all the computing resources in one place, and use software to manage the resources without humans. This makes the application provider pay more attentions to the business rather than the implementation details, and it is good for innovation and cost control [4-6].

Abstract—A new model of hybrid cloud computing architecture based on cloud bus is proposed. The system is based on local private cloud, combined with one or more type(s) of public cloud(s). The internal structures of private cloud and public cloud are the same, including infrastructure and virtualization layer, cloud platforms layer, cloud bus layer, cloud application layer, the management center and storage centers. The layer of infrastructure and virtualization is designed to incorporate the underlying hardware resources into a virtual cluster, providing a variety of virtual resources to the upper layer. The layer of cloud platform is used to run Web applications or services, and carry application-specific development and application integration through its open interfaces. The cloud bus layer, consisting of a control bus, a number of node buses and adapters, is designed to manage and monitor the various services of the cloud platform layer. The proposed model of the architecture can accelerate the migration of the existing IT environments to cloud computing environments, reduce the investment, and make full use of IT resources.

Hybrid cloud is the combination of public and private clouds, which is increasingly used by enterprises. The advantages of hybrid cloud include security of private cloud, and open features of public cloud. In order to improve the ability of business support and the efficiency of IT management, in this work, we designed the hybrid cloud computing architecture to solve the problems with cloud computing such as migration, resource utilization, resource integration, and so on. This architecture can solve the difficulties and challenges faced by enterprise datacenter, such as investment reduction, speedup of deployment, rapidness of disaster recovery, increase in the continuity of business, and decrease in the consumption of energy and space.

Keywords-hybrid cloud computing; cloud architecture; cloud bus; virtualization

I.

INTRODUCTION

In recent years, cloud computing has become one of the most fashionable term in IT area, even in public media; it is also regarded as a new round of tide in IT development and evolution. Cloud computing is seen as the product of having integrated the network technology and the traditional computing technology, such as distributed computing, parallel computing [1][2], grid computing, utility computing, virtualization, network storage, load balancing, and so on [3]. It is a new business computing model too.

II.

Most of companies want to use the information services in cost-effective way, but the traditional IT services is time consuming and money costing in hardware building, software development, maintenance, and management, while

The cloud computing architecture can overcome many a problems with traditional client-server architecture, such as poor scalability, and low performance [7]. It distributes the

* Corresponding author.

978-0-7695-5159-3/13 $31.00 © 2013 IEEE DOI 10.1109/MSN.2013.72

HYBRID CLOUD COMPUTING ARCHITECTURE BASED ON CLOUD BUS

289

B. Cloud Internal Structure In the hybrid cloud computing architecture proposed by this paper, the internal components of private cloud and public cloud are consistent in structure with each other. This structure consists of four layers and two centers. The four layers include infrastructure and virtualization layer, platform layer, bus layer and application layer. The two centers are management center and storage center. The detail of cloud internal structure is shown in figure 2.

computing tasks to the cluster computer dynamically, and flexibly allocates the resources of software and hardware according to the business development and application usages, so as to implement on-demand access, and provide a variety of IT services outside and inside [8]. Cloud computing can not only improve server utilization and provide high-performance computing and mass data storage, but also reuse the old IT resources to reduce budgets. In this paper, we propose a new IT architecture solution based on hybrid cloud computing, combining with the open source technology of virtualization, distributed storage, SOA, REST, Web2.0, and so on.

C. Functional Design of Cloud Internal Structure In the cloud internal structure, the infrastructure and virtualization layer is divided into two parts: the physical layer and the virtual layer. The physical layer includes servers, storage devices, network devices, and so on. The virtual layer is an Infrastructure as a Service (IaaS) solution, which uses virtualization technology to build a large virtual cluster upon the hardware resources, providing all kinds of virtual servers, virtual storage, virtual memory, and so on. The infrastructure and virtualization layer considers the physical resources as a whole, and uses virtualization technology for unified management of the physical resources, and monitors the related data in real-time, such as performance, load information. Meanwhile, it can make the physical devices auto-discovery, auto-addition and automaintenance, and make it have a good scalability. The infrastructure and virtualization layer can implement a flexible, self-adaptive virtual cluster with huge computing ability and fault-tolerant ability. Except for providing virtual resources, the infrastructure and virtualization layer also provides a set of tools for managing and deploying applications, running applications, and executing all the requests from the applications at all times.

A. Architecture Model of Hybrid Cloud Computing

Figure 1. Hybrid cloud computing architecture.

The purpose for designing the platform layer is to implement a hosting environment. Using this environment, we can quickly start and run a Web application or service, and the users can use the open interface of the platform layer to carry further application-specific development and application integration. The platform layer is a Platform as a Service (PaaS) solution, which is divided into two parts: computing engine and service layer. The computing engine includes distributed computing engine, parallel computing engine, services and applications trusteeship environment, and so on. The service layer includes storage service, computing service, authentication service, third-party service, and so on. The purpose for designing the service layer is to provide the basic data and the processed data to the above application in the form of service. The services of the service layer have a fixed programming rules and a unified interface, and users can assemble the services into a more complicated service to meet the business requirement.

The hybrid cloud computing system is based on local private cloud, combined with one or more types(s) public cloud(s). The internal strctures of private cloud and public cloud are consistent with each other, including infrastructure and virtualization layer, cloud platforms layer, cloud bus layer, cloud application layer, the management center and storage centers. The infrastructure and virtualization layer is designed to incorporate the underlying hardware resources into a virtual cluster, providing a variety of virtual resources to the upper layer. The cloud platform layer is used to run Web applications or services, and carry further development and application integration by through its open interfaces. The cloud bus layer, consisting of a control bus, a number of node buses and adapters, is designed to manage and monitor the various services of the cloud platform layer. The cloud application layer contains SaaS and PaaS service applications. The management center is used for user management, security management, task management, service quality assurance, resource management, and system configuration. The storage center is responsible for data processing and storage in the entire cloud environments. Figure 1 shows the hybrid cloud computing architecture.

The cloud bus layer is the essential (core) component of this model which can be seen as a brand new idea in this paper . Most of the existing cloud computing solutions are complicated and cumbersome in information integration aspect, and the purpose for designing the bus layer is to avoid this situation, and simplify the information integration

290

and services integration under the cloud environment. The bus layer consists of three parts: service adapter layer, core layer, and application adapter layer. The service adapter layer provides adapters which can communicate with service providers, including .NET service adapter, and J2EE service adapter. The core layer provides some basic function, such as service registering, service monitoring, message routing, and access authentication. The application adapter layer provides adapters which can communicate with software applications, including .NET application adapter, and J2EE application adapter. The bus layer is the core that can easily implement data exchange without any difficulty, and it is an

independent communication component without relying on any special language or platform. The software applications use application adapter to interact with the bus, and the bus uses service adapter to interact with service providers. Besides, considering the performance and security, the bus layer will take some special care of the user requests. It will determine whether the user is enterprise internal user or external user using the ID identifier of the request. For enterprise internal user, the bus layer will not encrypt the transmission data in order to improve the performance. For external user, the bus layer will encrypt the transmission data in order to improve the security.

Figure 2. Cloud internal structure.

The application layer includes three parts: the enterprise applications for internal users, the enterprise applications for external users, and the enterprise platform for internal and external users. The enterprise applications for internal users include CRM, ERP, OA, Recruitment System, Portal Website, and so on. The enterprise applications for external users include CRM, OA, MIS, Storage Application, and so on. These applications are provided to external users in form of Software as a Service (SaaS). The enterprise platform for internal and external users mainly provides interfaces for application-specific development and SDK of the platform for enterprise internal and external applications, and the interfaces can be integrated by Mashup technology.

computing architecture, and implement automatic installation and upgrade. Most of the existing cloud computing solutions are very complicated and cumbersome in installation and deployment, and the management center can avoid this situation. It implements one-click installation, and reduces the technical requirements of deploying cloud computing. The security center is mainly responsible for user registration, user authentication, access control, and so on. The storage center is mainly responsible for the data processing and storing the whole cloud computing environment. It can keep different kinds of data according to the requirements of the applications. The storage center contains several kinds of databases, such as object database, file database, relational database, and data warehouses. It can not only store the basic data, but also store the data processed by different work flow.

The management center consists of two parts: super center and security center. The purpose for designing super center is to quickly configure and deploy the cloud

291

III.

IMPLEMENTATION OF CLOUD INTERNAL STRUCTURE BASED ON CLOUD BUS

execution agents. It is responsible for data transportation among service requester, service provider and bus execution agent. It supports the discovery, matching, routing and selection of services and bus execution agents. It can deal with data filtering, conversion, operating and management.

According to the functional design of cloud internal structure discussed above, this section will describe the key technologies and implementation of cloud internal structure in detail.

The bus execution agent is the core of executing the user requests. It is responsible for interacting and transferring data with bus controller, and executing the requests from the bus controller. It can manage the data in the database of the storage center, and provide support for services discovering, matching, routing, selection, and dynamic interconnection of the services.

A. Implementation of Cloud Bus Layer The greatest difference between this architecture and the other cloud computing solutions is the cloud bus layer. It is based on SOA and implemented by the latest REST resource framework. It can rapidly integrate the applications of J2EE platform and .NET platform, and provide REST API for users. It is a general and uniform resources integration platform.

The bus controller and the bus execution agent also have some advanced capabilities, such as load balance, parallel processing, transaction control, exception handling, access control, manageability, and configurability.

As shown in figure 3, the cloud bus layer consists of three components: bus controller, bus execution agent, and adapter. All the bus execution agents are connected to the bus controller. The bus controller is responsible for interacting with users, and scheduling the most suitable bus execution agent to execute the user requests, in order to ensure that all the user requests can be executed in the most efficient, fastest, and most reliable way.

The adapter is responsible for sending and receiving data. If users want to use and schedule the services of the bus layer, they just need to integrate the adapter into their own applications. B. Implementation of Other Components We use OpenStack technology to implement the infrastructure layer. OpenStack [9] is the free open source, which attempts to reduce the gap between the comprehensive cloud platform and the fast development and innovation. The OpenStack technology consists of three parts: cloud computing, image service and object storage. This architecture combines cloud computing with image service to build a general infrastructure layer, mainly for creating virtual server clusters. The object storage of OpenStack will be deployed in the storage center.

The cloud bus architecture uses one bus controller and multiple bus execution agents to manage, simplify and enhance the integrative topology between applications. It is implemented by distributed technology, parallel computing technology, middleware technology, SOA, REST, CXF, Web2.0, and HTML5 technology. It has strong manageability, scalability, maintainability, and reusability.

The platform layer is implemented by Cloud Foundry technology. Cloud Foundry [10] is the open source which offers the services for development, deployment, and execution of applications in cloud computing. We deploy the components of Cloud Foundry in virtual server clusters to implement the platform layer. The virtual server clusters are created by the infrastructure layer. Cloud Foundry is a distributed system based on message publishing and subscribing mechanism, supporting multiple languages, frameworks, cloud platforms and application services. The deployment of Cloud Foundry can substantially increase development efficiency, improve the developer’s ability of deploying, maintenance, and extending application service, and simplify the development, testing, delivering, and running of the applications. The management center has two components: security center and super center. The security center is an importance part of the whole architecture, which is responsible for user registration, user authentication, access control, and so on. It divides the users into enterprise internal users and external users. The internal users have higher performance than the external users, while the external users have higher security than the internal users.

Figure 3. Cloud bus architecture model.

The bus controller is the entrance of the cloud bus layer, and gives description of the metadata of the services and the bus execution agents. It is responsible for dynamic registration, management and scheduling of the services and the bus execution agents. It maintains the state of the bus execution agents, and controls the running of the bus

292

ACKNOWLEDGMENT

The super center is implemented by shell technology, providing a series of shell scripts, including auto-install script and auto-uninstall script of the infrastructure layer, the platform layer and the bus layer. The auto-upgrade of the system is implemented by Puppet technology. The autoupgrade and auto-deploy tools of Puppet are used to make some simple configuration and synchronize all the components of the system.

The authors would like to thank the Chinese Vocational and Technical Education Association 2012-2013 Scientific Research and Planning Project (No. 204921), the Natural Science Foundation of Guangdong Province, China (No. S2011010001155), and the High-level Talent Project for Universities, Guangdong Province, China (No. 431, YueCai Jiao 2011) for their supports to this research.

The storage center consists of object database, file database, relational database, and other database. The object database is implemented by OpenStack object storage, which is a component of OpenStack technology. The file database is implemented by MongoDB database, providing storage service for document-based data of the whole cloud computing architecture. The relational database is implemented by MySQL database, providing storage service for relational data of the infrastructure layer, the platform layer, the bus layer and the management center. IV.

REFERENCES [1]

X. Yan, H. Deng, W. Zhang, and S. Bu, “The parallelization of threedimensional electro-magnetic particle model using both MPI and OPENMP,” In Proceedings of 2010 International Conference on Computational and Information Sciences (ICCIS2010), pp. 214-217, Chengdu, China, December 2010. [2] X. Yan, H. Deng, W. Zhang, and S. Bu, “The optimization of 3D electro-magnetic particle model using overlap of communication with computation and distributed storage method for I/O,” In Proceedings of 2010 2nd International Conference on Information and Multimedia Technology (ICIMT 2010), vol. 2, pp. 117-120, Hong Kong, China, December 2010. [3] H. Lin, D. Yang, and L. Liu, Master interview – cloud computing promotes business and technological change, Beijing: Electronic Industry Press, 2011. [4] V. Chang, R. J. Walters, and G. Wills, “The development that leads to the Cloud Computing Business Framework,” International Journal of Information Management, vol. 33, no. 3, pp. 524–538, 2013. [5] C. Lai, H. Chao, Y. Lai and J. Wan, “Cloud-assisted real-time transrating for HTTP live streaming,” IEEE Wireless Communications, vol. 20, no. 3, pp. 62–70, Jun. 2013. [6] J. Wan, Z. Liu, K. Zhou and R. Lu, “Mobile cloud computing: application scenarios and service models,” in Proc. of the 9th IEEE Int. Wireless Communications and Mobile Computing Conf., pp. 644–648, Sardinia, Italy, July 2013. [7] Y. Laili, F. Tao, L. Zhang, Y. Cheng, Y. Luo, and B. R. Sarker, “A Ranking Chaos Algorithm for dual scheduling of cloud service and computing resource in private cloud,” Computers in Industry, vol. 64, no. 4, pp. 448–463, 2013. [8] S. Brumec, and N. Vrek, “Cost effectiveness of commercial computing clouds,” Information Systems, vol. 38, no. 4, pp. 495–508, 2013. [9] A. Beloglazov, S. F. Piraghaj, M. Alrokayan, and R. Buyya, “Deploying OpenStack on CentOS using the KVM Hypervisor and GlusterFS distributed file system,” Technical Report CLOUDS-TR2012-3, Cloud Computing and Distributed Systems Laboratory, The University of Melbourne, August 14, 2012. [10] T.-F. Fortis, V. I. Munteanu, and V. Negru, "Towards a service friendly cloud ecosystem," IEEE 2012 11th International Symposium on Parallel and Distributed Computing (ISPDC), pp. 172–179, Munich/Garching, Bavaria, June 2012.

CONCLUSIONS

In the information technology areas, cloud computing is considered to be the industry development trend and major investment fields. In this paper, we proposed a hybrid cloud computing architecture, which can make the current IT architecture rapidly migrate to cloud computing, reduce the investment, simplify the integration of resources, and substantially improve the ability of business support and the efficiency of IT management. The architecture is based on local private cloud, combined with one or more type(s) public cloud(s). The internal structures of private cloud and public cloud are the same, including infrastructure and virtualization layer, cloud platforms layer, cloud bus layer, cloud application layer, the management center and storage centers. The infrastructure and virtualization layer is designed to incorporate the underlying hardware resources into a virtual cluster, providing a variety of virtual resources to the upper layer. The cloud platform layer is used to run Web applications or services, and carry application-specific development and application integration through its open interfaces. The cloud bus layer, consisting of a control bus, a number of node buses and adapters, is designed to manage and monitor the various services of the cloud platform layer. This architecture can implement the centralization, virtualization and automated deployment of the IT resources, simplify the complexity of IT systems, improve the speed of deploying the infrastructure, and reduce the burden of system management.

293