laitimes

System Architecture: Analysis of Traditional Architecture and Middle Office Architecture

author:Everybody is a product manager
Since the concept of the middle office was put forward by the leading Internet companies, many enterprises have begun to build the middle office system, what is the middle platform system and what are the differences between the traditional system? This article talks about the middle office system in layman's terms.
System Architecture: Analysis of Traditional Architecture and Middle Office Architecture

Disclaimer: This article is not a professional technical article, the focus is on easy to understand.

1. Traditional architecture and middle office architecture

1. The relationship between the middle office and PaaS

First, analyze the relationship between the middle office system and the PaaS system:

  • From an external point of view: the middle office system can be a SaaS system or a PaaS system, but the PaaS system must use the architecture of the middle office system.
  • From an internal point of view: the middle office system is a combination of changes in the organizational structure and services of the enterprise. The end customer's experience is not intuitive.

2. Structure diagram of traditional architecture and middle office architecture

System Architecture: Analysis of Traditional Architecture and Middle Office Architecture

This diagram is a brief diagram of the traditional system architecture and the middle office system architecture.

The similarities and differences between the two are:

  • The traditional architecture generally runs on a virtual machine, and if the device computing power is insufficient, it can only be manually intervened to deploy new services. The middle-end system is deployed in a container system, usually a Docker system, and the Docker system supports automatic expansion of the number of virtual machines without manual intervention.
  • The subservices of the traditional system are directly organized according to business logic, the internal level is chaotic, and it is difficult to expand, so it is impossible to achieve targeted computing power expansion, such as: only 5 times the computing power of service 1 and its related objects, and no related services are expanded. The middle office system can realize this function.
  • The traditional system generally runs on a virtual machine, and the direct use of the toolset that comes with the virtual machine can basically meet the requirements. The data monitoring platform of the middle office system can monitor all the automatically scaling virtual machines and intervene in the operation of the system at a fine-grained level. Early warning mechanisms and other business management tools can be overlayed.
  • It can be used to intervene in the system, and the traditional system intervention means a single one, such as: shutdown and restart. The middle office system has a variety of intervention methods, including current limiting and early warning.
  • The reuse efficiency of microservices in the middle office system is higher.
  • All provide external services, due to the above advantages, the user experience of the middle platform system is better.
  • The disadvantages of the middle office system are: the system is complex and the development cycle is long. If the enterprise business is not complex to a certain extent, it can be partially launched on the middle office system as needed and gradually improved without rushing.

The remainder of this section expands on some of the modules in detail:

3. Virtual machines and virtual machine management

The virtual machine here is not a Java virtual machine in the narrow sense, but a virtual machine in the broad sense.

Modern computers include five modules: input devices, output devices, controllers, calculators, and storage, whether these devices are direct hardware implementations or virtual machines built on hardware such as Java, Python, etc., all belong to the virtual machines here.

Traditional frameworks, designed computer programs, run on a virtual machine by default, and the computing requirements at that time were relatively small, and the computing power that a computer could provide could meet most of the computing needs. In most cases, the computing power of computers far exceeds the user's demand for computing power, so the thinking at that time was mainly focused on how to realize time-sharing sharing, so the time-sharing operating system was born.

With the development of the Internet, all walks of life have begun to realize Internet+, and at this time, the lack of computing power of a single virtual machine has begun to become prominent. For example, during the Spring Festival, hundreds of millions of people flocked to 12306 almost at the same point in time, and the 12306 system suddenly generated huge computing needs. It was this similar need that gave rise to the middle office system.

4. Services

As mentioned in the previous article, in the abstract:

  • The computing functions implemented by the hardware such as the adder and subtractor of the CPU are services.
  • C functions are also services that wrap calculators and variables into function bodies.
  • An object-oriented language is a service that wraps multiple functions and properties into an object.
  • Middle-end programming is to wrap multiple objects into a docker, and multiple dockers complete business with the support of docker manager, which is also a service.

So services have always existed, but in the traditional architecture, various services are not installed in the same type of container, so it is impossible to distinguish operations.

Middle-office programming is the packaging of different objects into multiple containers of the same type. The Docker Manager allows you to expand or shut down only certain services.

5. Data Monitoring

a. Relationship between modeling and monitoring

