This article is reprinted from the public account HelloJava.

The concept of cloud native has become more and more popular, but the question “what is cloud native?” This question is still subject to various interpretations. Recently, I have some feelings about what cloud native is, so I wrote down to share and discuss it.

I now think that cloud native is really about giving companies, through cloud-based products, quick access to all the basic capabilities they need to build Modern Applications in this era. Very high scale scalability, very high availability, very low innovation/operating costs, big data analysis/operating capabilities, etc.), and do not need to be like many companies before, in order to have these capabilities, a huge investment, or to use another word: cloud native is professional basic capabilities universal, readily available.

Application and the application of many years ago faced in today’s world situation is so different, the difference and play in today’s business faces fierce competition has a lot to do, I had always felt like ali accumulated in the process of development, a lot of ability, few companies will need outside, just like the billions and billions of dollars of how hard it is to appear, but now is not the same, So this also lays the foundation for the application of today’s era in terms of technical capabilities are far different, just to make a few points:

  1. The availability requirements are much higher than in the past: today’s apps often have high availability requirements as soon as they go live, because it’s easy to send users to rivals if something goes wrong;
  2. The requirements for scalability are much higher than before, mainly reflected in two aspects: first, the size of the team. Nowadays, it is easy for business companies to rapidly grow to more than 100 people, and how to keep the r&d efficiency of more than 100 people as far as possible does not decline, which has high requirements for the scalability of the system; The second is the user scale, now the user scale of many businesses can quickly break through millions, millions of scale, which requires that the system must be able to scale quickly according to the user scale;
  3. Innovation and operation costs must be low: business competition is extremely fierce, fast is the key, so how to quickly launch a variety of businesses without too much investment is extremely important; Another aspect is the cost of operation, which is closely related to the scale of users and fierce competition;
  4. How to play big data: Many businesses now have very high requirements for big data, such as customer acquisition, recommendation and search.

Ali is a in the process of their own development, gradually meet the challenge, the competitive environment basic also won’t ask for a business to come up the various ability have good), but had no cloud is available, so in the process of development to accumulate all kinds of ability, now through open source, cloud to export the commercialization ability, even now such a competitive environment, All kinds of students with business innovation ideas can still go online as quickly as in those days, instead of investing a lot of energy and spending a lot of time to polish the basic capabilities needed.

I didn’t go through all of Ali’s development, so I’m going to tell you a little bit about my own experience.

  1. In 2007, the biggest problem Taobao faced in terms of basic capacity was scalability. Both phenomena appeared at that time: the number of users increased greatly, adding machines had basically reached the bottleneck; The number of research and development personnel has increased greatly, and the decline in research and development efficiency is very obvious. At this stage, Taobao made a very important structural transformation, honed basic technical products such as service framework, message middleware, sub-database and sub-table scheme, distributed file system, distributed cache and so on. Combined with the redesign of business architecture, the scalability problem was well solved.
  2. In 2009, Taobao was faced with usability problems and frequent failures, so it began to accumulate skills such as monitoring, quick recovery, tracing and system design, such as non-critical path asynchronization. The investment in availability continued until the full-link pressure measurement was created to solve the demand for availability and certainty in the special case of Double 11. Strong disaster recovery ability and fast recovery ability constructed by multi-machine room system of same-city active-active and remote active-active; And adding different usability solutions in offline scenarios. The accumulation of high availability solutions in various scenarios also ensures the availability of services.
  3. Around 2011, Ali began to think that the operating cost of resource input in the future might be exaggerated, so in 2011, it began to improve the efficiency of machine use through containerization and continued to optimize the cost. Later, it continued to solve the problem of short-time peak cost input in double 11 by using cloud resource elasticity. Through online and offline mixing to solve the problem of big data machine investment more and more, online machine cluster utilization rate is not high waste, after years of efforts, make the business in the case of rapid growth, the operation cost of machine resources investment is relatively controllable.

As mentioned above, Alibaba has gradually developed its complete capabilities through tremendous human input, scene polishing and years of continuous investment. Today’s businesses can be built in a cloud native way, so that they have these capabilities at the beginning. At least, they will not lag in these basic capabilities in today’s fierce and demanding business competition environment, so that they can spend more energy, time and resources on real business innovation. Such concrete cloud native is quite valuable to the innovation of the whole society.