Server-free application real-time development, debugging and deployment system and method

Through real-time development, debugging and deployment system for serverless applications, the problems of environmental fragmentation, debugging and complex deployment in serverless application development are solved, cloud integration and automated development are realized, and development efficiency and application quality are improved.

CN119155306AInactive Publication Date: 2024-12-17刘宇
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411364166.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-28
Publication Date
2024-12-17
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing serverless application development model has problems such as the separation of the local environment from the cloud environment, difficulty in debugging, and complex deployment, which affects development efficiency and application quality.

Method used

Provide a real-time development, debugging and deployment system for serverless applications, including a local integrated development environment, a cloud serverless execution environment, a real-time synchronization module, a remote debugging module, a connection proxy module and a deployment module, through real-time synchronization algorithm, debugging proxy architecture and automated deployment Model to achieve seamless integration and efficient deployment of on-premises and cloud environments.

Benefits of technology

It realizes cloud integration and automated development of serverless applications, breaks through debugging limitations, simplifies deployment processes, improves development efficiency and fault tolerance, enhances security and scalability, and supports agile development.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

The invention provides a system and a method for real-time development, debugging and deployment of a server-free application, which are used for solving the problems of separation of a local environment and a cloud environment, difficulty in debugging and the like in the development process of the server-free application. The system comprises a local integrated development environment, a cloud server-free execution environment, a real-time synchronization module, a remote debugging module, a connection agent module and a deployment module. Wherein the real-time synchronization module realizes real-time increment synchronization of a local code and a cloud code through an increment synchronization algorithm, a Hash index algorithm and an encrypted transmission protocol; the remote debugging module supports debugging operations such as breakpoint debugging, variable checking and single-step execution on the cloud application in the local IDE; the connection agent module is used for establishing two-way communication between the local IDE and the cloud instance; the deployment module can execute the construction and deployment of the application at the cloud, and the deployment process is simplified. According to the invention, seamless integration of a local development environment and a cloud operation environment is realized, the debugging limitation of a server-free architecture is overcome, and the development efficiency and the application quality are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cloud computing technology, and in particular to a system and method for application development, debugging and deployment oriented to a serverless architecture. Background Art

[0002] Serverless computing is an important development direction in the field of cloud computing. It uses functions as computing units, eliminating the need for developers to manage and configure server resources, making application development and deployment more efficient and flexible. Serverless architecture has broad application prospects in the fields of Web application backend, data processing, and the Internet of Things, and is gaining favor with more and more developers and enterprises.

[0003] Currently, serverless application development usually involves writing code in a local environment and then packaging and uploading the code to the cloud for deployment. Developers write function code in a local IDE and perform preliminary tests through a local simulator or test framework. When code development is complete, the code needs to be packaged into a deployment package and uploaded to a serverless execution environment in the cloud, such as AWS Lambda or Azure Functions, for further testing and debugging in the cloud. However, this development model has problems such as environmental fragmentation, difficult debugging, and inefficient deployment, which affects development efficiency and application quality.

[0004] Specifically, due to the differences between the local development environment and the actual cloud environment, the code that has passed the local test may have runtime errors or performance problems after being deployed to the cloud, and needs to be re-debugged and repaired in the cloud. However, debugging in the cloud is often limited, and it is difficult to set breakpoints, check variables, and execute single-step as conveniently as in the local environment. In addition, the code needs to go through multiple steps such as packaging, uploading, and configuration during the deployment process, which is cumbersome and time-consuming. For serverless applications that are frequently iterated and updated, the existing deployment methods are inefficient and cannot meet the needs of agile development.

[0005] In order to solve the problems in the existing serverless development model, some improvement measures have been proposed one after another. For example, AWS launched the SAM (Serverless Application Model) framework, which simplifies the local testing and deployment process of serverless applications. Developers can use SAM to simulate the Lambda operating environment locally and use the SAM CLI tool to package and deploy the code. Similarly, the Serverless Framework provides a set of tools and plug-ins to simplify the development, testing, and deployment of serverless applications. These frameworks have improved the serverless development experience to a certain extent, but they still cannot fundamentally solve the problem of the separation of the local environment and the cloud environment, and the debugging capabilities and deployment efficiency need to be further improved.

