The concept of "cloud" has penetrated into every corner of our lives.
Many people can't get together on holidays due to work reasons, and family affection can only be conveyed through video, which is called "cloud reunion".
More subtle is the "cloud spare tire". Note that the spare tire mentioned here has nothing to do with the car, but the Goddess's management and use of resources: network many spare tire groups into a "cloud" that can be dispatched at any time and shared with other Goddesses.
Although the above is a joke, it also implies that the "cloud" in everyone's mind should be related to networking, bandwidth, sharing and other words.
Now let's take a look at some serious "cloud" applications.
Cloud storage: personal business is also called cloud disk or online disk, which means that private files can be stored in the "cloud" end, and can be synchronized with multiple devices such as mobile phones, tablets, computers, etc., never lost, and easy to share.
Cloud office: the enterprise's document editing, storage, collaboration, communication, mobile office, workflow, etc. are all carried out in the "cloud" end. There is only a display locally, and no information is stored.
Cloud games: Users enjoy playing on their mobile phones. In fact, the games are run on the "cloud" end. Mobile phones are just monitors that receive game images from the network.
A glimpse of a leopard can be seen. From the above examples, "cloud" generally has the following characteristics:
Networking: "Cloud" can only be used through networking, and the required network bandwidth, delay and other requirements are not small.
Ability: "Cloud" is like an omnipotent supercomputer, which can be stored, calculated and analyzed.
Sharing: The "cloud" supercomputer is shared by multiple users (enterprises). Each user rents it on demand and does as much as he or she spends.
Cloud has become a new way to obtain resources.
What is cloud computing?
As Intel founder Gordon Moore once said, "The number of transistors that can be accommodated on integrated circuits will double every two years.".
In other words, processor performance doubles every two years. With such rapid development, the cost of hardware is getting lower and lower, and a single enterprise can afford a large number of servers.
For many large enterprises, there are a lot of hardware resources required during the business peak, but the average load is not high. However, the servers have to be configured according to the maximum demand, and the allocation is very inflexible, which leads to a waste of resources.
If the idle capacity of these servers can be consolidated into a resource pool and then leased to other companies, it will not only turn waste into treasure, but also develop new business models.
That is to say, we all pay more for our servers, but also have the problems of low utilization and expansion. I will buy a large number of servers to form a large pool and rent them to everyone as needed, OK?
This change of thinking from everyone buying and using, to one buying and others renting, led to the birth of cloud computing.
Therefore, in 2006, Google formally proposed the concept of "cloud computing" at the search engine conference. Amazon is an activist. Five months before Google proposed this concept, it launched a commercial "elastic computing cloud" service.
These two landmark events officially announced the arrival of the cloud computing era, which also means that the development of the Internet has entered a new era.
How to realize cloud computing?
Cloud computing has the following basic characteristics:
Resource pooling: service providers do not rent physical servers directly. Instead, they virtualize the CPU, memory, hard disk, and network card of multiple servers into three types of resource pools: computing, storage, and network, and then rent them to users after flexible combination of small pieces.
The resources used by each user are physically distributed to multiple servers and shared by multiple users, while logically they are independent and isolated.
Quantification of services: the three major resources of computing, storage and network are leased according to the granularity, and how much users use must be clearly calculated. In this way, both parties can trust each other and achieve win-win results.
Rapid expansion: The available capacity of each user is no longer limited by the physical server. If there is more demand, the capacity will be expanded automatically and quickly, and if there is less demand, some resources will be released. Such a service is like a balloon, with flexible capacity.
Self service: users need to rent servers, install systems, or open cloud office, cloud storage, cloud games and other businesses, apply directly for self-service, open automatically, and settle accounts by themselves. Just like an unmanned supermarket, it saves inefficient communication with customer service.
Broadband access: The network is the only bridge between users and the cloud. All kinds of services are based on frequent data upload and download. Therefore, the bandwidth and delay of the access network are very important. Some services also need to be transmitted with ultra-high reliability.
The first four characteristics above must be built on the foundation of virtualization.
The traditional idea of virtualization is to virtualize the CPU, memory, hard disk, network card and other resources on a physical server into resource pools, and then divide them into multiple virtual servers. However, this resource pool is limited by the capacity of a single physical server.
If a large number of servers can be gathered to form a large resource pool, and more servers can be added at any time to expand capacity, the "supercomputer" mentioned at the beginning will be formed.
This requires a cloud operating system that can "break up the pieces". It can integrate distributed physical resources to form a virtual resource pool, and can be scheduled across devices for use by upper applications.
The cloud operating system is mainly composed of a negative virtualization unit and a management unit.
Virtualization is the hypervisor mentioned before. The virtualization unit is responsible for virtualizing and abstracting the physical resources of each server.
The management unit integrates the virtualized resources of each server to form a large virtualized resource pool, which is allocated to the upper application.
What services can cloud computing achieve?
With virtualized resource pools, how can service providers rent them?
Resource leasing is essentially a service. Users' needs are different, and the required service levels are also different. Let's temporarily divide the services provided by cloud computing into three levels.
Level 1: Simply lease the three resources after virtualization: computing, storage, and network, and combine these resources into a virtual server. As for what system users install, what software they develop, and what business they run, it is entirely up to the users themselves.
This level of service is called IaaS. This abbreviation seems to have some mystery. In fact, its full name is Infrastructure as a Service, which means "infrastructure as a service", also known as "infrastructure cloud".
This is just like renting land directly. What houses users build, what plants and vegetables they grow, and what pets they keep are completely planned and realized by users themselves.
Level 2: Directly rent a virtual server that has no software. Although it is the most flexible, it is too difficult for some users to use it. Therefore, we should make the service more efficient, install the operating system, database, software development environment, etc. In short, we should help users build a good development platform.
This level of service is called PaaS, the full name of which is Platform as a Service. There is no doubt about its meaning, which naturally means "Platform as a Service".
According to the analogy above, this time we will not rent the land directly. We will help users build the house, provide water, electricity and natural gas, and let them know how to decorate and decorate their rooms.
Level 3: For some users, they may not have the time and energy, nor so much ambition to develop any software, and directly enjoy the best off the shelf. Therefore, we also need to provide services at home, and directly install various software on the cloud platform. This is your account, and you can log in and use it at any time.
This level of service is called SaaS, the full name is Software as a Service, which naturally means "software as a service".
If we continue to follow the analogy above, we will not rent land directly. We will not only build the house, but also provide water, electricity and natural gas. It will also be decorated beautifully, with complete furniture and appliances. You just need to carry your bags and check in.
Corresponding to these three levels of services, cloud service providers are doing more and more things, while users need to worry less and less.
Then, on the basis of these three levels of services, what can "cloud" do except for the individual applications listed at the beginning of this article? It can be seen from the following tables that they are all inclusive.
There is really everything you can do, only unexpected. In addition to the most basic IaaS, the vast majority of complex platforms and software have professional solutions that can be packaged into PaaS and SaaS services on the cloud. Ordinary users only need to pay for renting.
Cloud services are such a matter of course. Just like you don't need to build a dam to store water, you just need to pay and turn on the tap to have water; You don't need to burn coal to generate electricity. You just need to pay for electricity.
It can be said that "cloud" has become the water and electricity in the information age.