What exactly is cloud native?

To this day, there is still no exact and unified statement about the definition of cloud native.

Matt Stine, the creator of the concept of cloud native, summarized cloud native as modular, observable, deployable, testable, replaceable, and processable in 2017.

The CNCF, the most influential and most influential organization in the cloud native field, defines it as follows:

Cloud native technology is beneficial for organizations to build and run elastically scalable applications in new dynamic environments such as public clouds, private clouds, and hybrid clouds. Representative cloud native technologies include containers, service grids, microservices, immutable infrastructure, and declarative APIs.

image.png

These technologies can build loosely coupled systems that are fault-tolerant, easy to manage, and easy to observe. Combined with reliable automation methods, cloud native technology enables engineers to easily make frequent and predictable major changes to the system.

image.png

*CNCF, the full name is Cloud Native Computing Foundation, Chinese translated as "Cloud Native Computing Foundation"
*

There are different opinions on the concept, and a lot of technical terms are used to describe it. We can try to interpret it literally, so as to unveil some cloud-native veils.

The "cloud" in cloud native means that it exists in the cloud, rather than traditionally deployed locally. For example, the files in the cloud disk are in the cloud instead of being stored on the hard disk of the user's computer. "Native" means that the application takes into account the factors of the cloud environment from the design stage, is designed for the cloud, and runs on the cloud.

In other words, cloud native is born on the cloud, grows on the cloud, and is also applied to the cloud. This is a technology that is enough to call it "roots and seedlings red".

After understanding cloud native, let's take a look at what kind of magical power the cloud native database has, and why does it become popular?

What should a cloud native database look like?

One of the meanings of cloud native technology for database products is that it facilitates the construction and operation of elastically scalable applications. In other words, cloud-native databases have better elastic scalability. Because cloud native databases have the following characteristics.

The first is universal access and high availability. Because the cloud-native database exists entirely on the cloud, it can be accessed from multiple front-ends anytime and anywhere to provide computing nodes for cloud services. Because its cluster is deployed on the cloud, the impact of a single point of failure on the service is particularly small. And when it is necessary to upgrade or replace the service, the node can be gradually upgraded without interrupting the service.

The second is high scalability and portability. The cloud-native database will be separated from the underlying cloud computing infrastructure, so it can flexibly and timely mobilize resources for expansion and contraction, so as to calmly cope with the pressure caused by the surge in traffic and the waste caused by excess resources during the low traffic period. It is precisely because of the flexibility to expand and shrink, cloud native databases are also highly portable. We can even roughly understand that 100% expansion in the new location and 50% reduction in the old location.

In addition, based on features such as high scalability, high availability, and portability, cloud native databases also have the characteristics of monitorability and security.

On the one hand, in the black box state, it is impossible to guarantee timely processing of requirements and problems such as expansion and node failure; on the other hand, it is fully deployed on the cloud and the services are independent of each other, which can provide more layers of security protection for applications or services and implement many new Fault-tolerant service.

The last is evolutionary design and rapid iteration. The various services in the cloud native database are independent of each other, and the update of individual services will not adversely affect other parts, rather than having to shut down the entire audience once something goes wrong. In addition, cloud-native R&D testing and operation and maintenance tools are highly automated, which makes application updates faster and more frequent.

The better integration of network resources and cloud, independent and natural connection everywhere, can give full play to the advantages of the database on the cloud, and obtain higher efficiency.

What makes a good cloud native database?

If a database product has the two points of complete separation of storage and computing and complete flexibility of the execution engine, then it can be regarded as truly taking advantage of the cloud, and it can better integrate data and cloud. , You can say that you have done a good job of cloud native.

Take OushuDB as an example. As a parallel data warehouse engine that can run natively on the cloud platform, it completely separates storage and computing.

The complete separation of storage and computing truly realizes that not putting all the eggs in one basket, instead of just claiming to be cloud-native database products, essentially tying the two baskets together or inserting them in the basket. It's just a partition.

The complete separation of storage and computing can not only greatly improve the security of database products, but also is one of the important foundations for achieving complete flexibility of the product execution engine.

Because the execution engine of OushuDB is fully flexible, it can easily and conveniently perform dynamic shrinkage and expansion, whether it is storage nodes or computing nodes that need to be increased, they can be increased immediately, and if they are reduced, they can be decreased immediately, and calculations can be dynamically performed. Dispatched to the location of the data.

This makes the performance and efficacy of the product truly become a perfect revolutionary brick, which can be moved wherever it is needed. And you can move as many as you need, and you can take back the extra bricks when you don't need so many, and you don't need to find a place to pile it up. Avoid the embarrassing situation of small horse-drawn carts or anti-aircraft guns hitting mosquitoes.

It is precisely because of these two characteristics that OushuDB can be regarded as a distributed database running natively on the container cloud platform.

A true cloud-native database should be like an urban tap water system. No matter where you are, just turn on the faucet and you can fetch water at will. You only need to pay the water bill according to the amount afterwards.

Otherwise, like those products that go to the cloud to go to the cloud, in essence, the tap is connected to the water tower next to the building, and when the water is used up, the water tower needs to be refilled next time. If there is not enough water, if you want to change to a large water tank, you have to consider whether the water tower can withstand it? Do you want to build a new one with the main body of the water tower? What's the difference between this kind of tap water and the storage of water in the tank?

The application of cloud native on the database does not change the state of the cloud and the database itself, but its application makes the cloud a more ideal cloud, and also makes the database on the cloud a real meaning.

After talking so much, how powerful is the cloud native that has sublimated the database? In terms of a matryoshka behavior:

In 2011, Mark Anderson, the founder of Netscape, said:

"The software is devouring the event";
Then in 2016, Jonathan·Bryce, the founder of the OpenStack Foundation, added: "Everything in the world comes from open source";
In recent years, cloud computing has taken the banner of guiding the future direction with extremely fast speed;
Today, when the concept of cloud computing is becoming clearer and more detailed, only cloud native is the sword that can command the world to kill the dragon.

偶数科技
6 声望380 粉丝

⌈北京偶数科技有限公司⌋ 是一家领先的云数据库和 AI 产品提供商,致力于赋能全球各行业客户。我们的愿景和使命是 “让人类只为兴趣而工作”。公司核心产品偶数数据云 Oushu Data Cloud 由新一代极速云数据库 OushuD...