Kubernetes is a multi-tenant architecture. When multiple tenants or teams share a Kubernetes system, the system administrator needs to prevent the tenants from occupying resources and define resource allocation strategies. Kubernetes provides the API object ResourceQuota to implement resource quotas. ResourceQuota can not only act on CPU and memory, but also limit the number of Pods created. The computing resource quotas and resources supported by ResourceQuota are shown in Tables 7.4 and 7.5.

8.1 Cloud Computing Development Trend

In the course of social change, the speed of technological evolution and breakthroughs is often beyond people's imagination. Thirty years ago, I could not dream of the changes and convenience of people's lives by various new technologies represented by information technology. It is difficult to predict the future of a specific technology, especially the rapid development of information technology, there have been too many false predictions, and some have even become jokes. However, one thing is certain. Cloud computing will increasingly become an indispensable part of our daily lives. Like air, food, and sunlight, it will contribute to the improvement of human life and the improvement of social efficiency.

8.1.1 The Development and Trend of Cloud Computing in China

We will examine the development and trend of cloud computing in China from technology and industry levels.

  1. 1.

    Technology level

    In recent years, in the process of industrial transformation, companies in various industries in China have used emerging technologies such as cloud computing and artificial intelligence to improve their production efficiency, innovation capabilities, resource utilization, drive changes in development models, and lay a solid foundation for the ultimate realization of digital transformation. Cloud computing has become the core infrastructure supporting the digital transformation of enterprises.

    At present, the new generation of information technology is developing in the direction of deep integration. The development and popularization of one technology may promote the breakthrough of another technology. The superposition or combination of these new technologies will produce noticeable spillover effects. Among them, the combination of “5G+cloud computing+artificial intelligence” is the most representative, and the three are closely integrated, producing huge social effects. In the past, due to bandwidth, latency, connection density, and cost constraints, cloud computing, which can significantly improve computing efficiency, has not been widely extended to all walks of life. However, with the application and popularization of 5G technology, its high speed, low power consumption, and low-latency will be effective to solve this complex problem. “5G + cloud computing” can greatly increase the inclusiveness of computing resources. The development and popularization of artificial intelligence technology, which is considered to have disruptive potential, also requires 5G and cloud computing to pave the way.

    Besides, although China's cloud computing industry is of vital importance as the core infrastructure for the digital transformation of enterprises, since most of the industry's core technologies are not in the hands of Chinese companies, once the international situation changes, the development of cloud computing industry may be constrained by others. From the perspective of national security and the healthy and sustainable development of the industry, independent and controllable core technology research and development have become a problem that must be solved in developing China's cloud computing industry.

  2. 2.

    Industry level

    From the perspective of industrial structure, the cloud computing industry chain can be divided into upstream core hardware (CPU, flash memory, memory), midstream IT infrastructure (servers, storage devices, network equipment), and downstream cloud ecosystems (basic platforms, cloud-native applications).

    The chip industry has always been the weak underbelly of China's technology industry, especially the ICT industry, and has long been subject to others. In cloud computing, the chip industry is still the top priority and is in the upstream position of the cloud computing industry. The independent controllability of chips directly affects the independent controllability of the cloud computing industry. Given the relatively weak overall development of the chip industry, the independent research and development capabilities of upstream chips in the cloud computing industry still have a certain gap compared with developed countries. The situation in the field of IT infrastructure equipment in the middle reaches is better. As a major manufacturing country, China has a number of powerful domestic IT manufacturers such as Huawei, Lenovo, and Inspur that can provide corresponding competitive hardware equipment or products. Regarding the downstream cloud ecology field, domestic companies are also catching up. Several major domestic IT companies such as Alibaba, Tencent, Huawei, and Baidu have all launched their cloud services, and their market share is also expanding.

    In recent years, under the government and industry's dual promotion, cloud computing technology has been rapidly promoted in China, and the cloud computing industry has grown rapidly. Data show that by 2019, China's cloud computing industry's scale has exceeded 100 billion yuan, and the annual growth rate has exceeded 30% in recent years. However, compared with developed countries, China's cloud computing industry still has a big gap. For example, compared with the United States, the size of China's cloud computing market in 2018 was only about 8% of the US cloud computing market. China's cloud computing development level and economic development level show a severe mismatch.

    From an industry perspective, currently, the primary users of cloud computing in China are concentrated on the Internet, transportation, logistics, finance, telecommunications, government, and other fields. In recent years, the amount of data in various industries has increased sharply, and more fields have begun to use cloud computing technology to tap the value of data. Although the Internet industry is still dominant, the scale of cloud computing in transportation, logistics, finance, and other industries also occupies an important position. However, in general, compared with developed countries, Chinese enterprises' cloud access rate is still lower, and there is huge potential for development. According to McKinsey research data, in 2018, the cloud access rate of US companies has reached over 85%, the cloud access rate of EU companies is also around 70%, while the cloud access rate of enterprises in various industries in China is only about 40%, which is in the core infrastructure of the digital economy. There is still a long way to go in construction.

    In the future, the digital economy will lead to China's cloud computing industry's rapid development. New technologies and applications will bring new vitality to the cloud computing market. Edge computing, artificial intelligence, and machine learning-oriented parallel computing are expected to continue to drive the market to maintain growth; 5G will also drive new infrastructure growth and promote new application innovation. Promote the integration of new applications such as autonomous driving and intelligent networked vehicles with cloud computing, opening up new room for growth. The new crown epidemic in 2020 has promoted the large-scale popularization and application of cloud computing to a certain extent. China's cloud computing industry is expected to usher in a "golden development period" in the next few years.

8.1.2 The Development and Trend of Cloud Computing Abroad

Compared with China, developed countries led by the United States started earlier in developing cloud computing, with more advanced technologies, more complete industrial chains, and larger industrial scales. According to the “Global Public Cloud Market Share Report (2017),” global public cloud service revenue reached US$260.2 billion in 2017, an increase of approximately 18.5% over the previous year, and the report predicts that this number will grow to 411.4 billion US dollars. Furthermore, this data does not include a large number of private cloud and hybrid cloud revenue. Although the “cake” of cloud services is large and growing rapidly, it is extremely unevenly distributed among different countries. According to statistics, in the global cloud computing market, the United States has the largest share, accounting for about 60%, followed by Europe, accounting for about 25%, while emerging developing countries (including China) account for a small proportion. However, the good news is that these countries are to catch up with an astonishing rate of development.