[0006] With the continuous development of serverless applications, the requirements for development efficiency and application quality are increasing. How to achieve seamless integration between the local development environment and the cloud serverless environment, provide powerful remote debugging capabilities, and efficient and reliable automated deployment have become key issues that need to be solved in the serverless field. Developing an innovative serverless development platform, completely changing the traditional development model, and realizing true cloud-based real-time development and debugging is an inevitable trend in the current development of serverless technology. Summary of the invention

[0007] The purpose of the present invention is to solve the problems existing in the development of existing serverless applications, such as the separation of the local environment and the cloud environment, difficult debugging, and complex deployment, so as to improve the development efficiency and quality of serverless applications.

[0008] In addition, the present invention also aims to achieve seamless integration of the local development environment and the cloud operating environment, and simplify the deployment process of serverless applications.

[0009] To achieve the above objectives, the present invention provides a serverless application real-time development, debugging and deployment system, which is characterized by: including a local integrated development environment, a cloud-based serverless execution environment, a real-time synchronization module, a remote debugging module, a connection proxy module and a deployment module, which work together to realize the real-time development, debugging and deployment of serverless applications.

[0010] In some embodiments, the present invention also provides a serverless application real-time development, debugging and deployment method based on the system.

[0011] Specifically, the real-time synchronization module realizes real-time incremental synchronization of local code changes and cloud code through incremental synchronization algorithm, hash index algorithm and encrypted transmission protocol, ensuring the consistency of the development environment.

[0012] Furthermore, the remote debugging module is based on the debugging agent architecture and supports debugging operations such as breakpoint debugging, variable inspection, and single-step execution on applications running in the cloud in the local IDE.

[0013] Preferably, the connection proxy module is used to establish two-way communication between the local IDE and the cloud instance to transmit debugging commands and information.

[0014] Optionally, the deployment module can perform application building and deployment in the cloud, simplifying the deployment process.

[0015] In one embodiment, the local integrated development environment supports plug-in extensions and can integrate various development tools and functions.

[0016] In some embodiments, the debugging agent architecture establishes a debugging channel with the cloud instance by connecting the agent module, has the characteristics of low resource consumption, and does not affect the normal operation of the cloud application.

[0017] In addition, the present invention can also optimize the performance and efficiency of real-time synchronization and remote debugging through intelligent algorithms.

[0018] In other embodiments, the system and method of the present invention can be extended and applied to various serverless computing platforms and application scenarios.

[0019] In a preferred embodiment, the serverless application real-time development, debugging and deployment system of the present invention includes a plug-in local IDE, a distributed cloud-based Serverless execution environment, a real-time synchronization module based on WebSocket and incremental synchronization algorithm, a cross-platform debugging agent module, a safe and efficient connection agent module, and an automated deployment module, which work together to support the entire process of serverless application development, debugging and deployment.

[0020] In another preferred embodiment, the real-time development, debugging and deployment method of serverless applications includes key steps such as writing code in a local IDE and synchronizing it to the cloud in real time, remotely debugging cloud applications locally, and automatically building and deploying applications in the cloud, to achieve end-to-end development of serverless applications.

[0021] By adopting the above technical solution, the present invention has the following beneficial effects: (1) It realizes the cloud integration and automation of serverless application development environment, significantly improving development efficiency; (2) It breaks through the debugging limitations inherent in serverless architecture and supports convenient remote debugging of cloud applications; (3) Simplifies the deployment process of serverless applications and reduces the threshold and risk of application delivery; (4) Enhanced fault tolerance, security, and scalability of serverless application development; (5) Provides full-stack technical support for enterprises and developers to adopt serverless architecture.

[0022] In summary, the system and method provided by the present invention have effectively solved the common problems faced by existing serverless application development, greatly improved the development experience and efficiency of serverless applications, and are of great significance to promoting the application of Serverless technology in enterprises. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solution of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention, and for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work.

[0024] Figure 1 It is the overall architecture diagram of the serverless application real-time development, debugging and deployment system.

[0025] Figure 2 This is a timing diagram of the working principle of the real-time synchronization module.

[0026] Figure 3 This is a workflow sequence diagram of the remote debugging module.

[0027] Figure 4 It is a network topology diagram connecting proxy modules.

[0028] Figure 5 This is a diagram of the CI / CD process for the deployment module.

[0029] Figure 6 It is a decision flow chart for intelligent deployment strategy.

[0030] Figure 7 It is a timing diagram of the pre-synchronization technology based on code static analysis.

