Over the past twenty years, we have witnessed the substantial development of US-China relations, which has fostered highly diverse exchanges in the technology sector. Prominent examples include the market development of Microsoft and Apple in China. As Teacher Li Yongle once pointed out in a video: In the process of trade between two countries, there is always mutual benefit for both sides.
Guided by this philosophy, we have always believed that the applications we build should become increasingly "globalized." By globalization, we mean that applications can achieve a global footprint and provide global services. For applications designed with this global footprint in mind, we can significantly reduce maintenance costs by leveraging our existing infrastructure, services, and operational experience. This is because we only ever need one specialized operations team to maintain global data and services.
In the past, as we contemplated certain challenges, our approach to "distributed" systems also evolved alongside the development of technology. A typical example is our consideration of the CAP theorem, where we increasingly prioritized partition tolerance and availability while de-emphasizing strong consistency. This approach is very typical in the construction of communication apps such as Email and WeChat. In other words, we can account for potential data discrepancies between two large data partitions, such as those in the US and China, while relying on the assumption that data will eventually be synchronized. At the moment when data connectivity is established, we perform a final consistency synchronization between the two partitions.
A very typical example in this regard is Microsoft's CosmosDb database. CosmosDb is a typical distributed database. Its goal is to provide a highly universal data endpoint globally, ensuring that this endpoint can be accessed safely, stably, quickly, and with low latency from any partition. Microsoft has made considerable progress in this direction. Many traditional applications are no longer installed locally, like inserting a CD into a server; instead, users simply click a mouse on a cloud service provider's website, and customers worldwide can access specific software services. In China as well, many excellent applications with geographic partition availability have emerged, including TiDB and WeChat.
We all believe this ideal will continue to develop, allowing the internet to be as open as Antarctica, free from barriers created by any organization or institution. Data access will also become increasingly easy.
However, this ideal may have been sustained only during the past twenty years.
Amidst the numerous political and news events of 2020, we have increasingly observed a lack of trust between people in different geographic locations. This distrust initially stemmed from politicians shifting blame and making accusations, but it quickly formed and drove various social groups to foster opposition between individuals. We once believed that under a market competition system, enterprise internet data was completely "free" to be transferred for services and data mobility.
I once wrote a blog post that discussed the feasibility of a software subscription model in detail. However, in today's context, that discussion should be overturned. Why Should the Software Customization Industry Develop a Software Subscription Model? - Anduin Xue (aiursoft.com). For instance, TikTok was nearly banned in the United States or completely separated from its original operating team. When we were building distributed applications, we considered that users in different countries often only need to access servers that are geographically close to them. These nearby servers can then synchronize data with other data partitions. Furthermore, servers in different countries and regions can adjust their deployment parameters to provide different functionalities, thereby complying with the laws of their respective jurisdictions.
Some might point out that China legislated years ago, mandating website registration, binding registered accounts to ID cards, and prohibiting data from leaving the country. From my perspective as an engineering team member, when targeting the mainland China market, we often do not need to consider something called an "air wall." An "air wall" (AirGap) is distinct from any traditional firewall; it is a complete physical-level isolation. At both ends of an air wall, there is absolutely no hardware or software capable of communicating between the two networks. In other words, in the absence of an air wall, the P in the CAP theorem still allows for eventually consistent data partitioning. Data will sooner or later be synchronized over the network.
In this context, bringing international data into China or offering international services to China might not be difficult. However, the challenges we face after 2020 are entirely different. What we encounter is not a specific type of air wall, but rather a customer trend: customers are gradually losing trust in any service coupled with the Internet. Customers do not trust your data centers, especially those located outside their own borders. The requirement is that your services must remain fully functional even considering the existence of air walls.
This is a fundamental difference. An air wall results in the complete isolation of data. Consider a company that uses only a local area network (LAN). When building applications for such a client, many conventional methods become completely unusable. Customers do not trust the cloud, do not trust subscriptions, and even do not trust the Internet. They expect a service that can continue to operate stably without any external dependencies.
Therefore, the direct loss resulting from the confrontation between major powers is not a specific protocol or algorithm, but customer trust. When customers lose trust in the network, our approach to software construction is also about to change. We can refer to this shift as "the deglobalization of software engineering."
In the context of the trend toward deglobalization, we cannot unconditionally treat the entire Earth as a single partition capable of achieving eventual data consistency. Given that many countries' militaries, government agencies, and research institutions are increasingly adopting private networks and air-gapped environments, when we attempt to serve these clients, we must also consider the maintenance and operation of our applications under fully local deployment scenarios. Furthermore, if in the foreseeable future, it becomes increasingly common for nations to "build walls" between their networks, engage in mutual cyberattacks, or isolate themselves from one another, the implications will be profound. In fact, it is possible that in the future, accessing data from the United States while located in China might require obtaining a passport, visa, or similar credentials to prove one's right to access that data.
Returning to the CAP theorem issue we discussed at the beginning, globally, we may end up with multiple data partitions separated by air gaps. However, within each partition, or across multiple groups of partitions, we can still continue to build distributed systems. In other words, our past efforts in building distributed applications have not been wasted, as data may still cross partition boundaries at any time. Just as today, many people transfer videos between YouTube and Bilibili, data is not absolutely isolated. Nevertheless, we must still account for the fact that our applications must tolerate AirGap environments.
Tolerating AirGap may seem like a simple topic, but in reality, it could lead to a profound transformation. Our software is already cloud-oriented and SaaS-based; making it compatible with AirGap environments will be extremely challenging. If customers do not trust the cloud, we can package a private cloud solution and deliver it to them in one go. If customers do not trust third-party companies, we can partner with a company they trust to operate the system exclusively for them. Even if customers do not trust our personnel, we might consider handing over the entire system, along with a complete organizational structure possessing full experience in maintenance, updates, and management. This could give rise to entirely different, even currently unimaginable, cooperation models: in the future, selling software will no longer mean selling discs or programs, but rather selling people and organizational structures.
Of course, from the perspective of 2021, such deglobalization-driven practices seem quite extreme. However, reality often unfolds this way. Even at Microsoft, we face an increasing number of independent deployments using private clouds, private data, and even private organizational structures to maintain products that are still sold globally.
nice one
事业单位、政府机构一直都有AirGap...许多场景下,境外公司提供的服务如果没在国内架设服务器就不考虑了,甚至没私有部署也不考虑,这也是他们宁可体验割裂的买断也不喜欢订阅制的其中一个原因...十分无解