Sidecar Container for In-Memory Database Binary Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a container-based architecture, updating external binaries used by in-memory database applications necessitates restarting the container and the application, leading to potential downtime, which is not feasible in cloud environments like Kubernetes.

Innovation Solution

Deploying the binary in a separate 'sidecar' container that mounts the same shared filesystem path as the in-memory database application, allowing for individual updates without affecting the application's operation, utilizing Kubernetes for automated deployment and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the binary is deployed inside the application container, then the application can access the binary directly, but updating the binary requires restarting the container and application, causing downtime

Engineering Contradiction:
Improvebinary update processVSAvoidapplication availability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments the binary from the application by deploying the binary in a separate sidecar container rather than embedding it within the application container. This segmentation allows the binary to be updated independently without affecting the application's runtime execution, thereby enabling updates without downtime while maintaining direct accessibility through shared volume mounting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sidecar container acts as an intermediary between the application and the binary. It mounts the binary from a shared volume and makes it accessible to the application without requiring the application to directly contain or manage the binary. This intermediary structure enables independent binary updates while maintaining application availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the binary is updated in a container-based architecture, then the new version can be deployed, but the container and application must be restarted, leading to service interruption

Engineering Contradiction:
Improvebinary version flexibilityVSAvoidapplication downtime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

By segmenting the binary into a separate sidecar container, the system enables flexible binary version updates without requiring application restarts. The sidecar can be updated independently while the application continues to run, accessing the updated binary through the shared volume mount without service interruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sidecar container is pre-configured with the binary at a specific mount path before the application starts. This preliminary setup allows the application to access the binary without knowing its storage location, enabling seamless binary updates in advance without requiring application restarts or causing downtime.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If external binaries are embedded in the application container, then deployment is simple, but updates require container restart and cause downtime

Engineering Contradiction:
Improvedeployment simplicityVSAvoidupdate efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system segments the binary management from the application deployment process by using a sidecar container. While this adds a component to the architecture, it enables independent binary updates without requiring full container restarts, significantly improving update efficiency while maintaining relatively simple deployment through standardized sidecar patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sidecar container serves multiple functions: it stores the binary, manages binary updates, and provides the binary to the application through shared volume mounting. This multi-functional approach consolidates binary management capabilities while maintaining deployment simplicity through a standardized pattern that can be applied across different applications.

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

Data Source

PatentUS11789768B2External binary sidecar for cloud containers
Publication Date: 2023.10.17 SAP SE
  • US11789768B2 patent drawing
  • US11789768B2 patent drawing
  • US11789768B2 patent drawing

AI summary

In an example embodiment, a solution is provided that causes a binary used by an in-memory database application to be deployed in a separate container. The container with the binary may be called a “sidecar” to the container with the in-memory database application. Both containers mount the same path in the hosts shared filesystem to expose the binary to the application. There is no permanent connection between the two containers, and thus the binary can be updated individually without inducing a downtime of the in-memory database application.