Serverless Application Portability via Lexical Analysis and Containerization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serverless computing applications face challenges with vendor lock-in and portability due to the use of vendor-specific APIs, leading to hesitation among customers to adopt serverless architectures.

Innovation Solution

A lexical analysis tool and application transfer tool are developed to analyze serverless application code, identify portable and non-portable lexical features, and convert applications into container formats, enabling execution across multiple cloud platforms and orchestration frameworks, thereby enhancing portability and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vendor-specific APIs are used to create serverless applications, then the application can be executed on a specific cloud platform, but the application loses portability to other vendors

Engineering Contradiction:
Improveexecution reliability on specific platformVSAvoidportability across vendors
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer (containerization platform, abstraction layer, or translation service) between the serverless application and the cloud provider's native APIs. This intermediary enables the application to interact with the cloud platform through standardized interfaces while maintaining the ability to port to different vendors, thus resolving the contradiction between execution reliability on a specific platform and portability across vendors.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a universal interface or standardized API layer that allows serverless applications to be deployed across multiple cloud platforms. By designing the application to use vendor-agnostic interfaces and containerization standards, the same application can execute reliably on different cloud providers without modification, achieving both execution reliability and cross-vendor portability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If containerization tools are used to improve portability, then the application can be transferred between platforms, but the complexity of the deployment process increases

Engineering Contradiction:
Improveportability between platformsVSAvoiddeployment process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the containerization system automatically handles deployment configuration, platform compatibility adjustments, and transfer operations. The system performs self-diagnosis and self-adjustment to simplify the deployment process, reducing the need for manual intervention and lowering the perceived complexity for users while maintaining high portability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies preliminary action by pre-configuring container images, pre-establishing platform compatibility layers, and pre-validating application portability before deployment. This advance preparation work is done automatically during the build process, so that when deployment occurs, the complexity is minimized and the application can be transferred between platforms with simple commands.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If lexical analysis tools are used to identify non-portable features, then portability issues can be detected early, but the development time increases

Engineering Contradiction:
Improveportability assuranceVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements lexical analysis as a preliminary action during the early stages of application development or containerization process. By automatically scanning and identifying non-portable lexical features (vendor-specific APIs, platform-dependent code) before deployment, the system detects portability issues early when they are easier and cheaper to fix, thus ensuring portability while minimizing the time penalty to development.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent incorporates feedback mechanisms where the lexical analysis tool provides real-time or near-real-time feedback to developers about non-portable features. This feedback loop allows developers to immediately address portability issues during development rather than during deployment, reducing the overall development time while maintaining high portability standards.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11531526B1Creating portable serverless applications
Publication Date: 2022.12.20 AMAZON TECH INC
  • US11531526B1 patent drawing
  • US11531526B1 patent drawing
  • US11531526B1 patent drawing

AI summary

A lexical analyzer is provided to analyze serverless application code to help ensure that the serverless application is portable between different execution environments. The lexical analyzer may identify non-portable features of the application, and alerts of these features may be provided to users. A transfer tool may be provided to assist in transferring a serverless application between computing platforms, such as by converting the portable serverless application to a container format. An interface may be provided that subscribes, on behalf of a container, to receive notifications of triggering events from a computing platform's notification service. The interface may provide a message to the container to indicate an occurrence of a triggering event, which may trigger execution of a serverless function by the container.