[0031] Figure 8 It is the debugging process and functional diagram of the invention. DETAILED DESCRIPTION

[0032] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0033] In the description of the present invention, it should be noted that the terms "center", "up", "down", "left", "right", "vertical", "horizontal", "inside", "outside" and the like indicate directions or positional relationships based on the directions or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific direction, be constructed and operated in a specific direction, and therefore should not be understood as a limitation on the present invention.

[0034] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0035] This embodiment provides a serverless application real-time development, debugging and deployment system. Figure 1As shown, the system includes a local integrated development environment (IDE), a cloud-based serverless execution environment, a real-time synchronization module, a remote debugging module, a connection proxy module, and a deployment module.

[0036] In order to achieve seamless integration of the local environment and the cloud environment during the development of Serverless applications, this embodiment innovatively designs a local IDE based on a plug-in architecture. By integrating a set of customized plug-ins on the basis of conventional IDE, The local IDE has gained the ability to interact directly with backend cloud services. These plug-ins work together with backend components such as the real-time synchronization module, remote debugging module, and deployment module to organically integrate the originally separated local development environment and cloud operating environment to form a distributed integrated development and operation environment. Based on this innovative design, developers can develop Serverless applications in the local IDE by editing ordinary code projects, and synchronize changes to the cloud in real time. What you see is what you get, which significantly simplifies the Serverless development process.

[0037] The cloud-based serverless execution environment is the carrier for the actual operation of Serverless applications. In order to support unified development in multi-cloud and hybrid cloud scenarios, this embodiment adopts an architecture-as-code approach in the design of the cloud environment. By describing the Serverless execution environment as a set of structured configuration codes, which are then parsed and executed by the deployment module, the standardized definition and automated deployment of Serverless infrastructure can be achieved. The configuration code is organized in a way that is decoupled from the application code to support independent evolution. Based on this loosely coupled and programmable design, the system can flexibly adapt to a variety of mainstream Serverless platforms and easily migrate and reuse them. Specifically, the system presets a set of configuration code templates that map to various mainstream Serverless platforms, so that one-time development and multi-platform reuse can be achieved.

[0038] The real-time synchronization module is responsible for synchronizing the Serverless application code to the cloud in real time during the development phase. In order to overcome the common problems of synchronization delay and bandwidth waste, this embodiment further optimizes the synchronization mechanism. The synchronization link adopts a bidirectional incremental synchronization strategy and innovatively introduces a data consistency verification algorithm based on the Merkle tree. The Hash value comparison can quickly determine the difference between local and cloud code, and then generate the smallest synchronization increment: in Indicates The incremental set of sub-synchronizations, Represents a single change file, It is the complete code set of the current cloud environment. Before synchronization is initiated, the local machine builds a Merkle tree by traversing the cloud code files, and compares it with the Merkle tree of the local code, and calculates the difference set based on the above formula.

[0039] At the same time, in order to further improve synchronization efficiency, the real-time synchronization module also innovatively builds an intelligent synchronization scheduling model based on code static analysis and historical submission behavior to prioritize, merge and incrementally distribute synchronization tasks to avoid inefficient repeated synchronization. The model assumes that the local code change sequence follows a Poisson process with an arrival rate of , then the optimization problem can be described as Minimize the total synchronization delay : The synchronization time interval exist Satisfies exponential distribution, otherwise : By solving the optimization model, the synchronization scheduler can adaptively adjust the synchronization frequency and priority, reducing the synchronization overhead while ensuring the real-time synchronization.

[0040] The remote debugging module innovatively introduces a customized debugging protocol for Serverless applications - SCDP (Serverless Cloud Debugging Protocol), which standardizes the interaction details between the debugging client and the cloud-based running instance during the debugging process of Serverless applications.

[0041] Based on this protocol, this embodiment implements a lightweight debugging proxy component, which is responsible for forwarding SCDP messages between the debugging client and the instance. Compared with the traditional debugger design, SCDP has made special optimizations in maintaining session status and cross-request tracking to adapt to the stateless and event-driven characteristics of Serverless applications. At the same time, with the help of the debugging proxy, the system does not need to build a debugger into the cloud instance, but injects it on demand when the debugging session is established, which greatly reduces the impact of the debugger itself on application performance.