The foreign cloud service market is divided by some "giant companies" in cloud computing. At present, the leading cloud computing vendors mainly include Amazon, Google, and Microsoft. These cloud computing giants have occupied a large share in the global cloud market by their leading technology and industry position, have a strong influence in the industry, and their cloud service revenue has also maintained a high growth rate. Take Amazon as an example. Its revenue has maintained a double-digit growth trend for more than 20 years. Even in the second quarter of 2020, when various industries are severely affected by the new crown epidemic, it still recorded 88.9 billion US dollars. An increase of 40% in the same period last year. Among them, e-commerce revenue was US$78.1 billion, an increase of 42%. At the same time, AWS revenue was US$10.8 billion, an increase of 29%. Amazon's profit in this quarter reached 5.24 billion US dollars, an increase of 99.7% over the same period last year, setting Amazon's highest profit record. This is in sharp contrast to other traditional industries' poor performance and even serious losses during the same period.

It can be predicted that the global cloud computing industry will still maintain a relatively high development speed, at least in the next few decades. New technologies will continue to emerge and new applications will continue to expand. Unless there are unpredictable changes, the "big bosses" in the industry will still maintain their monopoly and dominance for a long time. The rise and rapid development of developing countries, especially China, are worth looking forward to.

8.1.3 Problems to be Solved and Prospects for the Future Development of Cloud Computing

  1. 1.

    Problems to be solved in the future development of cloud computing

    1. (1)

      Data security issues

      Data security is one of the most concerning issues for enterprises. Data security includes two aspects: ensuring that data will not be lost, and the other is to ensure that data will not be leaked or accessed illegally. Data loss or sensitive data leakage will bring immeasurable losses to enterprises and customers no matter which scenario occurs. Although cloud computing has unparalleled advantages in many aspects, it saves users from building their own IT platform. It can provide almost unlimited data storage space and almost unlimited computing and processing capabilities, but users will not be willing to host their data on the cloud platform if user data security cannot be guaranteed. When using cloud services, users save data to the cloud platform, which means they lose control of the data. Users neither know where their data is stored nor can they determine whether the data has been peeped or tampered with. There are doubts about whether the cloud service provider hosting the data can ensure the security of the data. Therefore, to effectively solve the data security problem, in the future, cloud computing technology must consider more comprehensive and complete data security solutions, provide appropriate management mechanisms, and ensure that cloud service providers provide services based on honesty and credibility. In this way, users who are more sensitive to data security can use cloud services with confidence.

    2. (2)

      Network performance issues

      Improving network performance is also one of the challenges facing cloud computing. Users can use cloud computing services without the network, but low or unstable access to the network bandwidth will greatly reduce cloud computing performance. Therefore, we must vigorously develop access network technology. The development and landing of 5G technology also provide an opportunity to use mobile Internet to access cloud computing. In addition, in the cloud computing network, in order to complete the efficient processing of information, not only the cluster servers in the network need to have high computing and processing capabilities, but the communication facilities in the network must also have high performance, to ensure the high quality of cloud services and provide low-latency to cloud users.

    3. (3)

      Standardization of cloud computing

      There is no open public standard for cloud computing, which has caused much inconvenience to users. It is difficult for users to migrate a certain company's cloud computing applications to another company's cloud platform. In this way, the user is bound to a fixed cloud service provider, limiting the user's right to choose. Therefore, if cloud computing wants to develop better, it is necessary to formulate a unified cloud computing public standard.

      In addition, the interoperability issues between different cloud systems need to be considered. Corresponding standards need to be formulated for the interface of cloud computing to facilitate access to the resources of another cloud system through one cloud system and cooperation between different cloud service providers.

  2. 2.

    Outlook

    Due to the uncertainty of technology and social development, it is difficult to predict the future of cloud computing technology, but we can see the following trends.

    1. (1)

      Cloud standardization and cross-cloud migration

      Currently, there is no unified standard for cloud services, and different cloud service providers adopt different systems and solutions. Once an enterprise uses a certain cloud service provider's service, it is bound to the service provider, and the cost of migrating to other cloud services is very high. Just as computer networks' development has evolved from non-standardized proprietary networks to networks that adopt unified, standardized protocols, standardization in the field of cloud computing is also worth looking forward to. Once cloud computing is standardized, users do not have to worry about cloud service providers' lock-in. They can freely switch between multiple cloud services, and they can also migrate across clouds, which meets the needs of users for a more unified view across multiple cloud accounts. For example, users can respectively correspond development and production to different cloud service providers' cloud platforms. At the same time, standardization can also greatly reduce the cost of cloud infrastructure and provide services for cloud users with a higher price-performance ratio.

    2. (2)

      A higher level of abstraction

      A future development trend is that information technology and services will continue to become more abstract (close to the user, far away from the hardware). The development of new technologies such as serverless, containers, and application-defined hardware means that engineers/developers can pay less and less attention to infrastructure. Staying away from hardware details and focusing on business logic is an obvious trend, and it may continue for some time.

    3. (3)

      Containers become mainstream

      Application containerization is a new trend in cloud computing, and it is changing the way resources are deployed to the cloud. Containers use a sandbox mechanism, and there will be no interfaces between them, and an isolated and standardized operating environment can be built. At the same time, the container has the advantages of fast startup and small resource usage. In 2019, more and more companies used containers. According to ESG Research's forecast, one-third of hybrid cloud workloads will use containers in 2020. In the past few years, Kubernetes has become the preferred container orchestration platform. In the future, more companies will regard containers as an essential part of their IT strategy.

8.2 Other Fields Related to Cloud Computing

Cloud computing has a wide range of applications in many fields, especially in the application fields that require massive data processing, and it plays an important role. The following technologies are closely related to cloud computing and even use cloud computing technology as its support.

8.2.1 The Internet of Things

