From humans’ inventions of digital symbols, digital positional systems (Radix, or Base), abacus, mechanical computers, electronic computers, personal computers, and servers, humans have constantly challenged the limits of computing. Nevertheless, their computing power has continued to improve, from once per minute, Once per second, ten times per second, millions of times per second, up to 100 million, 1 billion, and tens of billions of times. The current computing power has far surpassed the human brain. Please see Figure 2-10 Computational Evolution History.
Figure 2-10 Evolutionary history of human computing
From the perspective of computing principles, cloud computing is no different from our personal computers. Both are composed of computing resources (CPU+RAM), storage resources, and network resources. Before the advent of cloud computing, the only way to increase computing power was to increase the speed of the CPU, increase the number of CPUs, that is, increase the number of servers. Figure 2-11 Comparison of computer computing and cloud computing.
Let’s still understand cloud computing from a historical perspective. Why is there cloud computing? What are the background and logic?
As we said in Chapter 1, the history of human development is the continuous liberation of ourselves, especially the labor force. The only way to have more time is to keep improving efficiency. Humans started from taming animals and inventing machines to work for us and save our physical strength. However, it is not enough to liberate physical strength and liberate our brains and let machines help us calculate.
Figure 2-11 Computer and Cloud Computing
When we feel that our laptop is not fast enough, we find that the memory occupancy is 80%, so we go to expand the memory, go to the computer service department to expand the memory. If we can’t, we need to replace a computer with a larger memory. We find that a 512GB SSD is not enough, and we need to replace it with a 1Terabyte disk, which is an upgrade of computing power.
We are providing computing services, and customer needs are diverse. We configure the computer according to the user’s needs, which needs to purchase and then come back to install and debug, install the system, etc. The past hosting services, each server room filled with such machines, the need for professional staff to serve, the amount of service can be imagined, the enterprise’s investment in a large number of human and material resources, suffering. What to do?
Now that computers are fast enough and have enough memory and hard drives, can we virtualize computing? This would make it easy to configure machines, and so virtual machines emerged.
The emergence of virtual machines solves such a problem. The user’s needs can be configured, configure a few core CPUs, up to the memory, disks can be done with a single click so that there is no need to purchase, install and maintain. One-click to set up the virtual machine. This enables the flexibility of configuring machines, the most famous here is VMware.
Configuring virtual machines is convenient, and this time another demand emerges. Users want more than just bare metal, they want the most basic operating system and database installed, and users just need to establish their applications. This is the Platform as a Service(PaaS).
The service of giving the operating system and database is provided. Users also want to have the applications all installed because it is still troublesome to install the applications, and various running environments and parameters need to be provided. Can it be as easy to lift and ship as a container when released, instead of requiring many human resources to install it as receiving a loose order? So people invented the container system Docker, the release of the application packaged, placed inside the container, it can be effortless to carry and run.
With the container technology, the burden of operations and maintenance personnel can be solved at once, each application release, not only the release of the installed version but also at the same time release the container version. Moreover, the application can be error-free online if you want to get the container, just a simple one-click start.
When the scale of cloud computing services is getting larger and larger, it is like a dock stacked with a large number of containers that need to be moved so that the system specializing in moving containers is needed. According to the customer’s demand for cloud computing, the computing capacity can be flexibly configured to rapidly increase the computing power at peak times and automatically reduce the computing power at low times. This service is called pooling or clouding, and the most famous one is K8S.
The history of cloud computing shows that, like manufacturing, innovative inventions come out to improve efficiency and reduce costs when numerous human resources are needed. From clumsy abacuses, mechanical computers, electronic computers, servers, virtual machines, containers, and clouding, all are driven by productivity. We introduce the history of computing, the three elements of computing, understand the principles and connotations of computing, and computing power has changed over the millennia to improve speed and liberate the human brain.