[0042] In order to give full play to the elasticity of the Serverless platform, the deployment module adopts a declarative continuous deployment model. Developers only need to maintain a deployment list in the code base, declare the deployment constraints of each component of the application, the deployment target and other expected states, and the deployment module can automatically orchestrate the deployment process such as build, test, and grayscale release. In view of the ultra-high elasticity of the Serverless platform, the deployment module introduces a two-phase commit protocol, which divides the deployment process into two atomic stages: preparation and submission. In the preparation stage, the deployment module creates an application instance based on the expected state declared by the user, but the instance does not provide services to the outside world. After necessary testing and warm-up, the traffic is directed to the new instance in the submission stage. This phased deployment mode can effectively avoid request delays caused by the cold start of the Serverless application and achieve smooth launch. At the same time, combined with the canary strategy, it can further control the risk of changes and improve the stability of deployment.

[0043] In summary, the functional modules in this embodiment cooperate with each other to form a new paradigm for end-to-end Serverless application development. Compared with the existing technology, the innovation of this solution is mainly reflected in: (1) It pioneered a distributed cloud-based integrated development architecture paradigm centered on a plug-in local IDE, based on a multi-cloud Serverless environment, and linked by synchronization, debugging, and deployment functions, opening up the entire Serverless application development process; (2) In terms of real-time synchronization, we creatively introduced a bidirectional incremental synchronization strategy and an intelligent scheduling model based on code analysis, which significantly reduced the synchronization overhead while ensuring the real-time synchronization. (3) In terms of remote debugging, we customized the debugging protocol SCDP that fits the characteristics of Serverless applications, and replaced the traditional built-in debugger with a lightweight debugging agent to achieve efficient and low-loss real-time online debugging. (4) In terms of automated deployment, it innovatively combines multiple cloud-native technologies such as declarative configuration, two-phase commit, and canary release to achieve progressive and continuous deployment of Serverless applications with high reliability and zero downtime.

[0044] Embodiment 2: Based on Embodiment 1, this embodiment further optimizes the performance and resource usage of the real-time synchronization module. Figure 7 As shown in the figure, the real-time synchronization module innovatively introduces an adaptive pre-synchronization technology on top of the original incremental synchronization mechanism. It greatly improves the immediacy of code synchronization through intelligent pre-fetching and pre-execution, while reducing the occupation of cloud resources by the synchronization process.

[0045] Specifically, the pre-synchronization technology uses a context-aware code analysis and prediction algorithm. While the developer is editing the code, the real-time synchronization module continuously analyzes the code context in the IDE window, extracts the semantic and structural features, and combines the developer's historical editing behavior, the team's coding habits and other information to predict the most likely code changes to occur next in real time. The prediction process can be abstracted as a conditional probability model: in, Indicates the next step of code change, For the current code context, and are the historical behavior characteristics of individual developers and teams, The probabilistic model uses a deep learning architecture based on graph neural networks and is trained through end-to-end supervised learning. It can automatically learn and summarize implicit code evolution patterns from large-scale real development data.

[0046] Based on the above prediction results, the pre-synchronization module instantly generates a set of the most likely subsequent changes, and synchronizes the relevant code snippets and dependent resources to the cloud in advance and includes them in the next deployment cycle. When the developer actually completes the editing operation, most of the newly added code and dependencies are often ready in advance, which significantly reduces the amount of data and the number of incremental synchronizations. At the same time, the pre-synchronization process is executed asynchronously in the background and will not block the developer's editing operations, providing a near real-time cloud synchronization experience.

[0047] In order to further reduce the resource overhead of the pre-synchronization technology itself, this embodiment also proposes an adaptive pre-execution control strategy. The system continuously monitors the resource usage of the cloud and dynamically adjusts the granularity and concurrency of pre-execution accordingly. When cloud resources are relatively abundant, the intensity of pre-execution can be appropriately increased in exchange for higher pre-synchronization accuracy; conversely, when cloud resources tend to be saturated, the intensity of pre-execution is appropriately reduced to ensure that online services are not affected. The adjustment process can be formalized as a constrained optimization problem: in, and Respectively represent the granularity and concurrency of pre-execution, is the accuracy function of pre-synchronization, is the resource occupation function, is the upper limit of available resources. By solving this optimization model, the pre-synchronization module can adaptively adjust the pre-execution strategy to find the optimal balance between improving pre-synchronization performance and reducing resource overhead. After the introduction of pre-synchronization technology, the efficiency and intelligence level of the real-time synchronization module have been significantly improved.

