A fight between a programmer and a product manager is hardly news on the Internet. It is the “existential dilemma” of many programmers to have the ambition to change the world while battling the ever-changing demands of the world every day. So is there no other way for programmers to deal with perverse requirements other than to block and refuse to obey?
Constant updates are the norm
There is no denying that there are product managers who are too whimsical or have unclear needs, such as asking “App to change color on the case”, when programmers just want to beat the product manager with bricks. However, in this era of digital economy where the Internet has become the infrastructure, changes in demand are the norm. No matter what industry, whether to satisfy customers or due to competitive pressure, there will be changes in demand challenge procedures. Most of the time, programmers who beat product managers to the point where they can’t take care of themselves don’t help the business.
According to IDC’s “Digital Economy Innovation Leading — 2018 Digital Development Report of Chinese Enterprises”, digital innovation needs to build a number of capabilities and changes, such as:
Agility: The ability of an enterprise to respond quickly and appropriately in a constantly changing and unpredictable operating environment.
Digital products and services: the ability to develop new products and services through continuous iteration, experimentation and testing, and to achieve frequent and even continuous updates to continuously provide customer value.
Given the intensity of current market competition, we can even infer that the frequency of iterations allowed by an enterprise determines the lower limit of its growth. In this situation, the programmer’s work will inevitably become busier and more trivial.
The dawn and shadow of microservices
To solve this contradiction, we must look to Internet companies that have been evolving iteratively, and the new answer will be “microservices architecture”. Take netease, which has developed steadily without pursuing the wind, for example. After adopting the micro-service architecture, kaola’s daily release times increased from 2 times to 1000 times, a 500-fold increase, which can be said to be from a rifle to a cannon.
The so-called microservice architecture is to divide application services into a group of collaborative services according to their functions. Each service is responsible for a set of specific and related functions and can be independently developed and deployed. With netease vice President and executive director of hangzhou institute of netease Wang Yuan analogy to explain, is to divide the system into several very small module, and the module can communicate through a set of standard service interface, thus – similar to the human society sustainable development, and based on the smallest unit, the design of the standard spoken and written languages, currencies, laws, Development has led to a developed civilization.
The decomposition of microservices to the overall problem brings benefits to iteration — local technology choices, changes, and different modules can be developed simultaneously without affecting the entire system. However, the degree of perfection of the whole system is also limited by the standards of “fen” and “he” of micro-services, just as the maturity of standards such as characters and laws determines the height of a civilization.
At a minimum, a “standard” for microservices needs to address issues such as invocation and communication between microservices, discovery between services, tracing and quality of service invocation chains, testing of microservices that are complicated by dependencies, and changes across services.
Then, of course, there are the problems of partitioned database systems and distributed transactions.
The three-dimensional micro-service scheme alleviates the contradiction
There are a number of microservices frameworks that address these issues. Nowadays, with the rapid popularization of micro-service technology, open source micro-service development frameworks such as Spring Cloud and Dubbo have become synonymous with micro-service to some extent. There is a lot of discussion on Zhihu.
Microservices frameworks do not solve all problems. Dubbo, for example, is good at service governance, but not as good as Spring Cloud. Although Spring Cloud is a systematic microservices solution, it does not cover the entire application life cycle, such as microservice testing.
Kaola.com uses the “Light Boat” micro service solution released by netease Cloud at the 2018 netease Cloud Innovation Conference. Wang Yuan said that Based on the basic unit of micro service, Light Boat micro service has constructed a multi-dimensional and complete solution, so that the architecture can continue to develop like human society.
According to the official information of netease Cloud, Xiaozhou Micro-service includes modules such as micro-service framework, API gateway, DevOps, container service, AIOps and test platform. It is a complex solution, but it is functional, easy to access, and easy to operate and maintain for users, because the platform is compatible with open source micro-service framework. It also integrates various tools of netease micro-service architecture practice. With the help of intelligence and automation, it can quickly analyze the entire service link, find and solve problems with technology, and make the micro-service run smoothly.
Believes that the three-dimensional micro service solution, inspire the enterprise to build new development processes, make the enterprise of digital products and services faster, better iteration, programmers have more time to communicate effectively and product manager, let both sides of the conflict were relieved, and the completion of enterprise business goal will not be affected.