First, the generation of cloud computing ideas
In the traditional mode, an enterprise building an IT system requires not only the purchase of hardware and other infrastructure, but also the license to buy software, which requires specialized personnel maintenance. As the company grows in size, it will continue to upgrade various hardware and software facilities to meet the needs. For enterprises, hardware and software such as computers are not what they really need. They are just tools to get the job done and provide efficiency. For individuals, we want to use a lot of software to use the computer normally, and many of the software is chargeable. It is very uneconomical for users who do not use the software frequently. Can we have such a service and can provide all the software we need for us to rent? In this way, we only need to pay a small amount of "rent" to "rent" to these software services, saving us a lot of money to buy hardware and software.
We use electricity every day, but we don't have every own generator. It's supplied by power plants. We use tap water every day, but not every one has a well, it is concentrated by the waterworks. This model has greatly saved resources and facilitated our lives. In the face of the troubles that computers bring us, can we use computer resources like water and electricity? These ideas eventually led to the emergence of cloud computing.
The ultimate goal of cloud computing is to provide computing, services, and applications as a public facility to the public, enabling people to use computer resources like water, electricity, gas, and telephone.
The cloud computing mode is the centralized power supply mode of the power plant. In the cloud computing mode, the user's computer will become very simple, perhaps not much memory, no hard disk and various application software, can meet our needs, because the user's computer in addition to sending a "cloud" through the browser You can use the cloud service provider's computing resources, storage space, and various application software to basically do nothing but to command and accept data. This is like connecting the "display" and "host" wires to an infinite length so that the display can be placed in front of the user, and the host is placed far away from the computer user even. Cloud computing turns the wires that connect the "display" and "host" into a network, turning the "host" into a server cluster of cloud service providers.
In the cloud computing environment, the user's concept of use will also change completely: from "buy products" to "purchase services", because they will not face complex hardware and software, but the final service. . Users do not need to have visible and tangible hardware facilities, and do not need to pay for equipment room power supply, air conditioning, refrigeration, special maintenance, etc., and do not have to wait for long lead times, project implementation and other lengthy time, Just remit the money to the cloud service provider and we will get the service we need right away.
Second, the concept of cloud computing
Cloud Computing is developed by Distributed Computing, Parallel Computing, and Grid Computing. It is an emerging business computing model. At present, the understanding of cloud computing is constantly changing, and there is still no universally consistent definition of cloud computing.
Liu Peng, a Chinese cloud computing and cloud computing expert, gives the following definition: "Cloud computing distributes computing tasks across resource pools made up of a large number of computers, enabling various application systems to acquire computing power, storage space, and various software services as needed." .
Narrow cloud computing refers to vendors building data centers or supercomputers through distributed computing and virtualization technologies, providing data storage, analytics, and scientific computing services to technology developers or enterprise customers for free or on-demand leases, such as Amazon. Data warehouse rental business.
Cloud computing in a broad sense refers to the establishment of network server clusters to provide different types of services such as online software services, hardware leasing, data storage, and computational analysis to various types of customers. Cloud computing in a broad sense includes more vendors and service types, such as online financial software launched by management software vendors such as domestic UFIDA and Kingdee, and Google application suites released by Google.
The popular understanding is that the "cloud" of cloud computing is the resource on the server cluster existing on the Internet, which includes hardware resources (server, memory, CPU, etc.) and software resources (such as application software, integrated development environment, etc.), local The computer only needs to send a demand message through the Internet. At the remote end, there will be thousands of computers to provide you with the required resources and return the results to the local computer. Thus, the local computer needs almost nothing to do, all the processing is in The computer cluster provided by the cloud computing provider is completed.
Third, the main service forms and typical applications of cloud computing
Cloud computing is still in its infancy, and there are a variety of vendors developing different cloud computing services. Cloud computing has a variety of manifestations. Simple cloud computing can be seen everywhere in people's daily web applications, such as online production of Flash images provided by Tencent QQ space, Google's search service, Google Doc, Google Apps and so on. At present, the main service forms of cloud computing are: SaaS (Software as a Service), PaaS (Platform as a Service), IaaS (Infrastructure as a Service).
(1) Software as a Service (SaaS)
The SaaS service provider deploys the application software on its own server. The user subscribes to the application software service through the Internet according to the requirements. The service provider charges according to the quantity of the software and the length of time, and the user is charged to the client through the browser. Provide the mode of the software. The advantage of this service model is that the service provider maintains and manages the software and provides the hardware facilities for the software to run. Users only need to have a terminal that can access the Internet, so they can use the software anytime, anywhere. In this mode, customers no longer spend a lot of money on hardware, software, and maintenance personnel as in the traditional mode. They only need to pay a certain amount of rental service fees, and they can enjoy the corresponding hardware, software, and maintenance services through the Internet. This is the network. Apply the most efficient operating model. For small businesses, SaaS is the best way to adopt advanced technology.
In terms of enterprise management software, the cloud computing ERP in the SaaS mode allows customers to pay service fees on demand according to the number of concurrent users, the number of functions used, the data storage capacity, and the length of use, without paying software license fees. There is no need to pay for hardware equipment such as purchasing servers, and there is no need to pay for the purchase of operating system, database and other platform software costs, nor for software project customization, development, implementation costs, nor the cost of IT maintenance departments. In fact, cloud computing ERP is the most important feature that inherits the open source ERP license-free fee and only charges the service fee. It is an ERP product that highlights the service.
Currently, Salesforce. Com is the most famous company to offer such services, and Google Doc, Google Apps and Zoho Office are also part of this type of service.
(2) Platform as a Service (PaaS)
Provide the development environment as a service. This is a distributed platform service. Vendors provide services such as development environment, server platform, and hardware resources to customers. Users can customize and develop their own applications based on their platforms and deliver them to other customers through their servers and the Internet. PaaS provides enterprises or individuals with a middleware platform for R&D, providing application development, databases, application servers, testing, hosting and application services.
Google App Engine, Salesforce's force. Com platform, 800 app of 800 customers is the representative product of PaaS. Take Google App Engine as an example. It is a platform composed of python application server group, BigTable database and GFS. It provides developers with integrated host server and online application service that can be automatically upgraded. Users write applications and run on Google's infrastructure to serve Internet users, and Google provides the platform resources needed to run and maintain applications.
(3) Infrastructure Services (IaaS)
IaaS provides the vendor's "cloud" infrastructure consisting of multiple servers as a metering service to customers. It consolidates memory, I/O devices, storage, and computing power into a single virtual resource pool to provide the industry with the storage resources and virtualization servers it needs. This is a hosted hardware approach where users pay for the vendor's hardware. For example, Amazon Web Services (AWS), IBM's BlueCloud, etc. all lease infrastructure as a service.
The advantage of IaaS is that users only need low-cost hardware to rent the corresponding computing power and storage capacity on demand, which greatly reduces the hardware overhead of users.
Currently, the most representative of Google cloud applications , such as GoogleDocs, Google Apps , Googlesites, cloud computing application platform GoogleApp Engine.
GoogleDocs is the first cloud computing application to be introduced, and is a typical application of software-as-a-service thinking. It is an online office software similar to Microsoft's Office. It can process and search documents, forms, slides, and share and set sharing permissions with others over the web. Google Docs is a web-based word processing and spreadsheet program that increases collaboration efficiency, allowing multiple users to simultaneously change files online and see edits made by other members in real time. Users only need a computer with Internet access and a standard browser that can use Google files to create and manage online, real-time collaboration, rights management, sharing, search capabilities, revision history, and access anytime, anywhere. Improved sharing and collaboration capabilities for file operations.
Google Apps is a Google Apps suite that enables users to handle the sheer volume of information, stay connected, and communicate, share, and collaborate with other colleagues, customers, and partners. It integrates Cmail, GoogleTalk, Google Calendar, GoogleDocs, and the latest cloud applications GoogleSites, API extensions and some management functions, including communications, collaboration and publishing, management services, and cloud computing features. Can better achieve collaborative sharing anytime, anywhere. In addition, it has the advantage of low cost and convenient hosting, users do not need to maintain and manage the built-in collaborative sharing platform.
Googlesites is Google's latest cloud computing app, appearing as a component of GoogleApps. It's a site-editing tool that focuses on teamwork, and it can be used to create a variety of team sites, with Googlesites for all types of files, including documents, videos, photos, calendars, and attachments, with friends, teams, or the entire network. share it.
Google AppEngine is a platform released by Google in April 2008 that allows users to develop and deploy their own applications on Google's infrastructure. Currently, Google AppEngine supports the Python language and the Java language. Each Google AppEngine application can use up to 500MB of persistent storage and can support 5 million pageviews per month of bandwidth and CPU. And, the Google AppEngine application is easy to build and maintain, and scales easily based on user traffic and data storage needs. At the same time, the user's app can be integrated with Google's app, and Google AppEngine also offers a software development kit (SDK) that includes a web server application that emulates all Google AppEngine services on the user's local computer.
Fourth, the core technology of cloud computing
Cloud computing systems use many technologies, including programming models, data management technologies, data storage technologies, virtualization technologies, and cloud computing platform management technologies.
(1) Programming model
MapReduce is a Java, Python, C++ programming model developed by Google. It is a simplified distributed programming model and an efficient task scheduling model for parallel computing of large data sets (greater than 1TB). Strict programming models make programming in a cloud computing environment very simple. The idea of ​​MapReduce mode is to decompose the problem to be executed into Map (Map) and Reduce (Simplify). First, the data is cut into unrelated blocks by Map program, and distributed (scheduled) to a large number of computers for processing. The effect of the operation, and then the result is aggregated and output through the Reduce program.
(2) Massive data distribution storage technology
The cloud computing system consists of a large number of servers and serves a large number of users. Therefore, the cloud computing system uses distributed storage to store data and redundant storage to ensure data reliability. The widely used data storage system in cloud computing systems is HDFS, an open source implementation of GFS developed by Google's GFS and Hadoop teams.
GFS, the Google File System, is an extensible distributed file system for large, distributed applications that access large amounts of data. GFS is designed differently from traditional file systems and is designed for large-scale data processing and Google application features. It runs on inexpensive, regular hardware but provides fault tolerance. It can provide a large number of users with higher overall performance services.
A GFS cluster consists of a master server and a large number of chunk servers, and is accessed by many clients. The primary server stores the metadata of the file system, including the namespace, access control information, mapping from file to block, and the current location of the block. It also controls system-wide activities such as block lease management, garbage collection of orphan blocks, and block migration between block servers. The primary server periodically communicates with each block server via a HeartBeat message, passing instructions to the block server and collecting its status. The files in GFS are divided into 64MB blocks and stored redundantly, and each data holds more than 3 backups in the system.
The exchange between the client and the primary server is limited to the operation of the metadata, and all data communication is directly related to the block server, which greatly improves the efficiency of the system and prevents the primary server from being overloaded.
(3) Massive data management technology
Cloud computing needs to process and analyze distributed and massive data. Therefore, data management technology must be able to efficiently manage large amounts of data. The data management technology in the cloud computing system is mainly Google's BT (BigTable) data management technology and the open source data management module Hba se developed by the Hadoop team.
BT is a large distributed database built on GFS, Scheduler, Lock Service and MapReduce. Unlike traditional relational databases, BT treats all data as objects and forms a huge table for distributed storage. Scale structured data.
Many Google projects use BT to store data, including web queries, Google Earth and Google Finance. These applications have different requirements for BT: data size (from URL to web page to satellite imagery) is different, and the response speed is different (from batch processing at the back end to real-time data service). For different requirements, BT has successfully provided flexible and efficient services.
(4) Virtualization technology
The virtualization technology can be used to isolate the software application from the underlying hardware. It includes a split mode that divides a single resource into multiple virtual resources, and an aggregation mode that integrates multiple resources into one virtual resource. Virtualization technology can be divided into storage virtualization, computing virtualization, network virtualization, etc. according to objects. Computing virtualization is divided into system-level virtualization, application-level virtualization, and desktop virtualization.
(5) Cloud computing platform management technology
The cloud computing resources are huge, the number of servers is large and distributed in different locations, and hundreds of applications are running at the same time. How to effectively manage these servers and ensure the continuous service of the whole system is a huge challenge.
The platform management technology of the cloud computing system enables a large number of servers to work together, facilitates service deployment and provisioning, quickly discovers and recovers system failures, and realizes reliable operation of large-scale systems through automated and intelligent means.
V. Introduction to a typical cloud computing platform
Due to the wide range of cloud computing technologies, the cloud computing services provided by major IT enterprises are mainly realized according to their own characteristics and advantages. The following is an example of Google, IBM, and Amazon:
(1) Google's cloud computing platform
Google's hardware advantages, large data centers, search engine pillar applications, promote the rapid development of Google cloud computing. Google's cloud computing is mainly composed of MapReduce, Google File System (GFS), and BigTable. They are the three main parts of Google's internal cloud computing infrastructure. Google also builds other cloud computing components, including a domain description language and a distributed lock service mechanism. Sawzall is a domain language based on MapReduce, designed for large-scale information processing. Chubby is a highly available, distributed data lock service. When the machine fails, Chubby uses the Paxos algorithm to guarantee backup.
(2) IBM "Blue Cloud" computing platform
The "Blue Cloud" solution is an enterprise-class cloud computing solution developed by the IBM Cloud Computing Center. The solution can integrate the existing infrastructure of the enterprise, build a cloud computing center owned by the enterprise through virtualization technology and automation technology, realize unified management, unified distribution, unified deployment and unified monitoring of enterprise hardware resources and software resources. And unified backup, breaking the application's exclusive use of resources, thus helping enterprises realize the concept of cloud computing.
IBM's "Blue Cloud" computing platform is a software and hardware platform that extends the technology used on the Internet to enterprise platforms, enabling data centers to use computing environments similar to the Internet. "Blue Cloud" makes extensive use of IBM's advanced large-scale computing technology, combining IBM's own software and hardware systems and service technologies to support open standards and open source software.
"Blue Cloud" is based on the cloud infrastructure of the IBM Almaden Research Center, using Xen and PowerVM virtualization software, Linux operating system images and Hadoop software (Google File System and MapReduce open source implementation). IBM has officially launched the "Blue Cloud" product based on the x86 chip server system. The following picture shows the architecture of IBM “Blue Cloudâ€:
As you can see, the "Blue Cloud" computing platform consists of a data center, IBM Tivoli deployment management software (IBM Tivoli monitoring), IBM Tivoli monitoring software (IBM Tivoli monitoring), IBM WebSphere application server, IBM DB2 database and some open source information processing. The software is composed of open source virtualization software. The "blue cloud" hardware platform environment is similar to a typical x86 server cluster, and the use of blades increases the computational density. The features of the "Blue Cloud" software platform are mainly reflected in the use of virtual machines and Apache Hadoop for large-scale data processing software.
An important feature of the "Blue Cloud" platform is the use of virtualization technology. The way to virtualize has two levels in the "blue cloud", one is virtualization at the hardware level, and the other is virtualization through open source software. Hardware-level virtualization can use the IBM p-series servers to get the logical partition LPAR (logic partition) of the hardware. The logical partition's CPU resources can be managed through IBM Enterprise Workload Manager. By adding the resource allocation strategy in actual use in this way, the corresponding resources can be reasonably allocated to the respective logical partitions. The logical granularity of the p-series system has a minimum granularity of 1/10 CPUs. Xen is software-level virtualization that runs another operating system on top of Linux.
A virtual machine is a special kind of software that can completely simulate the execution of hardware, run a complete operating system without modification, and retain a set of operating environment semantics. Through the virtual machine, the following advantages are obtained on the cloud computing platform:
1) The cloud computing management platform can dynamically locate the computing platform to the required physical nodes without having to stop the application running on the virtual machine platform, and the process migration method is more flexible;
2) Reduce the power consumption of the cluster, and merge multiple virtual machine computing nodes that are not very heavy on the same physical node, so that the idle physical nodes can be shut down to save energy;
3) Through the dynamic migration of virtual machines on different physical nodes, the overall virtual running environment is migrated, and load-unbalanced performance independent of the application can be obtained;
4) It is also more flexible in deployment, that is, the virtual machine can be directly deployed to the physical computing platform, and the virtual machine itself includes the corresponding operating system and corresponding application software, and directly copies a large number of virtual machine images to corresponding ones. The physical node is OK.
Storage architecture in the "Blue Cloud" computing platform: The storage architecture in the "Blue Cloud" computing platform is also very important for cloud computing, whether it is the operating system, the service program or the user's application data is stored in In the storage system. The Blue Cloud storage architecture consists of a cluster file system similar to Google File System and a storage area network SAN based on block devices.
When designing the storage architecture of a cloud computing platform, it is possible to obtain a large disk capacity by combining multiple disks. Relative to the capacity of the disk, in the storage of the cloud computing platform, the read and write speed of the disk data is a more important problem, so it is necessary to simultaneously read and write multiple disks. This approach requires data to be distributed across multiple disks on multiple nodes. To achieve this, storage technology has two options, one is to use a cluster file system similar to Google File System, and the other is a storage device network SAN system based on block devices.
On the blue cloud computing platform, the SAN system and the distributed file system (such as Google File System) are not mutually exclusive systems. The SAN provides a block device interface, and the file system needs to be built on this basis to be used by the upper application. use. The Google File System happens to be a distributed file system that can be built on top of a SAN. Both can provide reliability and scalability. As for how to use it, it needs to be determined by the application built on the cloud computing platform. This also reflects the relationship between the computing platform and the upper application.
(3) Amazon's elastic computing cloud
Amazon is the largest online retailer on the Internet, and has to buy a lot of servers in order to cope with the peak of the transaction. Most of the time, most of the servers are idle, causing a lot of waste. In order to make reasonable use of idle servers, Amazon has established its own cloud computing platform, ECS (elastic compute cloud), and is the first to use infrastructure. A company that sells as a service.
Amazon builds its own elastic computing cloud on a large-scale cluster computing platform within the company, and users can manipulate the various instances of the cloud computing platform through the elastic computing cloud's web interface. The payment method of the user's use instance is determined by the user's usage status, that is, the user only needs to pay for the computing platform instance that he or she uses, and the billing ends after the end of the operation. The example mentioned here is a complete virtual machine running instance controlled by the user. In this way, users do not have to build a cloud computing platform by themselves, saving equipment and maintenance costs.
The figure above shows the usage mode of the EC2 system. As can be seen from the figure, the Elastic Compute Cloud user uses the client to interact with instances inside the Amazon Elastic Compute Cloud through the SOAP over HTTPS protocol. In this way, the flexible computing cloud platform provides a virtual cluster environment for users or developers, while reducing the management burden of cloud computing platform owners (Amazon) while providing users with sufficient flexibility. Each instance in the Elastic Compute Cloud represents a running virtual machine. Users have full access to their virtual machines, including administrator privileges for this virtual machine's operating system. The cost of the virtual machine is also calculated according to the capabilities of the virtual machine. In fact, the user rents the virtual computing power.
All in all, Amazon provides a flexible computing cloud that meets the needs of small-scale software developers for clustered systems and reduces the maintenance burden. The charging method is relatively simple and straightforward: how much resources users use, just pay for this part of the resources.
In order to further develop the cloud, the Amazon plans how to help users develop networked applications based on the cloud computing platform. In addition to the online retail business, cloud computing is also the core value of Amazon. In the future, Amazon will add more network service component modules based on the platform of the elastic computing cloud to provide convenience for users to build cloud computing applications.
Sixth, the main problems facing the development of cloud computing technology
Although the cloud computing model has many advantages, there are some problems, such as data privacy issues, security issues, software license issues, network transmission issues, and so on.
· Data privacy issues: How to ensure the privacy of data stored in cloud service providers, not illegally used, not only requires technical improvements, but also needs further legal improvement.
· Data security: Some data is the business secret of the enterprise, and the security of the data is related to the survival and development of the enterprise. The security problem of cloud computing data can't solve the impact of cloud computing in enterprises.
· User habits: How to change the user's usage habits and adapt users to networked hardware and software applications is a long-term and arduous challenge.
· Network transmission problem: Cloud computing services rely on the network. Currently, the network speed is low and unstable, which makes the performance of cloud applications not high. The popularity of cloud computing depends on the development of network technology.
Capacitor For Power Transmission And Transformation
Capacitor for power transmission and transformation
New Parallel Capacitor 100Kvar,Capacitor Banks,High Voltage Capacitor Banks,Parallel Capacitor 200kar
YANGZHOU POSITIONING TECH CO., LTD , https://www.yzpstcc.com