How to do a good job in architecture evolution in large factories?

1 Definition of Architecture Evolution

1.1 Definition

By designing a new system architecture (4R), respond to the development and changes of business and technology.

1.2 Key points

  1. new architecture
  2. new complexity

1.3 Purpose

Coping with business and technology developments brings new complexities .

the case

Taobao went to IOE because the cost and controllability of IOE were difficult to satisfy after the business development, rather than performance.

Architecture Refactoring vs Architecture Evolution

Technical means are not a way to distinguish between architecture refactoring and architecture evolution. Whether the complexity changes is the key to judgment.

2 Principles, driving forces, and models of architecture evolution

1 principle

Architecture evolution is to facilitate business development .

2 drivers

  1. Business development brings new complexity, and 2C business is mainly reflected in the growth of user scale and business diversity.

  2. Technological development brings new solutions to complexity, such as localization, big data, cloud computing, etc.

2 modes

  1. Active Evolution Architects proactively identify and plan for architectural evolution
  2. Passive evolution: Architects are forced to evolve the architecture.

3 Skills of Business-Driven Architecture Evolution

3.1 Architecture evolution model VS business development model

insert image description here

active evolution

  1. Business scale: Quantitative changes lead to qualitative changes, and architecture evolution is generally only considered for 10-fold changes.
  2. Business diversity: The business scale may not change, but the system supports more and more business types.

passive evolution

  1. Business direction: business adjustment direction, such as changing from text to short video.

3.2 Architectural Challenges of Different User Scales

What if the architecture design supports 1 million, but what if there is a problem with the architecture when the number of users grows to 2 million?

Optimize, refactor, evolve.

3.3 Active evolution skills driven by business - make a good prediction and plan in advance

predict

Prepare 1 year in advance

  1. Take the growth figure as the standard: the next stage of user scale is 60% and it will be ready
    • For example, the current number of users is 600,000, and the typical user size of the next level is 1 million, then you can start to consider the evolution of the architecture, don't wait until 1 million to evolve
    • There are 300,000 users this year, and the boss said that the number will reach 1 million next year. This year, we will start to consider architecture evolution
  2. Taking time as the standard: Prediction 1 year in advance

layout

Team and technology first.

  1. hiring personnel
  2. reserve technology

3.4 Business-Driven Passive Evolution Skills - Quick Response, Adoption

Quick response

use whatever you are familiar with

All-takenism

Use ready-made solutions as much as possible

For example:

  1. Maybe Elasticsearch is better, if you are not familiar with it, use MSQL first
  2. Solutions for purchasing cloud services, such as live streaming and video
  3. Use open source solutions as much as possible

MySQL performance is not as good as Elasticsearch, what should I do if the user experience is not good?

run first! Users may not be able to use it! After all, if you misuse the technology you are not good at, it will be even more unstable.

Evolution case

In the beginning, php+MySQL was a quick trial and error, and the service I bought could not be changed later.

4 Techniques for Technology-Driven Architecture Evolution

4.1 The first principle of technology-driven evolution - the principle of old wine in new bottles

Old wine in new bottle principle: use new technology to solve old problems or old complexities, don't evolve just to try new technology.

reduce costs

Including hardware, manpower, operation and other costs.

For example:

  1. Use the cloud to reduce O&M and computer room costs
  2. Go to IOE, reduce hardware cost
  3. Machine picture review, reducing the cost of reviewers

synergy

Improving efficiency includes processing, operation, development, operation and maintenance efficiency, etc.
For example:
1. Big data platform improves big data analysis efficiency;
2. Containerization improves operation and maintenance efficiency:
3. Microservice improves development efficiency.

upgrade

Improving quality includes business, management, development, etc. For example :

  1. Recommendation system improves user conversion rate
  2. Containerization supports elastic expansion to cope with business peaks
  3. The middle platform improves the development efficiency of multiple services

Is technology-driven architecture evolution active or passive?

Active evolution. The problem is obvious, and it belongs to architectural reconstruction. The introduction of new technologies is the architect's own decision.

4.2 The second principle of technology-driven evolution - value principle

New technologies must bring typical value before considering evolution.
Typical definition: output to > > input

  1. 20 servers down to 10? 2000 down to 1500?
  2. 2000 man-days down to 1000 man-days? 100 man-days down to 10 man-days?
  3. Conversion rate increased by 2%? User retention increased by 10%?

To directly calculate the amount of money.

4.3 Techniques for Technology-Driven Evolution - How to Convince Your Boss to Evolve?

Tip 1 - Talk about money, don't talk about feelings (suitable for mature technology)

Quantify the value brought by the introduction of new technologies into money, and then add that improving the technical level and improving team motivation should not put the cart before the horse.

Tip 2 - Talk about competitors (suitable for new technologies)

If you can't quantify it into money, then see if competitors have introduced it, "scaring the dawn and scaring the dawn" the boss.

Tip 3 - Talk about the big environment (suitable for law and politics)

For example, localization, talking to the boss about political significance and changes in the general environment...

4.4 Techniques for Technology-Driven Evolution - Make Insights and Plan in Advance

Insights: Identifying the value that new technologies can bring to the business

  1. Pay more attention to industry technology conferences
  2. Proficiency in business
  3. Grasp the essence of technology

Layout: team and technology first

  1. hiring personnel
  2. reserve technology

Is it more difficult to "insight" or "prediction"? Insight is much more difficult!

the case

5 mind map

6 tests

True or False

  1. Architecture evolution is mainly to introduce new technology and keep up with the trend of technology development in the industry×
  2. Business-driven architecture evolution gives priority to "rapid response" × passive evolution is the
  3. The necessity of architecture evolution can be explained from the perspectives of cost, benefit, competition, laws and regulations√
  4. Technology-driven architecture evolution must have one or more values ​​in "cost reduction, efficiency increase, and quality improvement" √ Competitors have done it or national laws require it, in fact, it is also a quality improvement
  5. "Mosquito legs are also meat", as long as the new technology can bring some value, even if it is not so big, it should promote the evolution of the architecture

Pay attention to industry technology conferences + combine business value, and you can get architecture evolution projects.

  • talk to the boss about money
  • Talk about feelings with subordinates

In order to get promoted, the big factories have to reinvent the wheel and adapt to the general environment.

Guess you like

Origin blog.csdn.net/qq_33589510/article/details/130072532
Recommended