The Internet of Things (IoT) is an important part of a new generation of information technology and is called the "Internet of Things Connected." This has two meanings: first, the core and foundation of the Internet of Things is still the Internet, which is an extension and expansion of the Internet; second, the edge of the network extends and extends to ordinary non-intelligent items, and items can also be connected to the network and realized the interconnection between items.

Specifically, the Internet of Things uses radio frequency identification (RFID), infrared sensors, global positioning systems, laser scanners, and other information sensing equipment to connect items to the Internet according to an agreed protocol for information exchange and communication to realize the intelligent identification, positioning, tracking, monitoring, and management of items.

The main technologies used on the Internet of Things are as follows:

  1. 1.

    RFID

    RFID is a kind of automatic identification technology that uses radiofrequency to read/write the recording medium (electronic tag or radio frequency card) (usually a non-contact method) to identify the target and data exchange. RFID technology enables non-intelligent ordinary items to have the ability to interact, and ordinary items can be connected to the Internet of Things by attaching electronic tags to them.

  2. 2.

    Transducer

    A transducer is a detection device that can sense the measured information and transform the sensed information into electrical signals or other required forms of information output according to a certain rule to satisfy the requirements of transmission, processing, storage, display, record, and control of information. There are many types of sensors. Their basic sensing functions are divided into thermal, photosensitive, air-sensitive, force-sensitive, magnetic-sensitive, moisture-sensitive, and sound-sensitive. Connect all kinds of sensors through the network to realize data collection, processing and information sharing, forming a sensor network, which is an important type of the Internet of Things.

  3. 3.

    IPv6

    IPv6 is the next-generation IP protocol designed by the Internet Engineering Task Force (IETF) to replace IPv4. Currently, the mainstream IPv4 only uses 4 bytes to represent the Internet's IP address, and the address space is seriously insufficient and has been exhausted. However, a large number of ordinary items need to be connected to the Internet. If these items need to be connected to the Internet, they usually need to be assigned IP addresses. This requires a huge number of IP addresses far beyond the past. IPv6 uses 16 bytes to represent IP addresses, and its address space is much larger than IPv4, and its number of addresses claims to be able to allocate an IP address to every grain of sand in the world. IPv6 effectively solves the problem of a serious shortage of network address resources on the Internet of Things and removes the barriers for multiple access devices to connect to the Internet, so it has also become one of the supporting technologies of the Internet of Things.

  4. 4.

    Cloud computing technology

    The application of cloud computing, cloud storage, cloud services, cloud terminals, and other cloud computing technologies to the perception layer, application layer, and network layer of the Internet of Things can solve the problem of managing massive amounts of information and data on the Internet of Things. Specifically include the following questions.

    1. (1)

      It can effectively solve the unreliability problem of server nodes on the Internet of Things and reduce the probability of server failure

      With the rapid development of the Internet of Things, its scale is getting larger and larger, and it can even reach the scale of a metropolitan area network. The number of servers in the network is also increasing, leading to a sharp increase in server failure probability. If combined with cloud computing technology, through virtualization, clustering, and virtual machine migration technologies, it can effectively solve server nodes' unreliability problem on the Internet of Things and ensure the realization of uninterrupted security services for the Internet of Things.

    2. (2)

      Flexible expansion can be achieved, ensuring low input and high output of the Internet of Things

      The hardware resources of the server on the Internet of Things are limited. When the load is too large, the server may be paralyzed. The hardware resources of the server on the Internet of Things are limited. When the load is too large, the server may be paralyzed. Combined with cloud computing technology, through load balancing, elastic expansion, optimized load distribution strategy, or elastic expansion of the number of virtual machines, server overload can be effectively avoided.

    3. (3)

      Sharing of information resources can be realized

      Collecting data collected by sensors on the IoT to a cloud computing center through the Internet will facilitate the sharing and centralized processing of these information resources.

      Cloud computing and the Internet of Things complement each other. Among them, cloud computing is the cornerstone of the development of the Internet of Things. At the same time, as one of the largest users of cloud computing, the Internet of Things continues to promote the rapid development of cloud computing. With the support of cloud computing technology, the Internet of Things can further improve data processing and analysis capabilities and is endowed with more robust work performance, which improves its work efficiency and makes its application fields more and more extensive. If there is no cloud computing as the basic support, the massive data information generated by the Internet of Things will not be smoothly transmitted, processed, and applied. The work efficiency of the Internet of Things will be greatly reduced, and its advantages over traditional technologies will no longer exist. Therefore, with the support of cloud computing technology, the development space of the Internet of Things has become broader.

      Generally speaking, cloud computing can provide powerful processing capabilities for the massive data of the Internet of Things; cloud storage can provide enough storage space for the collected data; cloud services can use virtualization technology, cluster technology, and distributed technology. Integrate different types of IT resources to provide various functions such as data collection, storage, analysis, and processing for the Internet of Things.

      In addition to the several technologies mentioned above, technologies such as QR code and short-range wireless communication are also core technologies of the IoT. Figure 8.1 shows the main supporting technologies of the Internet of Things.

Fig. 8.1
figure 1

The main supporting technologies of the Internet of Things