[0048] In summary, this embodiment innovatively proposes an adaptive pre-synchronization technology for Serverless, which integrates multiple artificial intelligence technologies such as code analysis, behavior prediction, and resource perception, and brings new breakthroughs to the performance and intelligence level of the real-time synchronization module. Based on this technology, the response speed and real-time performance of the cloud environment to code changes in the process of Serverless application development have been improved by an order of magnitude, truly realizing a WYSIWYG cloud programming experience. At the same time, the predictive nature of pre-synchronization can also be combined with IDE smart prompts, error checking and other functions to form a cloud-based intelligent programming assistant, providing developers with more accurate and contextual coding assistance and quality control, significantly improving development efficiency. Pre-synchronization technology represents the future evolution direction of cloud-based integrated development and injects new intelligent vitality into the development model of Serverless applications.

[0049] Embodiment 3: This embodiment provides an intelligent deployment optimization method for serverless applications. During the application development and debugging phase, the method automatically collects the performance and resource consumption data of the application at runtime, analyzes the load characteristics and resource demand patterns of the application through a machine learning algorithm, and recommends the optimal application configuration and deployment strategy, thereby helping developers quickly determine the best deployment plan for the application.

[0050] Specifically, if Figure 6 As shown in the figure, the intelligent deployment optimization method introduces a set of performance analysis probes in the remote debugging module to collect a series of key performance indicators of the application in real time during the debugging process, including function execution time, memory usage, CPU utilization, IO throughput, etc. After each debugging execution, the probe reports the collected performance data to the deployment optimization module for analysis.

[0051] The deployment optimization module has a built-in performance analysis model based on the random forest algorithm, which is used to extract key features of application load from raw performance data. The model treats each function call as a high-dimensional feature vector: in, is the function execution time, is the memory usage, is the CPU usage, is IO throughput, and ellipses indicate other minor characteristics.

[0052] By clustering the feature vectors, the model can discover the resource consumption patterns of applications under different load conditions, such as whether they are compute-intensive, IO-intensive, or memory-sensitive.

[0053] Based on the above analysis results, the deployment optimization module automatically generates an optimal deployment configuration recommendation for the application, including the optimal memory configuration, trigger concurrency, number of reserved instances, etc. for each function. The generation of configuration recommendations can be abstracted as a multi-objective optimization problem: in, Represents a deployment configuration scheme Cost of the program For performance, A set of configuration constraints, such as the maximum memory limit, minimum number of concurrent connections, etc.

[0054] This optimization problem can be solved using a heuristic search algorithm, such as simulated annealing or genetic algorithm. The algorithm searches for a configuration combination that satisfies the constraints and achieves the Pareto optimality between performance and cost in the configuration space through repeated iterations.

[0055] In addition to optimizing resource allocation, the deployment optimization module can also automatically recommend the most reasonable deployment topology based on the calling dependencies between functions, such as which functions should be packaged in the same deployment unit and which functions should be deployed independently to improve isolation. These deployment decisions are made through a deep learning model based on graph embedding, which abstracts the function call relationship into a directed graph, maps the graph structure to a low-dimensional vector space through Graph Convolution Networks, and then determines the best deployment partition through similarity calculations such as dot products.

[0056] Based on the above analysis, the deployment optimization module can provide developers with a comprehensive and customized Serverless application deployment solution. Developers can view and adjust optimization suggestions in an interactive way in the IDE, and synchronize the optimized configuration to the deployment module for implementation with one click.

[0057] Compared with manual estimation and trial and error, intelligent deployment optimization can significantly reduce the difficulty of application tuning, shorten the decision-making cycle, and improve application performance while reducing deployment costs, thereby greatly improving the delivery efficiency and quality of Serverless applications.

[0058] The core innovation of this embodiment is to combine machine learning technology with serverless specific domain knowledge, collect real data when the application is running, and make intelligent and personalized analysis and optimization decisions on the performance characteristics and resource requirements of serverless applications. Traditional serverless platforms require developers to manually set application configurations, lack auxiliary decision-making means, and the optimization effect often depends on the developer's personal experience, which is blind and uncertain.

