With the rapid development of multi-core processors, virtualization, distributed storage, broadband Internet and automated management, a new computing model-cloud computing is born. Cloud computing enables the deployment of computing resources on demand, allowing users to pay only for the resources they need. Fundamentally speaking, cloud computing refers to the user terminal through remote connection, to obtain the cloud storage, computing, database and other computing resources. Cloud computing from the distribution of resources can be divided into "cloud" and "cloud terminal." "Cloud" is a metaphor for the Internet or a large server cluster, which consists of a number of distributed internet infrastructures, such as network devices, servers, storage devices, security devices, and so on, which can store almost all of the data and application software. and "Cloud terminal" refers to the PC, mobile phone, car electronic equipment, such as terminal equipment, users need to have a basic full-featured Internet browser, and then install a cloud computing operating system, you can access the network "cloud", easy access to a large number of computing resources in the cloud.
1 Basic concepts and features
1.1 Generation background of cloud computing
In the early 21st century, the rise of the Web2.0 let the network ushered in a new development peak. The amount of business that a Web site or business system needs to handle is growing rapidly, such as video online or photo-sharing sites that need to store and process large amounts of data for users. The important problem with such systems is that how to rapidly expand the original system with the rapid growth of users, with the intelligent mobile terminals and the popularity of mobile broadband network, more and more mobile devices will be entered the Internet, which means that the IT system related to mobile terminals will bear more load, IT systems need to deal with more business in terms of the companies that provide data services.
Due to the limited resources, its power cost, space cost, the maintenance cost of various facilities rising rapidly, directly lead to the cost of data center rising, which is facing how to effectively and less use of resources to solve more problems. At the same time, with the advent of high-speed network connectivity, chips and disk drive products are becoming more functional while the price is getting cheaper, with a large number of computer data centers and the ability to quickly handle complex problems for a large number of users. Technically, the increasingly mature and application of distributed computing, especially the development of grid computing the spread of hardware, software, information resources across the Internet into a huge whole, enabling people to take advantage of geographically dispersed resources to complete large-scale, complex computing and data processing tasks.
The rapid growth of data storage has resulted in high-performance storage technology represented by GFS (Google File System), SAN (Storage areanemork). The growing demand for server consolidation has driven advances in virtualization technologies such as Xen, as well as Web2.0 implementations, the rapid popularization of Saas (Sofhare as a senrice) concepts, and the widespread use of multi-core technologies, all of which provide a possible H1 for generating more powerful computing power and services. With the urgent demand of computing ability, resource utilization efficiency and resource centralization, cloud computing emerges.
1.2 Characteristics of cloud computing
From the existing cloud computing platform, it is compared with the traditional stand-alone and network application mode, its characteristics are shown in table 1.
Table 1 cloud computing characteristics and specific processes
2 implementation form of cloud computing
Reference SaaS (software as a service). This type of cloud computing passes the program to thousands of users through the browser. This, in the eyes of the user, eliminates the expense of server and software authorization, and from a vendor perspective, it is only necessary to maintain a single program that can reduce costs. Salesforce is by far the most famous company, SaaS in Human resources management procedures and ERP is more common, Google apps and Zoho O Wu CE is similar services;
(2) Practical calculation (Utility computing). This approach has been proposed earlier, but it has only recently been new to AMAZON,SUN,IBM and other companies that provide storage services and virtual servers. This cloud computing is the creation of a virtual datacenter for the IT industry that enables it to centralize memory, l/o devices, storage, and computing capabilities and serve as a virtual resource pool for the entire network.
(3) Network services. Closely related to SaaS, network service providers provide APIs that allow developers to develop more internet-based applications rather than stand-alone programs;
(4) Platform is the service. Another kind of SaaS, this form of cloud computing, is to provide the development environment as a service. Can use the middleman's equipment to develop their own programs, and through the Internet and its servers into the hands of users;
(5) MSP (Management service provider) is one of the oldest cloud computing applications. This application is more oriented to the IT industry rather than end users, often used in mail virus scanning, program monitoring, etc.
(6) Commercial service platform. A mixed application of SaaS and MSP, a cloud that provides a platform for interaction between users and providers. For example, the user's personal expenditure management system, according to the user's settings to manage their expenses and coordinate the various services ordered;
(7) Internet integration. Integrate companies that provide similar services on the Internet so that users can compare and select their service providers more easily.
3 Key technologies for cloud computing
On-demand deployments are at the heart of cloud computing. To resolve on-demand deployments, you must address the dynamic reconfiguration, monitoring, and automated deployment of resources, which need to be based on technologies such as virtualization, high-performance storage, processors, high-speed Internet, and so on. So in addition to studying its architecture carefully, cloud computing should pay special attention to the research of dynamic reconfiguration of resources, automated deployment, resource monitoring, virtualization, high-performance storage, processor and other key technologies.
3.1 Architecture
To support cloud computing effectively, the architecture must support several key features. First of all, the system must be autonomous, that is, the need for embedded automation technology to reduce or eliminate human deployment and management tasks, but allow the platform to respond to the requirements of the application of intelligent, second, the architecture of cloud computing must be agile, can respond to demand signals or changes. Built-in virtualization and clustering technologies to meet rapid changes in growth or service-level requirements. The architecture of the cloud computing platform is the interconnection Network diagram of a cloud server.
(1) User interface: "Cloud" User request service interactive interface;
(2) Service directory: The user can choose the list of services;
(3) Management system: for the management of available computing resources and services;
(4) Deployment tools: autonomous, based on user requests for intelligent deployment of resources and applications, dynamic deployment, configuration and recovery of resources;
(5) Monitoring: Monitoring the use of cloud system resources in order to make rapid response;
(6) Server cluster: Virtual or physical server, managed by the management system.
3.2 Automated Deployment
Automated deployment refers to the change of computing resources from the original state to the available state by automatic installation and deployment. The cloud is embodied in the process of dividing, installing, and deploying resources in a virtual resource pool to provide users with a variety of services and applications, including hardware (servers), software (the software and configuration that users need), networks, and storage. There are several steps to deploying system resources, automating deployment by invoking scripts, automating configuration of different vendor device management tools, deploying and configuring application software, ensuring that these invocation processes can be implemented silently, eliminating a lot of human-computer interaction, and making the deployment process no longer dependent on human operations. The entire deployment process is implemented based on workflows.
Among them, the workflow engine and data model are the functional modules involved in the Automated Deployment management tool, by defining the specific software, hardware and even logic concepts in the data model, the management tools can identify and dispatch these resources in the workflow to realize the classification management. The workflow engine is a core mechanism for invoking and triggering workflows, implementing automation of deployment, and automating the integration of different kinds of scripting processes into a centralized, reusable workflow database. These workflows automate the configuration tasks of servers, operating systems, middleware, applications, storage, and network devices that originally needed to be done manually.
3.3 Resource Monitoring
"Cloud" usually has a large number of servers, and resources are dynamic changes, the need for timely, accurate, dynamic resource information. Resource monitoring can provide a basis for the dynamic deployment of resources for the cloud and effectively monitor resource usage and load. Resource monitoring is an important part of "cloud" resource management, it can provide real-time monitoring of system resources, and provide system performance information for other subsystems to better complete the allocation of system resources. Cloud computing monitors and manages all resources in a resource pool through a monitoring server, and by deploying agent agents on each server in the cloud, configuring and monitoring resource servers, transferring resource usage information data to the data warehouse periodically, and monitoring the use of "cloud" resources in the server Data Warehouse. Analyze and track the availability of the data to provide information for troubleshooting and equalization of resources.
4 concluding remarks
At the moment, cloud computing is still in its infancy, but it will change the way users use computing resources, allowing users to shift from a desktop core to a web. This paper discusses the existing technology of cloud computing, with the development of cloud computing, there will be more platforms and service types appearing, and promote the development of cloud computing and its applications.