8.2.2 Big Data

  1. 1.

    The concept of big data

    For any industry, enterprise, or organization, managing and analyzing data can usually bring great benefits. However, at the same time, it is arduous and challenging work. The data we need to process is often complex and diverse. Some data is structured and stored in relational databases, while some data is unstructured, such as documents, pictures, audio, and video. The source of the data is also different. Sensors or applications collect some data, and some data is manually entered or edited. Mobile devices with increasingly powerful functions, coupled with the Internet that can be accessed at any time, have also become a new data generation source. How to deal with these massive amounts of data from different sources and different data formats is no longer feasible with traditional data management thinking. It is necessary to look at data management differently. Big data refers to a collection of data that cannot be captured, managed, and processed with conventional tools within a certain time frame. Big data is a massive, high growth rate, and diversified information asset that requires new processing models to have more substantial decision-making power, insight and discovery, and process optimization capabilities.

    With the rapid development of information technology, hardware, storage, network upgrades, and computing models, such as virtualization and cloud computing, traditional data management, and utilization methods have changed. The integration of emerging technologies and reducing cycle costs from storage to computing have changed the landscape of data and gave birth to big data. The sources of big data are diversified. Computers or sensors can automatically generate it, or it can be generated artificially through human–computer interaction. Big data usually has five characteristics (5 "Vs"): Volume (large), Velocity (high speed), Variety (diversity), Value (low-value density), Veracity (authenticity). Among them, diversity is a distinctive feature of big data. Data can generally be divided into three categories: structured data, unstructured data, and semi-structured data. Structured data generally refers to data that has a certain length and format. Typical structured data includes numbers, dates, and strings representing specific meanings (such as names and addresses). Structured data can be stored in a relational database, and structured query language can be used to perform data operations such as query, insert, change, and delete. Unstructured data refers to data without a fixed format, and most of the actual data is of this type. For example, pictures, audios, videos, files, emails, logs, and webpages are all unstructured data. The unstructured data mentioned here is not that the data itself is messy. Taking files as an example. Each file has its unique structure or format, but as a whole, the information inside the file does not have a unified format specification and is unstructured. Another type of data is semi-structured data, which lies between structured data and unstructured data. Although it does not have a fixed schema like structured data, it may have some formatting of its own, or contain something like “key-value”. For example, XML, JSON, EDI, SWIFT, etc. are all semi-structured data.

  2. 2.

    Big data processing technology

    Usually, big data includes not only the data but also the technology to process the data. Big data is important because it allows data processors to collect, store, manage, and manipulate these massive amounts of data at the right speed and at the right time to get a correct understanding of the data or extract valuable information from the data. Big data processing technology is not an isolated technology. On the contrary, it integrates technological changes in recent decades and embodies the latest technological achievements in the IT field. The core technologies of big data processing, such as virtualization, parallel processing, distributed file system, and memory database, have a history of decades of development. Moreover, like Hadoop and MapReduce, the development history is much shorter. When these technologies are combined, they can meet some important business needs.

    Big data is an entirely new concept. Nevertheless, it is an evolution in the development of data. It is based on data management practice in the past few decades and has benefited from the development of software/hardware technologies in recent years and the rise of emerging technologies such as cloud computing. For example, because of the high cost of computing and storage, companies can only compromise on storing data snapshots or a subset of important information and cannot save all the data they need to analyze. With virtualization and cloud computing technology, data can be virtualized, storage efficiency is greatly improved, and cloud-based storage can also be used, improving efficiency and reducing costs. In addition, the increase in network bandwidth and reliability has greatly improved the efficiency of data transmission. These technologies provide the possibility for people to process massive amounts of data at an acceptable speed.

  3. 3.

    Big data and cloud computing

    In the world of big data, cloud computing plays a crucial role. Big data and cloud computing are like a coin's pros and cons from a technical point of view. Big data requires the computing function of distributed clusters, and this happens to be the cloud architecture. Relying on the distributed processing, distributed database, cloud storage, and virtualization technology of cloud computing, it is possible to process and mine massive amounts of data. For example, real-time analysis of large data sets may require cloud computing frameworks such as MapReduce, with thousands of virtual machines located on distributed computers to complete the work.

    The previous article introduced the inseparable relationship between the Internet of Things, big data, and cloud computing. The Internet of Things is an important source of big data. The Internet of Things corresponds to the perception layer of the Internet. Big data represents the information layer of the Internet. To dig out useful information from big data, the massive information processing capabilities of cloud computing are needed, as shown in Fig. 8.2. Therefore, cloud computing and the Internet of Things have promoted big data development, and big data has also promoted the progress of cloud computing and the Internet of Things.

Fig. 8.2
figure 2

The relationship between cloud computing, Internet of Things, and big data