[0059] This solution creatively develops a set of automated application feature analysis and configuration optimization processes, making the deployment optimization of Serverless applications data-driven and experience-based. It significantly improves the results while simplifying development and operation work, freeing developers from complex configuration management tasks and focusing on the development of core business logic.

[0060] Example 4: This example provides a typical distributed application development scenario based on a microservice architecture, demonstrating the unique advantages and value of the present invention in supporting the development of large-scale complex systems.

[0061] In this scenario, the order processing module of an e-commerce system adopts a microservice architecture, and services such as order management, inventory inspection, payment processing, and logistics delivery are split into independent Serverless applications. Traditional microservice development faces many challenges such as environmental fragmentation and debugging difficulties, resulting in low development efficiency. The one-stop Serverless cloud development environment provided by the present invention fundamentally solves these pain points, making the microservice development process efficient and smooth.

[0062] First of all, thanks to the distributed architecture design of the present invention, team members can develop their own microservices as independent projects in the local IDE, and automatically synchronize code changes to the cloud environment through the real-time synchronization module, so that the cloud always maintains a runtime environment consistent with the local code, avoiding integration problems caused by environmental differences and improving collaboration efficiency.

[0063] Secondly, when it is necessary to perform integration testing on multiple microservices during the joint debugging phase, developers only need to connect to the cloud with one click through the remote debugging module, and can directly perform distributed debugging on a real microservice cluster. With the elastic scaling capabilities of the cloud environment, the debugging environment can be created and destroyed on demand, and the environment isolation is convenient and flexible. The status and call links of each service during the debugging process are clearly visible, which significantly improves the debugging efficiency and success rate of the distributed system and reduces the complexity of environment management.

[0064] Thirdly, the present invention can also provide intelligent deployment configuration optimization capabilities as a value-added service to supplement and extend the value of the continuous integration and continuous delivery (CI / CD) pipeline. The system can continuously collect the real load characteristics and resource consumption data of the application in the background, automatically analyze the performance requirements and resource usage patterns of the application through machine learning algorithms, and recommend the optimal service deployment configuration combination, including the specifications of the service instance, the number of copies, the concurrency of the trigger, etc. Developers can synchronize the optimized configuration to the CI / CD pipeline with one click and implement it in the automated deployment process. This makes the performance tuning and capacity planning of the microservice architecture more intelligent, which not only reduces resource costs, but also improves the overall performance and stability of the system. The CI / CD pipeline and intelligent deployment optimization capabilities can be seamlessly integrated to form a closed loop with complementary functions, making the delivery of microservices more efficient and intelligent.

[0065] In summary, the core value and innovation of the present invention lies in focusing on the core links in the Serverless application development life cycle, and providing an unprecedented cloud-native development and operation experience. Traditional microservice development activities are often completed in the local environment, and there are a lot of environmental problems and duplication of work. The present invention uses innovative mechanisms such as real-time synchronization of source code and remote debugging in the cloud to seamlessly extend development activities from the local to the cloud, so that the separation between the development environment and the production environment is completely opened up, allowing developers to fully immerse themselves in the elasticity and convenience of the cloud, significantly improving the development experience and efficiency. At the same time, intelligent deployment optimization, as a beneficial supplement to the CI / CD pipeline, further simplifies the complexity of microservice configuration management and optimization, making the delivery of microservices more intelligent and smooth.

[0066] The present invention is particularly suitable for the development of large-scale distributed applications using the Serverless microservice architecture. On the one hand, Serverless is naturally suitable for the loose coupling and fine-grained characteristics of microservices; on the other hand, the development of large-scale distributed systems usually involves challenges such as multi-person collaboration, numerous functional modules, complex debugging, and environmental fragmentation. There is an urgent need for a new cloud-native development paradigm to improve collaborative efficiency and eliminate environmental problems. The end-to-end Serverless development and operation system of the present invention can migrate the entire microservice development process to the cloud, and give it intelligent tuning capabilities, making large-scale microservice development agile and efficient. It can be foreseen that with the continuous popularization of the Serverless architecture in the cloud-native era, the present invention will become an important tool for distributed cloud development, making Serverless a real development tool for large-scale distributed systems, and injecting new impetus into the digital transformation of various industries enabled by cloud computing technology.