System design needs to be modeled first, and modeling is to use interfaces and class diagrams to sort out different objects and the relationships between objects, and class diagrams are equivalent to static maps of the system. The diagram identifies mountains, lakes, rivers, and farmland, and how they relate to each other.

Data monitoring is all about monitoring how different data flows on this map and what the trajectory is. Without data monitoring, it is not known where the static map needs to be adjusted, which river needs to be dredged, when the water is prone to rise, which road needs to be widened, and so on.

b. Monitoring requirements of traditional models

When the computing demand is not high, the attention to data monitoring is not high, and only when the system is running faulty, it is necessary to restore the trajectory to help locate the problem node.

The traditional architecture, programs and data run on a fixed number of devices, and the amount of computing is sufficient, so the importance of data monitoring is not highlighted, but when the system has more and more users, it is easy to be blocked, and manual intervention is required.

The reason is very simple, many village roads have only one lane, and traffic lights are not installed at intersections, and traffic accidents rarely occur, mainly because of the small traffic. However, most of the roads in big cities are four-lane or more, not only traffic lights are installed, but traffic police comrades also need to be on duty during peak hours, because the traffic is too large and prone to problems.

c. Monitoring requirements of the middle office system

In the middle-end system, the system automatically records the creation time, quantity, memory usage, and CPU occupation time of each object and its dependent objects. And it can present information to technical operation and maintenance in a visual way.

d. Comparison of the two systems

Can traditional models monitor data?

Of course, no matter which language you have, there is a mechanism to view the running track of an object, but when a business has 2, 3, or even more virtual machines, it is too inefficient to look at them one by one to determine the problem.

In addition, the data monitoring of the PaaS platform is not only to display data, but also to superimpose early warning mechanisms and intervention mechanisms. For example, scaling up the number of virtual machines, shutting down non-emergency services to free up computing power, restricting access, restricting traffic, and more can all be intervened based on data monitoring.

6. Intervention platform

In the figure, the traditional architecture uses intervention commands, and the middle-end architecture uses the intervention platform.

As the name suggests, the middle office structure has greatly upgraded the means of intervention.

The most common way of the traditional method is shutdown and restart, and the middle office architecture not only supports shutdown and restart, but also supports throttling, expanding computing power, and shutting down virtual services. In addition, it allows the expansion of the scheduled execution of intervention instructions, etc., and the intervention platform is actually an upgraded version of the intervention commands of the traditional architecture.

7. Service Platform

Service platform refers to the platform that serves users, including PC system, APP system, intelligent hardware equipment, Internet of Things equipment, etc., the two architectures for users, users may not feel much difference, but in fact, the middle platform system has many advantages:

a. Faster system development

The system designed according to the middle platform architecture is easy to reuse the original services of the system, but it is difficult to reuse the traditional architecture.

The reuse of the traditional architecture may be mainly reflected in the reuse of code, copying, pasting, and debugging, and the architecture based on the middle office system does not need to copy and paste the original service, and can be directly reused, so the development cycle is shorter.

The system is highly extensible, and if it is extended to visual design and process building, the design task can be transferred to the hands of non-technical personnel.

b. System services are more stable

The middle platform architecture is an automatic extension of the architecture, which can automatically expand resources with the increase of visits, and the hardware resources of automatic expansion can be one, ten, hundred, or thousand, as long as the system itself is robust enough, users can get a better service experience.

For example, buying tickets on 12306, everyone's current ticketing experience is definitely much better than when the system was first launched, and there is basically no feeling of being hindered.

c. Smarter platforms

On the premise of ensuring automatic extension, the data is not scattered, but can still be accessed in a unified manner, which provides convenience for data mining and can make the platform more intelligent.

d. More expansive

Greater scalability is reflected in two aspects:

  • HARDWARE SCALABILITY: BASED ON THE IAAS PLATFORM, HARDWARE RESOURCES CAN BE DYNAMICALLY EXPANDED WITHOUT AFFECTING SYSTEM STABILITY.
  • Software scalability: It is convenient to add new microservices, such as deploying user portrait systems and user recommendation systems.

2. The origin of the expansion of the two architectures

Why upgrade from the traditional architecture to the middle office architecture, we can deduce from the following scenarios:

Disclaimer: The following is only an example of the 12306 system, and is only a deduction.

Scenario: The 12306 train ticketing system is online, and during the peak of the Spring Festival, 200 million users access the system at the same time. Although you have made a plan in advance, but the number of customer visits still exceeds expectations, what technical means should you use to deal with it?

