Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Why does the company need to establish a unified development framework?

2025-02-21 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

1. Cause: Brutal growth

In the past ten years, China's Internet has developed faster and faster. Internet technology has subverted more and more traditional industries. With the progress of Internet technology, our clothing, food, housing and transportation have undergone earth-shaking changes. In this wave, more and more new companies have sprung up, their business growth is very fast, and the company size is getting bigger and bigger. This is due to the rapid growth of China's economy and the rapid development of the Internet.

Disadvantage 1: Self-reproduction

Such a chain often emerges during the rapid development of a company. Add a new business-> Recruit a senior technician-> Form a technical team around this colleague-> This team is basically responsible for the business. Then a closed loop is formed. When it comes to interacting with other businesses, it is often left to the technical leaders themselves. (I have worked on a project where the same business interface provides RPC, HTTP, MQ, etc. in multiple ways to provide basic services for different projects).

Disadvantage 2: Control barriers

With the rapid development of business scale, this team quickly formed a department, team decision makers usually consider their own interests, hoping to minimize dependence on external departments, whether it is technology selection, specification establishment, component selection, operating environment can be controlled by themselves. (Tell a joke here. How do you become a middle leader in a company? It's easy to recruit enough subordinates.)

Disadvantage 3: Cliff effect

Once such a technical climate is established, the impact of individual employees on individual projects can be enormous. A product often becomes unsustainable because one or two core employees leave and eventually have to redevelop a new product.

Disadvantage 4: Waste of resources

While each team is trying to build its own complete R & D process. There will be a lot of waste of resources in the middle of technical research, product development and operation and maintenance management.

Disadvantage 5: Difficult to assess

How to measure a Sichuan cuisine chef and a Shandong cuisine chef who is better? When each team uses different technology stacks, different technology components, different maintenance methods and specifications. It is no longer possible to judge the performance of a team by its output efficiency. KPI indicators are also very difficult to set up.

II. How to crack it?

In the early stage of the company's development, in order to quickly expand the business, most of them do not consider the cost investment, operation maintenance and technology precipitation. All indicators are oriented to the rapid development of the business, as much as possible to seize market share, to obtain a sufficient number of users.

After the company develops to a certain stage, the market gradually stabilizes, and various problems of rapid expansion in the early stage will be gradually exposed. From a technical perspective, if a unified development framework can be formed at the company level, it will bring great benefits in the actual production process.

III. Advantages of a unified development framework 3.1 Avoiding repetitive technical research-saving labor costs

Let the project team put more energy into the business. I believe this is the consensus of most technology companies. What if the project team puts its energy into the business? It is necessary to build a basic development architecture platform under the project team, extract the common problems of technology, and hand them over to such a team. Avoid solving all kinds of technical problems encountered by each project alone, and release your energy effectively.

3.2 Standardized technical specifications--improving product quality

One thousand people, not a thousand people. After adopting a unified development framework (platform), a standardized technical output mode can be formed in the technology stack, technical components, technical implementation schemes, and even code specifications. The maximum effect brought by standardization is not only the rapid improvement of development efficiency, but also the substantial improvement of product quality. This is obvious.

3.3 Technology precipitation-improve the overall technical ability of the company, avoid falling into the ability of one person to decide a project

The progress of technology comes from the continuous accumulation and precipitation of technology. Every engineer does his work on the shoulders of others. Project-oriented technical teams generally have the most important goal of fulfilling business requirements, and technology is simply a tool to complete the business. Because of this, it is impossible for business development teams to consider technology accumulation as an important task. When a core employee builds some basic platform tools, he often abandons all previous technical accumulation as he leaves, and in more serious cases, the continuity of the entire project becomes a problem.

When there is a unified development framework (platform) at the company level, the project team conducts its own project research and development based on this platform, no longer need to focus on the underlying technology implementation, only need to focus on business. When there are core colleagues who leave, the R & D colleagues of the platform can conduct relevant training for the new colleagues entering the project, which will not lead to the occurrence of missing out. Moreover, colleagues who focus on the platform constantly improve the platform in order to better meet the technical needs of the project team, so as to achieve the goal of technology accumulation and precipitation.

3.4 Measurable R & D investment-effective management and evaluation of R & D team

When standardized technical specifications based on the same development framework (platform) are established, the code implementation of business functions can be evaluated and considered relatively effectively, and various problems caused by technical implementation differences can be avoided. This is a huge help to KPI formulation and assessment.

IV. Positioning and objectives of a unified development framework (platform)

The unified development framework (platform) is positioned at the technical level, and its main purpose is to unify the technical architecture and development tools used in the R & D and project implementation of relevant products within the company, effectively improve the unified technical support, form a continuous technical accumulation means, improve the utilization rate of technical personnel and reduce the dependence on personnel, and finally improve the large-scale and pipelined production capacity of software.

Five, unified development framework (platform) construction ideas 5.1 based on Spring Cloud technology stack

Spring Cloud became the most popular microservice development framework in 2017, not using Spring Cloud framework to implement microservice architecture, with the advantages of microservice architecture. The correct understanding is to use the Spring Cloud framework to develop microservices architecture systems that take advantage of microservices architecture. The following figure explains why Spring Cloud was chosen as the technology stack.

5.3 Enhancement of some SpringCloud artifacts

Spring Cloud may not be able to fully meet the business requirements of the basic building, some components need to do secondary development. For example, we developed API gateway based on Zuul, service registration discovery center EurekaPlus, etc.

Below is a screenshot of the service registry discovery center EurekaPlus, which allows you to manually control the node state of the service registry to support blue-green deployment.

5.3 Development of new basic component products

In addition to the foundation components of Spring Cloud, we often need to develop new foundation component products to meet the needs of the project team. In particular, the current popularity of microservices architecture often requires the development of new component products based on microservices architecture design ideas, such as the distributed task scheduling framework we developed. It adopts automatic grab and online orchestration mode, which is fully compatible with Spring Cloud technology stack.

The following diagram shows the principle of distributed task scheduling framework. When the executor is started, the task interface is registered to the distributed data center, the scheduling center obtains the executor information from the distributed data center for scheduling, and then saves the scheduling information to the data storage, and the scheduling center obtains the information from the data storage for remote scheduling of the executor.

VI. How the Unified Development Framework (Platform) Team Works

How to promote the construction of a unified development framework (platform) in the company is not a simple matter. In my personal experience, in terms of division of labor and operation mode, I mainly focus on dividing the work of unifying the development framework (platform) into three parts.

Development examples, technical support and technical specifications. Writing a complete development example is very important for many colleagues who are new to the unified development framework. It can not only guide you how to write business code, but also guide you how to write correct and efficient code. It also requires technical training and support for many colleagues, all of which should be done by a unified development framework (platform) team.

Service operation and maintenance. The unified development framework (platform) provides many internal services, such as service registry discovery center, configuration center, monitoring center, link center, health monitoring center, etc. All of these require a unified development framework (platform) team for operation and maintenance.

Development of new components and new products. API Gateway, Distributed Task Scheduling Framework, Service Registry Plus, etc. mentioned in the previous chapter. Both are the scope of work of the Unified Development Framework (Platform) team.

VII. Too much is not enough

Although building a company-level unified development framework (platform) will bring great benefits in the actual production process. However, it may not be applicable to all cases. Considering the particularity of certain project products, it cannot be generalized.

Author: Liang Xin

Source: Yixin Institute of Technology

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report