Source-to-Image Framework for Multi-Tenant PaaS Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current source-to-image solutions do not provide a unique user space or adequate security environment for multi-tenant Platform-as-a-Service (PaaS) systems, hindering the efficient build and deployment of web applications.

Innovation Solution

A source-to-image (STI) framework is introduced, which includes logic and scripts that combine base images with user-provided source code to produce executable application images, supporting incremental builds by reusing artifacts from previous builds, thus streamlining the deployment process in a multi-tenant PaaS environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current source-to-image solutions are used in multi-tenant PaaS systems, then the build and deployment process can be performed, but security environment and user space isolation are inadequate

Engineering Contradiction:
Improvesecurity environmentVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the build environment into isolated user spaces where each user's application builds occur in separate container instances. This segmentation provides security isolation while maintaining the source-to-image build capability, resolving the contradiction between security and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A platform controller acts as an intermediary between users and the underlying infrastructure, managing container instances and orchestrating builds. This intermediary layer provides security and isolation without exposing the complexity of the underlying system architecture to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional build processes are used without artifact reuse, then simplicity is maintained, but build time and efficiency deteriorate

Engineering Contradiction:
Improvebuild efficiencyVSAvoidbuild time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by caching build artifacts from previous builds and reusing them in subsequent builds. Dependencies, compiled code, and other build artifacts are preserved and reused, eliminating redundant build steps and significantly reducing build time while improving productivity.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If full builds are performed every time, then completeness is ensured, but time consumption and resource usage increase

Engineering Contradiction:
Improvebuild completenessVSAvoidbuild time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

Instead of performing complete builds every time, the system performs partial builds by identifying and rebuilding only the specific components that have changed. The build system analyzes dependencies and reconstructs only the necessary portions of the application image, ensuring completeness where needed while minimizing time consumption through selective rebuilding.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10037196B2Source to image framework for a platform-as-a-service system
Publication Date: 2018.07.31 RED HAT INC
  • US10037196B2 patent drawing
  • US10037196B2 patent drawing
  • US10037196B2 patent drawing

AI summary

Implementations provide for a source to image framework for a Platform-as-a-Service (PaaS) system. A method of the disclosure includes invoking source-to-image (STI) orchestration logic to perform a build for an application of a multi-tenant PaaS system, launching a build container for the build in view of a base image of the application, the base image providing a core functionality for the application, accessing source code of the application at the build container, assembling an application image using the base image and the source code, and committing the application image to a repository.