System Architecture: Analysis of Traditional Architecture and Middle Office Architecture

1. Status quo

The system is designed based on the traditional architecture, and the possible access volume has been estimated in advance, and corresponding technical measures have been taken.

However, the number of system visits still far exceeds expectations, how to solve it?

  • It is too late to change the system immediately, and it is not clear how to change it and what scheme to use.
  • Only temporary scenarios can be enabled

2. Solution

There are at least three options:

  • Solution 1: Ticket release multiple times, try not to concentrate access requirements at the same time, and release tickets at peak hours. (not expanded)
  • Solution 2: Directly expand the hardware, such as adding CPU and memory, and this method has an upper limit. What are the constraints of practical implementation, and the IT department needs to assess the feasibility. (not expanded)
  • Option 3: Deploy one or two more independent systems and independent databases. Then, the routing technology of IP address is used: the user who buys the Beijing-Guangzhou line accesses the background access system A, the user who purchases the Beijing-Shanghai line accesses the system B, and the user who purchases other routes accesses the system C.

The simplest solution is solution 3, which solves this problem, but creates the following new problems:

a. There is no real-time data basis for which line has the best match between the number of users and which system can provide the most computational volume.

b. The system cannot be switched automatically, manual intervention is required, and the manual response is slow. Time of manual operation = time for human reaction + time for machine response.

c. Although the artificially fragmented system can temporarily meet the demand for ticket purchase, it leads to data fragmentation. As a result, many data-related services do not have complete data.

3. Fundamental solutions

The fundamental solution is to go to the cloud and transform the middle office system:

a. Based on the IAAS system deployment, the computing power can be dynamically expanded. Each new computing power unit is a virtual machine, so the needs of running on the virtual machine are specific microservices, and cannot be expanded as a whole.

b. There needs to be a management platform for microservices, monitor the operation of the service, and be able to provide intervention.

3. Service platform expansion

What are the feasible extensions of the service platform, only three are expanded below.

1. Visual design

The most common tool used by product managers is Axure, which and the accumulated component masters can quickly draw various elements on the interface: lists, radio boxes, checkboxes, menus, etc., which can be organized using dynamic panels or pages.

The visual design of the middle office system is to transplant Axure's component building capabilities to the Pass platform, and product managers or customers can directly design in the Paas system.

The advantages of visual design for PaaS platforms over Axure design are:

  • The interface elements of the visualization platform are already linked to real data, so there is no need to use Axure's repeater for data simulation.
  • The font and color of the visualization platform can be predefined to ensure the consistency of the design style of different users. Axure is not limited, and each user's design style can be different.
  • The framework of the visual platform, such as menus and jumps, can be predefined, and users only need to focus on the interface interaction logic. It is equivalent to tweaking the Axure prototype instead of rebuilding a new system.
  • The system built by the visualization platform can be directly handed over for testing after the construction is completed, without the need for technical redevelopment.

In practice, visual design can have a variety of limitations, depending on the design characteristics and maturity of the Pass system, which can theoretically replace most of the Axure features.

2. Process building

Product managers sort out the process tools commonly used in the business, including Visio, ProcessOn, Plantuml, etc., and the flowcharts made by these tools are similar to Axure, that is, they are not directly linked to the business system.

The functions of process building can be integrated on the PaaS platform, and compared with traditional process tools, the following features are as follows:

  • Advantages: The process builder is already associated with real business objects, and the functions and actions of business objects can be directly organized through this tool, and the development cycle is short.
  • Disadvantages: Process builder, more constraints, low degree of freedom.

3. Overlay AI tools

Traditional ways to do AI research to obtain datasets include: excel sheets, direct database acquisition, compressed packages, and then use Python's built-in mathematical model tools to do research.

The way to obtain the dataset on the PaaS platform is simpler, and the dataset required on the platform can be obtained directly with simple instructions, and the potential data model can be packaged, and the business personnel will be more efficient to use the wrapped tool than to directly use the Python tool.

The platform also supports the integration of Python tools, allowing direct calculation of new models using Python tools.

This article was originally published by @我是产品张 on Everyone is a Product Manager. Reproduction without permission is prohibited

The title image is from Unsplash and is licensed under CC0

The views in this article only represent the author's own, everyone is a product manager, and the platform only provides information storage space services.