[0067] With the help of this invention, developers can get a development experience that is seamlessly integrated with the cloud environment locally, and let the system automatically handle repetitive and tedious tasks such as environment configuration, state synchronization, and resource scheduling, focusing on the implementation of core business logic. This new cloud development model greatly simplifies the enterprise application architecture, reduces the complexity of distributed systems, shortens the application delivery cycle, and provides strong support for the digital transformation of enterprises.

[0068] The serverless application real-time development, debugging and deployment system and method provided by the present invention breaks through the limitations of the existing Serverless development model through multiple innovations such as real-time synchronization, remote debugging, and automatic deployment, realizes cloud integration and automation of the end-to-end development process, and significantly improves the development, debugging and delivery efficiency of Serverless applications. The present invention can be widely used in various Serverless platforms and application scenarios, and is particularly suitable for large-scale distributed application systems using microservices and Serverless architectures.

[0069] In summary, this invention represents an important evolution direction of the Serverless development model, and provides a complete technical solution and tool set for enterprise applications to upgrade to Serverless and intelligent ones. It has significant technological advancement and industrial application prospects.

[0070] For those skilled in the art, many improvements and modifications can be made without violating the principles of the present invention, all of which fall within the scope of protection of the present invention. For example, the present invention can be combined with virtualization, edge computing and other technologies to further expand the application scenarios and effects of intelligent scheduling.

Claims

1. A serverless application real-time development, debugging and deployment system, characterized in that: include: A local integrated development environment for writing and debugging serverless application code; A cloud-based serverless execution environment for running and deploying serverless applications; Real-time synchronization module, used to achieve real-time incremental synchronization between local code and cloud code; Remote debugging module, used to support remote debugging of cloud-running applications in the local IDE; The connection agent module is used to establish the connection and communication between the local IDE and the cloud instance; The deployment module is used to build and deploy cloud applications.

2. The system according to claim 1, characterized in that The real-time synchronization module comprises: Incremental synchronization algorithm, used to extract the differences between local code and cloud code and perform incremental synchronization; Hash index algorithm to improve the performance of code difference calculation; Encrypted transmission protocol to ensure data security during code synchronization; Connection management function, used to maintain the WebSocket connection between the local environment and the cloud environment.

3. The system according to claim 1, characterized in that The remote debugging module includes: Debug agent architecture, used to establish a debugging channel between the local IDE and the cloud application instance; Breakpoint debugging function, which supports setting breakpoints in the local IDE and performing breakpoint debugging while the cloud application is running; The variable inspection function supports checking the variable values ​​of cloud applications during runtime in the local IDE; The single-step execution function supports single-step debugging of cloud applications in the local IDE.

4. The system according to claim 1, characterized in that The connection proxy module is used to establish two-way communication between the local IDE and the cloud instance, transmit debugging commands from the local IDE to the cloud instance, and return debugging information from the cloud instance to the local IDE.

5. The system according to claim 3, characterized in that The debugging agent architecture establishes a debugging channel with the cloud instance by connecting the agent module, has the characteristics of low resource consumption, and does not affect the normal operation of the cloud application.

6. The system according to claim 1, characterized in that The deployment module can execute the construction and deployment of applications in the cloud, simplifying the deployment process.

7. The system according to claim 1, characterized in that The local integrated development environment supports plug-in extensions and can integrate various development tools and functions.

8. The system according to any one of claims 1 to 7, characterized in that: The system can achieve seamless integration of the local development environment and the cloud operating environment, overcome the debugging limitations of the serverless architecture, and improve development efficiency and application quality.

9. A serverless application real-time development, debugging and deployment method based on the system according to any one of claims 1 to 8, characterized in that: The following steps are involved: (1) Write serverless application code in a local integrated development environment; (2) Synchronize local code changes to the cloud environment in real time through the real-time synchronization module; (3) Use the connection proxy module to establish the connection and communication between the local IDE and the cloud instance; (4) Use the remote debugging module to perform debugging operations such as breakpoint debugging, variable inspection, and single-step execution on the application running in the cloud in the local IDE; (5) Use the deployment module to build and deploy applications in the cloud to achieve a simplified deployment process.

10. The method according to claim 9, characterized in that The real-time synchronization in step (2) is achieved through incremental synchronization algorithm, hash index algorithm and encrypted transmission protocol to ensure synchronization efficiency and data security.

Citation Information

Cited By

  • Cloud program development system and method based on artificial intelligence plug-in

    CN121349423A

  • An artificial intelligence plug-in based cloud program development system and method

    CN121349423B