This article is the CODING founder and CEO Zhang Hailong at the Tencent Cloud CIF Engineering Efficiency Summit.
At the end of the article, you can go to the official website of the summit to watch the replay and download the PPT.
Good morning everyone, I am very happy to have the opportunity to share some of the latest CODING actions with you. The main content shared today is the strategic upgrade of CODING and the introduction of new products. Before talking about the entire strategic upgrade, let's first talk about " cloud-native era". Everyone knows that CODING has been doing developer-related tools, starting with code hosting, and later a series of tools such as CI/CD, project management, product library and so on. So why do we think that these tools will have higher value in this era?
First of all, CODING has been working in this industry for many years, and we found a phenomenon that may cause a waste of social resources: each company often has its own development tool team, and the work done is similar. For example, large companies such as Tencent and Meituan, or including Baiguoyuan (retail), Gengmei (medical beauty), and Chinese mobile games (games), etc., these companies have a large or small development tool team, which basically accounts for It ranges from 1%-5% of R&D personnel. For a company, this part of the investment is not large, but for the entire industry or the entire society, the cumulative investment is also very objective.
The work done by these teams is basically to connect some ready-made single-point tools, such as Jira, GitLab, Jenkins, JFrog, including Prometheus that monitors, and so on. Connecting these tools in series, plus some upper-level customized development, is the work of these teams. Every enterprise is doing this kind of work, which actually causes a lot of repetitive waste.
Through this phenomenon, we see an opportunity to optimize the efficiency of the entire industry. So why this thing has a chance to be realized now is because the infrastructure has undergone great changes- cloud native brings the possibility of infrastructure unification.
When building an application in the past, many infrastructures, including operating systems, databases, caches, gateways, etc., were built by each enterprise team. Whether it is self-developed or built with open source tools, there are obvious non-standard features, and the applications made by different teams are different. In the cloud era, cloud vendors including Tencent Cloud have provided very standardized and high-performance infrastructure tools, including gateways and databases. As a cloud user, when companies develop applications, they no longer need to re-build these tools, so the underlying infrastructure will be unified. infrastructure has brought about the unification of the architecture, which may bring about the unification of the entire development tool chain and development model . This is a big trend change we have seen.
On the other hand, we have seen that software engineering has experienced nearly 60 years of development, and the development process has also been continuously transformed from workshop style to industrialization, and now it has begun to develop in the direction of automation. The informatization and digital transformation of the entire society has driven the development of the industrial Internet, and the demand for software development has grown rapidly, and it has also catalyzed the process of software engineering. Software engineering will definitely put forward higher requirements for standardized tools, which is also the demand of the entire industry.
In addition, the unification of standardization and the development needs brought about by digitization have also brought about a higher pursuit of efficiency in software development. From the perspective of efficiency, we believe that there are two types: single point efficiency and team efficiency. Single-point efficiency refers to how a developer's personal tools can improve personal coding and debugging efficiency. Now everyone pays more attention to team efficiency. For example, DevOps and agile development are the methodology and corresponding tools for team collaboration.
Some of the tools listed in the figure above are more towards single-point efficiency, and some are more towards team efficiency. There may be some intersections in the middle, which are not 100% distinctions, but can be roughly divided into two dimensions. In this context, we have also upgraded the CODING strategy, hoping to create higher value in the new era.
Everyone knows that CODING was first used for code hosting and was established in 2014. Later, after continuous evolution, a lot of tools related to the upstream and downstream industry chain were introduced, including continuous integration, agile project management, continuous deployment, product library, and so on. Our position in the past was to be a leader in DevOps tools, but based on the background mentioned above, based on the two-way improvement of team efficiency and single-point efficiency, and the standardization of the cloud-native era, we now upgrade our strategy to—— leader of R&D tools in the cloud-native era is not limited to DevOps . The following will explain in detail, as well as our new products, you will see the difference.
New upgrade of coding strategy
Just talked about single point efficiency and team efficiency, we actually have corresponding products to serve the needs of these two different dimensions. As a R&D management platform, coding focuses more on team efficiency, so it focuses on collaboration; Nocalhost and Cloud Studio are more inclined to improve single-point efficiency, that is, to improve the efficiency of individual developers in developing cloud-native applications.
Let me talk about the current development of CODING. We have been deeply involved in the developer field for many years and have accumulated a lot of customers. Now there are more than 2 million developers and more than 50,000 companies using our products. We did some overall research on these companies and found that has made significant progress in reducing the cost of R&D tools, improving the efficiency of product delivery, or improving the effectiveness of the entire team. The following figure lists some of our typical customers in different industries. Generally speaking, it is divided into four categories. The first category is finance, the second category is the Internet, the third category is government and enterprise, and the fourth category is games. These four types of companies have different demands for the entire R&D tool.
For example, in the financial industry, more emphasis is placed on safety and controllability. Our privatized products can serve these customers in the financial industry very well, and their demand for one-stop shop is also very strong. This is the characteristic of the financial industry. Most of the customers in the Internet industry are public cloud customers, and our SaaS products can better help the Internet industry achieve the needs of agile iteration and rapid delivery. Regarding government and enterprises, a case will be shown next, and there will also be many demands brought about by digital transformation. The game industry has a demand for speed in large warehouses, which is also an industry where our products provide excellent services.
We do To B's corporate services, which is also Tencent's current values. We must continue to pay attention to social values and show that technology is good. Although our products do not directly serve C-side users, they can help many B-side companies to better develop products to serve C-side users.
For example, during the epidemic, everyone will use the health code every day. By registering and scanning the code through various small programs or apps, we have also participated in the entire development process. For example, the Tianfu Health Tong mini program in Sichuan. We helped the development team to launch this mini program in ten days. We completed the assembly line configuration of the entire tool chain in one day, including product migration, etc.; and then we did something about mini program development. The integration work with TCB development can better help the development team to deliver small program-related applications. This case is also a microcosm of many cases, and there are many similar needs in the government and enterprise fields.
Next, I will introduce to you the plan of CODING and partners to build an ecosystem, also in order to be able to create more value. Coding's product positioning and services are focused on doing R&D tools in the cloud-native era, with many partners. For example, in the clues and commerce sector, we will cooperate with partners such as Tencent Cloud, Anchang, and Internet business cloud computing; in the delivery and implementation of this sector, we will cooperate with Anchang, Yixiang, and Tengyun Yuezhi to become customers. Some on-site personalized support, including follow-up continuous maintenance, etc.; in addition, we found that there is also a great demand for consulting in the fields of development efficiency and R&D tools, so we will have consultations with leading consulting companies in the entire industry. Some collaborations, such as UPFund, Anchang, Thoughtworks, etc., with the implementation of tools and implementation of 16183c443444d1, helped the team not only buy a tool, but also better introduce methodology and drive organizational change . We hope to build an ecosystem of R&D efficiency and R&D tools to better serve customers in the cloud-native era.
After talking about the changes in strategy and the understanding of the industry, in the third part, we will talk about the changes and updates of CODING products. First, let’s review CODING as a one-stop DevOps platform, our positioning and current progress.
Efficient R&D workflow on the cloud
As shown in the figure above, this cloud is similar to a factory assembly line. This is the conclusion that we have been thinking for a long time. We hope to accurately express the relationship between the cloud and the entire R&D tool SaaS. The bottom layer is computing, network, storage, in the middle are containers, virtualization, etc., and above are some security content, including configuration management, microservices, and so on. And we have built a layer of SaaS for the entire R&D tool on all these infrastructures. This is closely related to the cloud, but customers can use this product seamlessly without paying attention to the complexity of the underlying cloud. This is our positioning for the DevOps platform and the entire cloud industry.
From a functional point of view, we hope to provide customers with a efficient cloud R&D workflow . The following figure basically contains an enterprise, from knowledge management to project management, code management, to construction, testing, product, online, user feedback, to team performance, OKR, the entire closed-loop functional relationship diagram, which is also Coding is currently able to provide complete value to customers. Over the years, we have been completing the entire closed-loop building, and invested a lot of research and development to improve the entire tool chain, hoping to provide customers with Total Solution and bring a one-stop experience.
But we are also concerned that many customers already have their own tool investment and infrastructure. In many cases, what they need is just a point product, and they don't need a one-stop tool. For example, can you only need one product library or only one release product? In response to such demands, we have also begun to rethink the logic of products, so some products can also be single-pointed out so that customers can integrate into their own R&D tool flow system.
- WePack -
Facilitate the progressive DevOps transformation of enterprises
The first thing I look at is "products." In fact, in China as a whole, the recognition of products is relatively slow. Perhaps five years ago, few people mentioned this concept, and only recently began to slowly mention it. We believe that the development of software without a product library is equivalent to the manufacturing industry without a warehouse, which is an unimaginable thing.
But in fact, very few teams used to have a very formal product library, either folder, FTP, or even manage the products produced in the form of package transfer on various communication tools. After research, more than 60% of companies basically do not have a complete product management module; from the perspective of the entire industry, there are also some open source tools, but they are not particularly perfect. There are some tools abroad, but they cannot be controlled independently and some credit creation. Requirements. Therefore, in response to this pain point, we take out the product library product separately as an independent product product, positioning it as an enterprise-level product management platform: WePack. It is part of CODING DevOps and can also be part of the customer's own DevOps tool chain.
- Orbit -
New cloud-native application delivery tool
Generally, the release link is after the work-in-progress, and it is also the place where many teams have the closest cooperation and the most intense conflicts in R&D and operation and maintenance. Because DevOps is to allow developers to complete part of the application operation and maintenance work, rather than directly looking for operation and maintenance when there is a problem with the application or system, and the contradiction here will be fierce.
In the cloud-native era, it is necessary to gradually shift the operation and maintenance of applications to the left, but the operation and maintenance of resources is still done by traditional operation and maintenance, or even directly handed over to the cloud for . In the process of moving the application operation and maintenance to the development, because it is necessary to allow the development of a low threshold to see the status of the application, to expand and contract, to monitor the various configurations of the log alarm, it is bound to be affected by the application operation and maintenance. Tools make high demands. This is an industry trend, and it is also a current challenge. In this context, we have this year, which is called CD 2.0 internally, and when it is officially launched, it is newly named: Orbit . You can imagine that the artistic conception-track brought by this name, is very similar to the artistic conception we want to deliver and the value we provide to our customers.
This picture shows a screenshot of the product. The upper left corner is the current microservice cloud native application. You can see what the architecture of the microservice is, what the relationship between the microservices is, and how many microservices are there. How many database tables we can also make changes to the database tables; the application perspective can be seen in the upper right corner, showing how many changes in the application have not been released to the production environment, including the previous release history, who operated each release, and what Time to release and what content has been released; below you can see the environment of this application deployment, including test environment, pre-release environment, production environment, etc., including what version of each environment is currently deployed, what status is currently running, click Go in and you can see that the monitoring log alarms of each environment can be configured. equivalent to a part of the previous traditional operation and maintenance work, which is completely moved to the Orbit system. Development can complete the management of the entire application life cycle without disturbing the operation and maintenance. This is what we hope Orbit can deliver to the development the value of.
- Compass -
Keep R&D organized
In addition to the product library just mentioned, and the left shift of continuous delivery application operation and maintenance, so that developers can better manage their own applications, we also found other pain points during the entire R&D process. Because each company has its own R&D culture and R&D specifications, how can these R&D specifications be implemented to every team and everyone as the team continues to expand? In many cases, the company's culture is constantly being built by advocacy and personnel, and the team leader of each team is manually doing repeated inspections. This is also a pain point for many companies. In addition, from a higher-level management perspective, the work done by the R&D team is often a black box, which is a major pain point for many bosses.
In response to these problems, we are constantly thinking about how to truly engineer, standardize, and standardize software engineering. So we launched Compass, which is simply a compass: we hope to give the team a very clear guide during the development process. This guide is productized, not a rule and system. It is positioned to allow the entire DevOps process control of the enterprise to see the entire R&D process instead of a black box, and to be able to do some value flow analysis of the entire R&D process.
As shown in the figure below, this is a microcosm of the Compass product page. We can configure the entire R&D process, from an idea to the analysis and review of requirements, to the construction of the code, the writing of test cases, and the subsequent continuous integration and delivery. , What kind of process each link is, and what kind of specifications are there, such as code and test case specifications, can be configured here. When the entire R&D team operates in accordance with the configured process, if it does not meet the specifications, there is no way to continue to flow, so that the product can help the team to comply with the specifications and truly realize the standardization, automation and transparency of the entire R&D process. At the same time, because of standardization, who did each link, how much time it took, and why it was slow/fast, will be recorded, which can be used as the basis for post-mortem analysis.
- Cloud Studio -
The beginning of the cloud
After talking about DevOps, let's take a look at the new challenges and opportunities in the cloud-native era. As mentioned earlier when we mentioned CODING, we used to be positioned in DevOps, and now we are positioned as a cloud-native development kit. In addition to DevOps, we have also seen that there are some new opportunities and urgent issues in development tools and development methods. problem. The first is IDEs, which have been very mature in the past, such as desktop IDEs, but are these IDEs really suitable for cloud-native application development? Is the configuration of the development environment more and more complicated? Do you need an IDE that can write code anytime, anywhere? Based on these thoughts, we launched Cloud Studio
for many years, and this year we made a very big revision to it. 16183c443447e6 hopes to be positioned as a really useful cloud-native IDE platform. We are not going to replace the local IDE . It means that in different application types, when developing cloud-native applications, it can provide developers with a smooth and convenient coding experience that goes beyond the local IDE. At present, Cloud Studio supports more than 20 language environments, and developers have created more than 100,000 workspaces on it. Developers have accumulated more than 120 hours of development on the Cloud Studio platform every day. And we have done a lot of open work, including collaborative programming. You can enter the workspace of other developers and do some development and debugging together. This is difficult to do in the local IDE; the open ecology also supports various plug-ins. , Cloud Studio's startup speed is basically 3-5 seconds to start in seconds; and we done a lot of templates and development environment configuration methods for 16183c443447e8, which is also very friendly to novices.
In addition to developing a universal cloud IDE, this technology also hopes to help different industries implement different solutions, such as online classrooms can be used for coding demos, whether low-code development requires a coding environment, recruitment written examinations, etc., including us There will also be some integrations with Tencent meetings. If you need to interact with the code during the meeting, is there such a tool to better support such scenarios? We hope to help more industries to collaborate better.
- Nocalhost -
Let cloud native development return to primitive and simple
In cloud-native development, in addition to IDE problems, we also found that there are also problems with the construction of the entire R&D test environment. Imagine if you have a 100 microservices application and a new employee, how do you get him to develop this application? How to configure a development machine for him to enable him to run the application development environment? Can the entire development and testing process be more efficient? We found that in fact, many companies have such pain points. When the applications of microservices are getting larger and larger, few companies can make each development have its own development environment. And shares a development environment, there will be various influences between each other. So we are thinking, is there a way to develop a complex cloud-native application like a single application? So we launched Nocalhost . This product was released at the end of last year. After nearly a year of development and iteration, many users have now used it in their own development work.
Here is an explanation of the origin of Nocalhost's name. More than ten years ago, we used Localhost to debug our development, because at that time, we could simulate the network situation without needing the network to realize the feedback loop of the development website. In the cloud-native era, there is no Localhost, or in theory, there is no local, so it is No localhost, but we still hope to achieve the same development feedback as local.
As shown in the figure, the picture on the left is the current process of developing cloud native applications. If you need to debug and see the effect of changing a line of code, you need to go through about six steps, from compiling to uploading products, and even needing to restart a microservice or container. This feedback loop is very slow, at least on the minute level, even 5-10 minutes. And under Nocalhost's mechanism, the feedback is directly reduced to three steps, and does not need to compile, do not need to upload products, the experience can basically be the same as the local Localhost . We also hope that the entire development experience is completely comparable to local development, so we have done a lot of work, including rapid deployment of containers, quick start, one-click Debug, multi-person shared development environment, etc.; at the same time, it also provides a server side, which can Let the resource management personnel of the enterprise have the management ability to allocate the development resources of different R&D personnel, and better recover and reuse the development resources. We hope that Nocalhost can bring a brand new experience to cloud native application development.
Look to the future
Finally, looking forward to the future, there are other things in this field that we have not done so far, but that we think are very valuable and we will do in the future. Here are three industry development directions that we think are more valuable.
first is Value Stream . We talked about the improvement of delivery efficiency, does it necessarily represent the success of the business? The answer to this question is often no. The development team feels that they have done a lot of work, but the business side seems to be useless. This is where the contradiction between many business teams and development teams lies. So not only to improve the delivery efficiency of the development team, how to measure the value of the delivered things is Value Stream. So how do we measure the value here, and after it is finally delivered online, can the entire value stream be managed?
second one is AI . In this field, can we develop more capabilities to help developers write more complete and high-quality code, and use AI capabilities to assist developers in Code Review and even Coding Assistant products?
third is in the security field . It is also an important direction that everyone is paying attention to. Because everything in the cloud is native to the cloud, many companies have huge concerns about security. Traditional security is often done by independent teams, separated from development and testing. We believe that this organizational structure, or working method, is relatively inefficient, and there are many cases of rework or duplication of work. Now more emphasis is on DevSecOps, which is to integrate security into the entire R&D and testing environment, which is also a direction that we should pay attention to.
So the content shared this time is here, thank you for your participation. Coding has always insisted on Slogan of "making development easier". In the cloud-native era, we also hope to make the R&D management of cloud-native development easier and simpler. Thank you.
Click here to link
Watch the CIF summit replay and download conference materials
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。