8.2.3 Artificial Intelligence

  1. 1.

    The concept of artificial intelligence

    Artificial intelligence is a new technological science that studies and develops theories, methods, technologies, and application systems to simulate, extend, and expand human intelligence. Artificial intelligence covers a wide range of fields, including machine learning (deep learning), intelligent robots, image recognition, expert systems, natural language processing, computer vision, etc. Its goal is to make machines competent for complex tasks that usually require human intelligence to complete. Since the birth of artificial intelligence, theory and technology have become increasingly mature. The application field has been expanding, especially the breakthroughs in machine learning, making artificial intelligence a frontier technology currently focused on. A large number of artificial intelligence applications and results have also become an important force that changes lives and changes the world.

  2. 2.

    Development of artificial intelligence

    Artificial intelligence technology can be described as ups and downs. Artificial intelligence began in the 1950s and can be roughly divided into three stages of development. Stage 1 (the 50s to 1980s): At this stage, artificial intelligence was just born, and programmable digital computers based on abstract mathematical reasoning have beem emerged. Symbolism has developed rapidly, but because many things cannot be formalized, the established model has certain limitations. In addition, with the increasing complexity of computing tasks, the development of artificial intelligence once encountered a bottleneck. Stage 2 (the 1980s to the end of the 1990s): In this stage, the expert system has developed rapidly and the mathematical model has made breakthroughs. However, due to the lack of knowledge acquisition and reasoning ability of the expert system and the high development cost. The development of artificial intelligence has once again entered a low period. Phase 3 (from the beginning of the twenty-first century to the present): With the accumulation of big data, the innovation of theoretical algorithms, and the improvement of computing power, artificial intelligence has made breakthroughs in many application fields, ushering in another "prosperous period." After a long silence, artificial intelligence's resurgence is primarily due to breakthroughs in machine learning, intense learning technology. In fact, some deep learning algorithms (such as backpropagation algorithms) have been around for a long time. But at that time, they were limited to the computer's hardware level, and the processing power of the machine was very limited. At the same time, deep learning requires a lot of data for training. Generally, the larger the amount of data and the more accurate the data, the better the training effect. Unfortunately, there was also a lack of big data for training. In the past 10 years, the advancement of hardware technology (such as the emergence of GPU), the rapid development of cloud computing, and big data technology have created material conditions for deep learning technology development.

  3. 3.

    Artificial intelligence and cloud computing

    Artificial intelligence is produced by inductive learning of massive data, and the processing of massive data cannot do without cloud computing. The von Neumann system's serial structure in the early years made computers unable to meet the hardware requirements of artificial intelligence. In recent years, the massive parallel and distributed computing capabilities of cloud computing have partially solved this problem, making artificial intelligence going forward. A big step forward.

    In the cloud computing environment, all computing resources can be dynamically increased or decreased from the hardware infrastructure and can be flexibly expanded and contracted to meet work tasks' needs. The essence of cloud computing infrastructure is to maximize the utilization of IT investment by integrating and sharing dynamic hardware equipment supply, which significantly reduces the unit cost of using cloud computing and is also very conducive to artificial intelligence's commercial operation.

    In addition, it is particularly worth pointing out that in recent years, GPU-based parallel computing has sprung up, and its parallel computing power far surpasses that of CPUs. A single GPU chip integrates many processing cores with weak processing capabilities and single functions. Compared with a small number of complex cores with more powerful functions in a CPU chip, it is more suitable for running distributed artificial intelligence algorithms. Now not only companies such as Google and Netflix use GPUs to build artificial neural networks, but companies such as Facebook, Amazon, and Salesforce also have GPU-based cloud computing capabilities. The domestic iFlytek also uses GPU clusters to support voice recognition technology.

    In addition, because artificial intelligence algorithms mostly rely on a large amount of data, these data often need to be accumulated for a specific field (such as e-commerce) for a long time. Without data, artificial intelligence algorithms are useless. Cloud computing service providers often accumulate large amounts of data, and artificial intelligence algorithms can run on these data and provide the results as services. This is equivalent to SaaS in cloud computing. At the same time, running deep learning artificial intelligence algorithms requires compelling computing capabilities. The instant-available, robust, and elastically scalable computing capabilities provided by cloud platforms can ensure that artificial intelligence algorithms run successfully within an acceptable time. Figure 8.3 describes the relationship between artificial intelligence, big data, and cloud computing.

    The rise of artificial intelligence is the inevitable result of cloud computing and big data evolution and maturity. The core of artificial intelligence is not only algorithms but also learning. Through the learning of data, value can be obtained from data. If cloud computing is the soil of big data, then big data is the water and fertilizer needed to grow artificial intelligence, and artificial intelligence is the final blooming flower. It is based on cloud computing and big data that artificial intelligence has made a qualitative leap. It is foreseeable that under the strong support of cloud computing and big data, the future of artificial intelligence is bound to be a glorious drama, worthy of people's expectation, while cloud computing and big data will continue to be unique in the era of the Internet of Everything.

Fig. 8.3
figure 3

The key between artificial intelligence, big data, and cloud computing

8.2.4 5G

  1. 1.

    Concept of 5G

    5G is a new generation of cellular mobile communication technology and an extension after 4G (LTE-A, WiMax), 3G (UMTS, LTE), and 2G (GSM) systems. The performance goals of 5G are high data rates, reduced latency, energy savings, cost reduction, increased system capacity, and large-scale device connections. At present, 5G has entered the commercial stage. On October 31, 2019, the three major operators announced the 5G commercial package and officially launched the 5G commercial package on November 1st.

  2. 2.

    Development of 5G

    The development of 5G also comes from the increasing demand for mobile data. With the development of the mobile Internet, more and more devices are connected to the mobile network, the demand for mobile data "explosively" grows, and new services and applications emerge endlessly. The report of the Swedish telecommunications equipment company Ericsson shows that by 2022, the number of global mobile broadband users will reach 8.3 billion, an annual growth rate of more than 20%. The skyrocketing mobile data traffic will bring severe challenges to the communication network, and the existing mobile communication system cannot meet future demands. In order to solve the above challenges and meet the increasing demand for mobile traffic, it is urgent to develop a new generation of 5G network.

  3. 3.

    5G and Cloud Computing

    5G is a complex new technology. Huawei is an international leader in 5G standard formulation and product development. Huawei puts forward that "5G technology will empower information and communication technology and trigger many changes in technology and business." It also pointed out five revolutionary changes that 5G technology may bring: platform connection, always-on, full cloud, and redefining the terminal and continuity. Here, we focus on the relationship between 5G technology and cloud computing.

    The landing application of 5G will play a comprehensive role in promoting the popularization of cloud computing. Traditional cloud computing mainly relies on fixed-line broadband to provide access services. With 5G technology, since 5G technology has significantly improved the response efficiency, reliability, and unit capacity of mobile networks, the mobile Internet carried by 5G technology can provide cloud computing with anytime, anywhere, high-bandwidth, low-latency, reliable performance, and low price. This will greatly promote cloud computing development, enabling cloud computing users to expand from central cities and towns that initially had to rely on fixed broadband lines to rural or various mobile scenarios, enabling cloud access anytime, anywhere. A large number of local computing services can also be more easily migrated to the cloud so that cloud computing can give full play to its advantages.

    In the 5G era, the development trend of cloud computing will have the following characteristics.

    1. (1)

      Terminal computing in the consumer Internet field will migrate to the cloud

      In the consumer Internet field, including the entertainment field, the terminal's computing tasks will be migrated to the cloud, which can greatly reduce the cost of terminal hardware, thereby laying a foundation for the popularization of terminal products. On the Internet of Vehicles and wearable devices, because 5G technology will greatly improve response efficiency, cloud computing technology will be widely adopted in these two areas in the 5G era.

    2. (2)

      Cloud computing will be combined with edge computing in the field of industrial Internet

      The biggest difference between the industrial Internet field and the consumer Internet field lies in data's boundary requirements. The industrial Internet field usually has strict requirements on the boundaries of data. At the same time, the amount of data on the Internet of Things itself is huge. It is not realistic if all data processing tasks are sent to the cloud platform, so edge computing completes terminal data processing, and cloud computing completes. The final data processing cooperation method will be widely used.

    3. (3)

      Cloud computing will stimulate innovation from the perspective of the industry

      5G technology has significantly improved the basic communication capabilities, making it easy for many industry applications to use cloud computing as an important resource acquisition method, which will fundamentally affect product design ideas. It can be said that cloud computing will fully empower enterprise innovation in the 5G era. The continuous deepening of industry applications will further promote the improvement and development of cloud computing. Cloud computing can provide computing resource services and gradually develop other value-added services such as product research and development services.

