Architecture evolution

Preface

    The best thing about a child is that no matter how you treat him, he always treats you still, crying in the first second, and smiling in the next second. Unlike adults, a word of others may be the same. Insert the knife into the heart, it will not recover for a long time.

    A child is just a microcosm, then the question is, at what stage, we have lost this best and most important quality, no matter what you treat me, I will treat you as always.

Rumors

    1 Evolution of architecture

    When writing programs at the earliest, they were all monolithic applications. The so-called monolith was a code base written by a bunch of people, and the server was an application and a database.

    The biggest problem caused by the monolithic architecture is the problem of operation and maintenance. At this time, it is a single point state, so as long as one hangs, the whole is unavailable; another problem is that when the traffic increases, it will cause performance degradation .

    When solving the above two problems, a high-availability architecture has evolved, that is, using load balancing and cluster services, applications have become multiple copies, and the database has become a highly available architecture.

    The emergence of high-availability architecture solves the single-point problem, and also solves the rapid expansion and contraction operations when the capacity performance is insufficient. However, with the development of the business and the expansion of the personnel organization structure, dozens of people share one The code base and development efficiency have problems, and a lot of manpower is required for various launches, which leads to the emergence of a microservice architecture.

    The microservice architecture uses various methods to split the code of the monolithic architecture into small services, so that each small service is developed, upgraded, and maintained by a dedicated person, which greatly improves the research and development efficiency, but it brings problems It is also very large. There is a split methodology. A good split improves R&D efficiency, and a bad split kills development, testing, operation and maintenance, and operation. Finally, the business becomes more complicated, and the deployment also brings great complexity. The maintenance and interaction between various versions, operation and maintenance is more complicated, fault handling, service management, if there is no link tracking, the original server view all logs, now, there may be 100, and this Cost is also involved. If a single server only needs one server, the number of microservice servers is doubled.

The emergence of cloud computing has not solved the first half of the problem, but only solved the second half of the problem, that is, it has solved some of the operation and maintenance problems, the release and deployment problems, and the service governance and link tracking problems. Of course, You have to choose the right cloud and choose the right development framework.

    When choosing cloud computing, you need to plan and choose the right cloud product to better promote the development of the business, and thus remove a lot of the underlying operation and maintenance work, just like the operation and maintenance of IAAS in the original IDC. Self-built PAAS operation and maintenance in IDC. But you will find that after becoming a cloud, many people adopt a parallel migration method, which is not much different from the IDC environment, and it is still very complicated. After the cloud, the first thing to do is to refactor and optimize In order to transform the application into an architecture suitable for the cloud, a new architecture is introduced, which is cloud native.

        Cloud native is not a technology, but just a concept. The first one must be an architecture based on cloud products, that is, you don’t have any self-built things anymore. You use the products of cloud vendors. It turns out that your log collection It's ELK, so now you are using log products. It turns out that your database is self-built mysql master and backup, then you are now using various RDS. In short, as long as it is IAAS and PAAS, you can buy everything. Just fine, if you don’t buy it, it’s not cloud native, because you want to be born for the cloud, cloud native; the second is to use microservices + k8s, if you use microservices, then you will inevitably use containers. When containers are used, to perform smart scheduling, k8s is needed to manage the life cycle of the application.

What problem does cloud native solve? Cloud native solves the problem of intelligent expansion and contraction, which is to make intelligent changes based on business traffic. When business traffic comes up, pods are automatically added for load balancing, and when business traffic comes down, pods are automatically reduced to reduce costs. It also makes the fault self-healing possible. When the OOM is applied, the broken POD will be automatically deleted, and then a good one will be created, so that the fault self-healing can be achieved without worrying about operation and maintenance.

Serverless is coming, so can devless be far behind?

2 Judgment

We always talk about judgment, the so-called business sense, and the so-called operation and maintenance sense. This is a feeling to improve relevant capabilities from continuous judgment.

I recently discovered that if I feel better, I didn’t get it. On the contrary, if I feel worse, it will all be done. This is also a ghost, then the question is, which link went wrong and deceived myself. This It is a very interesting question.

Look at the PPT written by others, that is the PPT, look at the PPT written by yourself, it is all shit. . . If you write too much PPT, remove those so-called styles and look at the content inside, and you will find that the real gap is not PPT, but a mixture of various knowledge, a few sentences, and a few pictures, which show your mind. . .

We are not afraid of the gap that arises on the surface, but we are afraid of the gap in connotation, because this gap requires huge time and effort to make up.

    The so-called competition agreement is actually more like a divorce agreement. You can’t go to your wife’s girlfriend to get married, because you will lose face. Changing your wife has costs, and changing jobs has costs. Those who should come will always come. .

    

    

    

        

Guess you like

Origin blog.csdn.net/TM6zNf87MDG7Bo/article/details/110297496