Repurposing Serverless Application Copies for Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to maintaining serverless or FaaS applications are problematic due to their complex nature, lacking application state information, making debugging and troubleshooting error-prone, laborious, and risky, especially when relying on production system logs or performing debugging sessions that can lead to data loss and contamination.

Innovation Solution

A system and technique for automated capture, recovery, and repurposing of serverless applications using a serverless application manifest (SAM) that includes application function descriptors, backend services descriptors, application function mappings, and version details, allowing for the creation of backup copies that can be easily tested and debugged in a separate environment without affecting production.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If debugging sessions are performed on production systems, then troubleshooting can be done directly, but data loss and data contamination occur

Engineering Contradiction:
Improvedebugging accessibilityVSAvoidproduction data integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent creates a copy of the production serverless application environment that can be used for debugging and troubleshooting. This copy includes replicated function code, configuration settings, and runtime environment, allowing developers to perform debugging operations without affecting the production system's data integrity while maintaining full debugging accessibility.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the debugging function from the production environment by creating a separate copy of the application. This segmentation allows debugging operations to be performed in isolation, preventing any potential data loss or contamination of production data while maintaining ease of operation for troubleshooting.

Inventive Principle:
Principle #1Segmentation

2Difficulty of detecting and measuring

If message logs are reviewed for troubleshooting, then problem diagnosis can be attempted, but sufficient detail is lacking and parsing requires excessive time

Engineering Contradiction:
Improveproblem detection capabilityVSAvoidlog parsing time
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The patent creates a copy of the production environment that preserves detailed runtime information and execution states. This copy enables comprehensive problem detection with full detail available for analysis, eliminating the need to parse through compressed or overwritten message logs and significantly reducing troubleshooting time.

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If serverless applications are maintained using conventional approaches, then basic backup and debugging can be performed, but the complex nature and lack of application state information make these processes error-prone and laborious

Engineering Contradiction:
Improvemaintenance simplicityVSAvoidapplication structure complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent creates a complete copy of the serverless application environment that includes all function code, configuration settings, and runtime state information. This copy approach simplifies maintenance operations by providing a complete, self-contained environment that can be manipulated without affecting production, thereby reducing errors and labor associated with maintaining complex serverless applications.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by creating and maintaining copies of the serverless application environment before maintenance operations are needed. This advance preparation includes replicating the application structure, configuration, and state information, which simplifies subsequent maintenance tasks and reduces the complexity of working with serverless applications that lack persistent state.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10990369B2Repurposing serverless application copies
Publication Date: 2021.04.27 EMC IP HLDG CO LLC
  • US10990369B2 patent drawing
  • US10990369B2 patent drawing
  • US10990369B2 patent drawing

AI summary

A selection is received of a copy of an application backed up from a first FaaS environment for deployment into a second FaaS environment. An application manifest used to backup the application is accessed. The manifest specifies application functions, backend services, and application function mappings. An application function interacts with a backend service in executing the application. An application function mapping includes a condition under which the application function is invoked. The copy of the application is restored into the second FaaS environment. A condition specified in the restored version of the application function mapping is changed. Based on the changed condition, the restored version of the application function is invoked when the restored version of the backend service performs an operation, and the application function of the application corresponding to the restored version of the application function is not invoked.