8.3 Introduction to Other Emerging Technologies

8.3.1 Edge Computing and Fog Computing

  1. 1.

    Edge computing

    1. (1)

      The concept of edge computing

      In the past few years, the diversification trend of computing platforms, equipment, and services has been eye-catching. For example, desktop computers used to be the mainstream computing platform for desktop offices. However, after entering the twenty-first century, handheld devices such as notebook computers and later tablets have gradually become the mainstream of office equipment, while wearable devices and the Internet of Things have become new popular trends. In the face of diversified terminal devices, "cloud" as a unified platform that can provide applications and service support for various terminal devices has been increasingly used.

      There are a large number of cloud platforms that provide a wide range of services for different devices. As the platform is stable and reliable, third-party developers rely increasingly on cloud computing to provide end-users with high-quality services. Generally speaking, cloud services require developers to host services, applications, and data in off-site data centers. However, limited to specific applications, more and more services with high QoS requirements require computing tasks to be completed by end-users. For example, delay-sensitive real-time applications need to complete back-end services at the user's current location. Research in recent years has shown that performing computing tasks close to the end-user helps improve the end-user's service experience. This approach is usually called edge computing.

    2. (2)

      Features of edge computing

      Contrary to transferring data to a remote cloud for processing, edge computing provides computing and storage resources at the edge of the network close to the data source. In layman's terms, edge computing is decentralized or distributed cloud computing. The original data is not transmitted back to the cloud but is analyzed and processed locally. Because edge computing supports actual needs, especially on the Internet of Things, it is widely used so that edge computing may become the next successful technological breakthrough like cloud computing.

      Figure 8.4 shows an example of an edge computing solution based on the Internet of Vehicles. In traditional solutions, the user needs to be processed layer by layer to the cloud computing center for calculation, and the calculation result is returned layer by layer, and the processing wait time is long. In the edge computing solution, the user's data is required to be directly sent to the edge device (such as the roadside device RSU) for processing, and the processing result can be returned immediately, and the waiting time is short. At the same time, it can also directly interact with neighboring users, which is more suitable for the Internet of Vehicles where the network topology changes at any time due to the rapid movement of vehicles and the response time is very demanding.

  2. 2.

    Fog computing

    1. (1)

      The concept of fog computing

      There are several different forms of edge computing, and fog computing is an important one.

      Fog computing refers to a computing model in which data processing and applications are concentrated in devices at the edge of the network, rather than all stored in the cloud. We can regard fog computing as an extended concept of cloud computing. The reason why it is named "fog computing" is because "fog" is closer to the ground (user terminal) than "cloud."

      The rise of fog computing is closely related to the continuous enhancement of edge devices' processing capabilities. Due to the continuous enhancement of the latest chips, wireless devices and sensors, current edge devices can perform complex functions such as computing, storage, sensing, and network management. This provides hardware support for the sinking of processing power.

    2. (2)

      Fog architecture and characteristics

      The architecture corresponding to fog computing is called fog architecture, including networking, computing, and storage. The fog architecture uses one or a large number of collaborative end-user clients or edge devices close to the end-user to perform a series of operations such as storage, communication, control, configuration, measurement, and management. Fog architecture will be used in technical applications such as 5G, home/personal networking, embedded artificial intelligence systems, and the Internet of Things. Figure 8.5 shows several common types of fog architecture.

      The fog architecture is different from the existing cloud, mainly reflected in the following three places.

      • The fog architecture performs a large number of storage operations at or near the end-user. The cloud puts storage in large-scale data centers.

      • The fog architecture performs a large number of communication operations at or near the end-user. The cloud is routed through the backbone network to centralized nodes for operation.

      • The fog architecture performs a large number of calculation and management operations at or near the end-user, including network measurement, control, and configuration. The cloud is mainly controlled through the gateway.

    3. (3)

      Advantages of fog computing

      As a distributed computing infrastructure for the Internet of Things, fog computing can extend computing power and data analysis applications to the "edge" of the network, enabling users to analyze and manage data locally, with perception, efficiency, sensitivity, and low-latency.

      • Perception: Perception that takes the client as the central goal. When the cloud cannot guarantee privacy and reliability or enhance security by shortening the communication distance, client-centric perception is particularly important.

      • Efficient: Integrate local resources. There are a large number of idle processing capabilities on edge devices. The integration of these idle processing capabilities, perception capabilities, and wireless connection capabilities can make more efficient use of local resources.

      • Sensitive: Rapid innovation and achievable scaling. Innovation led by cloud service providers is often slow and untimely. Applying the fog architecture, small companies can quickly use the programming interfaces provided by edge devices for business innovation.

      • Low-latency: Reduce latency and realize real-time processing. Some applications, such as real-time applications on the Industrial Internet, have strict requirements on time delay. Using the fog architecture to perform data analysis locally on the edge device and perform various operations through the control loop can provide milliseconds or less response time to meet real-time processing requirements.

Fig. 8.4
figure 4

Examples of edge computing solutions based on the Internet of Vehicles

Fig. 8.5
figure 5

Several common types of fog architecture

Fog computing and cloud computing have their strengths, and they are aimed at different application scenarios. The two cooperate to meet a broader range of user needs.

8.3.2 Microservices

  1. 1.

    The concept of microservices

    Microservices is another hot topic in application architecture, and it is considered the final product under SOA. As an architectural model, microservices advocate dividing a single application into a group of small services, each service can run independently, and the services coordinate and cooperate in providing users with ultimate value.

    Microservices decompose the original business functions into multiple small services. Each service runs in its process. A lightweight communication mechanism is used between services to communicate (usually HTTP-based REST API). Each service is built around a specific business and can be independently deployed to a production environment, a production-like environment, etc. Microservice design principles have two points: First, each service is independent, and a unified and centralized service management mechanism should be avoided as much as possible. For specific services, appropriate languages and tools should be selected according to the business context to build them; The second is to ensure high availability and scalability of services.

    The microservice architecture model has become a popular architecture model for application cloudification. Its core is to divide complex applications into small-grained, lightweight autonomous services and develop service development and service governance around microservices.

  2. 2.

    The characteristics of microservices

    In practice, the microservices in the microservice architecture pattern have the following main characteristics.

    1. (1)

      Small

      The microservice architecture separates complex business logic into a set of small, specific, low-coupling, and highly autonomous services by analyzing and modeling specific business areas, each of which is a small application. The sparrow is small, but it has all five internal organs. Although each microservice is small, the service itself is still a complete application, which is different from the components, plug-ins, and shared libraries we usually say. As for how small microservices should be, there are no strict standards, and they are usually divided based on business logic.

    2. (2)

      Independence

      Independence refers to the independence of microservices. The independence here is mainly for the delivery process of a microservice application: the independence of development, testing, and deployment upgrades. In the microservice architecture, each service is an independent business unit. This business unit is an independent business process in terms of deployment form. Changes to a microservice will not affect other services. There is an independent code base for each microservice, and the code modification of the microservice will not affect other microservices. In addition, for each microservice, there is an independent test and verification mechanism, and there is no need to carry out a large-scale regression test for worrying about damaging the complete function (the existing research and development model of large integration and complete coverage testing is expensive, but the test results. But it is not reassuring).

    3. (3)

      Light

      Microservices emphasize service autonomy, so the interaction between services must be carried out in message communication. From the perspective of efficiency, a lightweight communication mechanism should be selected. In the practice of application implementation, the REST API method is widely adopted. The advantage of this communication mechanism is that it is language-independent and platform-independent, and it is effortless to develop communication protocols to ensure the forward compatibility of the interface.

      In evolving from the traditional application architecture to the microservice architecture, the industry has partially retained the RPC communication mechanism in practice to ensure the forward compatibility of the interface. The purpose is to support the independence of services and the loosely coupled state of services.

    4. (4)

      Looseness

      Looseness refers to loose coupling between microservices. Each microservice can be deployed independently, and there is no dependency on the order of deployment. The interfaces of microservices are forward compatible, and the launch of individual microservices will not be related to other services and can be independently released and upgraded in grayscale. The grayscale release mentioned here refers to a release method that can smoothly transition between black and white. A/B test can be performed on it. That is, some users continue to use product feature A, and another part of users start to use product feature B. If users have no objections to B, then gradually expand the scope and migrate all users to B. Gray release to ensure the overall system's stability.

      One more thing to note when implementing loose coupling between microservices is that a microservice should only accomplish one thing. The independence of business logic is the key to decoupling between microservices.

  3. 3.

    The typical architectures of microservices

    After splitting a sizeable single application and service into several or even dozens of microservices, to facilitate the search and configuration of microservices and the communication between services, it is usually necessary to configure a unified service registry and service configuration center. In addition, after splitting into microservices, a large number of services and a large number of interfaces will appear, making the entire call relationship chaotic. In order to solve this problem, the invocation of microservices is generally unified through the gateway. Usually, a layer of the gateway is added between the caller and the callee, and permissions are checked each time it is called. In addition, the gateway can also be used as a platform for providing service interface documents. Figure 8.6 shows a typical microservice architecture.

  4. 4.

    The advantages of microservices

    The first advantage of microservice applications is that they often use computing resources more efficiently than traditional applications. This is because they deal with functional bottlenecks by extending components. In this way, developers only need to deploy computing resources for additional components instead of deploying a new iteration of a complete application. The result is that there are more resources available for other tasks.

    The second advantage of microservice applications is that they are faster and easier to update. When developers make changes to a traditional integrated application, they must do detailed Quality Assurance (QA) testing to ensure that the changes will not affect other features or functions. However, with microservices, developers can update individual components of the application without affecting other parts. Testing microservice applications is still necessary, but it is easier to identify and isolate problems, thereby speeding up development and supporting DevOps (operations and maintenance) and continuous application development.

    The third advantage of microservice applications is that the microservice architecture helps emerging cloud services, such as event-driven computing. Functions like AWS Lambda (AWS Lambda are Amazon's AWS serverless computing service, a fine-grained method for deploying code, managing services, and monitoring the running status of lightweight services) allows developers to write this type of code. It stays in the dormant state when idle, until the application event is triggered. Computing resources are only needed for event processing, and companies only need to pay for each event instead of a fixed number of computing instances.

Fig. 8.6
figure 6

Typical microservice architecture

8.3.3 Serverless Computing

  1. 1.

    The concept of serverless computing

    Suppose the microservice architecture is based on small functional modules that focus on a single responsibility and function, using modular methods to assemble complex large-scale applications. In that case, serverless architecture can provide a more "code fragmentation" application architecture Mode, that is, Functions as a Service (FaaS). The function as a service here is a smaller service entity than microservices.

    Serverless computing is a new way of hosting applications on an infrastructure that does not require end-user management. It is the next stage of IaaS evolution. It separates the developers' underlying infrastructure and virtualizes the runtime (a type of virtual machine, generally refers to the process-level virtual machine) and operation management. This is commonly referred to as FaaS. Serverless architecture allows users (generally developers) to perform given tasks without worrying about servers, virtual machines, or underlying computing resources. At present, serverless and FaaS have also become new hot trends in cloud computing.

    Like many new concepts, the concept of serverless currently does not have a universally accepted definition. Amazon gave this definition: "Serverless architecture is an Internet-based system in which application development does not use conventional service processes. Instead, they only rely on a combination of third-party services (such as AWS Lambda services), client-side logic, and service managed remote procedure calls."

  2. 2.

    Serverless computing architecture

    Serverless computing is a cloud service whose architecture tries to help users get rid of the setup and management of server equipment required to run back-end applications. When users use this service, the hosting service provider will allocate sufficient resources to users in real time, instead of letting users pay in advance for dedicated servers or capacity. Serverless computing is not no-server computing (it means that you do not need to manage the server). However, the hosting service provider is responsible for maintaining the back-end infrastructure and provides developers with the required functions in a service manner, such as databases, messages, and authentication. In a word, this architecture allows users to focus only on the operation of the code without the need to manage any infrastructure. The program code is deployed on platforms such as AWS Lambda to trigger function calls through event-driven methods. When a predefined event that triggers the code occurs, the serverless platform executes a function call to complete the task. Obviously, this is an architecture technique ultimately aimed at developers. Its technical characteristics include event-driven invocation methods, as well as certain limited program operation methods. For example, the running time of AWS Lambda functions is 3s to 5min by default.

    Serverless computing can be seen as a new abstraction layer built on the cloud infrastructure, using only the exact computing resources required to complete the task to execute the code (i.e., the function) written by the developer, neither more nor less. Every time the function is executed, the client pays some money. So some people think that the name FaaS is appropriate. It has different abstraction layers from an infrastructure perspective, and developers can interact with these abstraction layers. By stripping management of the workload, you only need to execute the code without worrying about the server infrastructure or management.

    Figure 8.7 shows the comparison of traditional architecture, microserver architecture, and no-service architecture.

  3. 3.

    Advantages of Serverless Computing

    Using serverless computing technology has the following advantages.

    1. (1)

      Agility

      Since developers do not need to deploy, manage, or expand the server when using the server, the operational overhead is significantly reduced. Serverless and microservice architecture are highly compatible, which also brings significant agility.

    2. (2)

      Scalability

      Serverless upgrades and adding computing resources no longer depend on the DevOps team. Serverless applications can automatically scale quickly and seamlessly to accommodate peak traffic; conversely, these applications will automatically scale down when the number of concurrent users decreases.

    3. (3)

      Pay-per-use billing model

      When using a serverless platform, you only need to pay for the computing resources you need. The serverless architecture introduces an accurate pay-per-use billing model. That is, users pay only when they perform a specific function. The serverless billing model makes it ideal for microservers with smaller load requirements and applications with high fluctuating traffic patterns. Unlike the traditional environment, there is no need to pay for virtual machines or containers often idle.

    4. (4)

      Security

      The serverless architecture provides security. Since users no longer need to manage servers, there are far fewer threats like Distributed Denial of Service (DDoS) attacks, and the automatic expansion function provided by the serverless architecture helps reduce the risk of such attacks.

      Although the emergence of serverless architecture is not long, it has been widely used, such as back-end mobile applications and Internet of Things applications. The serverless architecture starts from a highly flexible usage model and event-driven features, which can help users reduce deployment, improve scalability, and reduce the maintenance burden of the infrastructure hidden behind the code.

Fig. 8.7
figure 7

Comparison of traditional architecture, microservice architecture, and serverless architecture

8.4 Exercise

  1. (1)

    Multiple Choices

    1. 1.

      IoT is an abbreviation for ().

      1. A.

        Internet

      2. B.

        Internet of Things

      3. C.

        Internet of Vehicles

      4. D.

        Enterprise Intranet

    2. 2.

      () Does not belong to the core technology of the Internet of Things.

      1. A.

        Sensor

      2. B.

        RFID

      3. C.

        Grid computing

      4. D.

        Cloud computing E. IPv6

    3. 3.

      The wrong statement about big data is ().

      1. A.

        Big data processing technology is a brand-new technology just born.

      2. B.

        Big data cannot be captured, managed, and processed with conventional software tools within a certain time frame.

      3. C.

        Data diversity is a distinctive feature of big data.

      4. D.

        Big data can be divided into three categories: structured data, unstructured data, and semi-structured data.

      5. E.

        Big data and cloud computing are like the pros and cons of a coin, inseparable.

    4. 4.

      () Is not the main research field of artificial intelligence.

      1. A.

        Intelligent robot

      2. B.

        Machine learning

      3. C.

        Expert system

      4. D.

        Parallel computing

      5. E.

        Computer vision

    5. 5.

      () Is not the main driving force behind the breakthrough development of deep learning technology.

      1. A.

        The emergence of GPU

      2. B.

        The development of big data technology

      3. C.

        5G applications

      4. D.

        The development of cloud computing technology

    6. 6.

      The main promotion effect of the application of 5G to the further popularization of cloud computing is reflected in ().

      1. A.

        5G can provide cloud computing with anytime, anywhere, high-bandwidth, low-latency, reliable performance, and cheap access services.

      2. B.

        5G can increase the computing speed of cloud computing.

      3. C.

        5G can bring rich application scenarios to cloud computing.

      4. D.

        5G makes cloud computing services cheaper.

    7. 7.

      The wrong statement about the main difference between fog computing and cloud computing is ().

      1. A.

        Data and data processing in fog computing are concentrated in devices at the edge of the network, not in the cloud.

      2. B.

        The data in fog computing is concentrated on a central server, but it does not use cloud storage like cloud computing.

      3. C.

        Fog computing performs a large number of storage operations at network edge devices, while cloud computing places storage in large-scale data centers.

      4. D.

        Fog computing performs a large number of communication operations at network edge devices, while cloud computing is routed to centralized nodes through the backbone network for operations.

    8. 8.

      () Is not the advantage of fog computing.

      1. A.

        Low cost

      2. B.

        Efficient

      3. C.

        Sensitive

      4. D.

        Low-latency

    9. 9.

      () Is not a feature of microservices.

      1. A.

        Little

      2. B.

        Independence

      3. C.

        Cheap

      4. D.

        Loose (loosely coupled)

    10. 10.

      () Not the advantage of serverless computing.

      1. A.

        Agility

      2. B.

        Scalability

      3. C.

        Pay-per-use

      4. D.

        Strong processing power

  2. (2)

    Answer the Questions

    1. 1.

      Talk about your views on the development trend of cloud computing.

    2. 2.

      Briefly describe the relationship between the Internet of Things, big data, and cloud computing.

    3. 3.

      Briefly describe the relationship between artificial intelligence and cloud computing.

    4. 4.

      Briefly describe the impact of 5G technology on the development of cloud computing.

    5. 5.

      What is the difference between fog computing and cloud computing? What are its advantages?

    6. 6.

      What are the main characteristics of microservices?

    7. 7.

      Briefly describe the concepts and advantages of serverless computing.