Constructor Class for Microservice Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deploying microservices in a distributed computing environment is complex due to cross-cutting concerns such as externalized configuration, logging, health checks, metrics, service registration, discovery, circuit breakers, and distributed tracing, which can introduce errors and increase development time and effort.

Innovation Solution

A method and system that utilize a constructor class to generate a codebase for tenant microservices, allowing for quick deployment, development, and updating of microservices while standardizing implementations to minimize cross-cutting concerns by using a microservice class object to create a containerized instance exposed via an API.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If microservices are deployed using traditional methods without a constructor class, then each service can be updated and scaled independently, but the deployment process becomes complex due to cross-cutting concerns such as logging, health checks, metrics, service registration, discovery, circuit breakers, and distributed tracing

Engineering Contradiction:
Improvedeployment speedVSAvoiddeployment complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A constructor class is introduced as an intermediary component that standardizes the deployment process for microservices. This constructor class encapsulates common deployment patterns and cross-cutting concerns, providing a unified interface for deploying microservices while managing the complexity internally through standardized templates and configurations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the deployment approach by parameterizing microservice instantiation through the constructor class. By defining standardized parameters and configurations within the constructor, the system enables consistent deployment across different microservices while reducing the complexity of managing individual deployment configurations for each service.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If cross-cutting concerns are implemented individually for each microservice, then each service can be customized, but development time and effort increase significantly

Engineering Contradiction:
Improveservice customizationVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The constructor class implements a universal deployment mechanism that handles multiple cross-cutting concerns (logging, health checks, metrics, service registration, discovery, circuit breakers, and distributed tracing) through a single standardized interface. This multi-functional approach allows different microservices to benefit from the same deployment template, reducing development time while maintaining the ability to customize individual services through configuration parameters.

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

Solution Approach 2:

The constructor class performs preliminary actions by pre-configuring common deployment patterns and cross-cutting concerns before microservice instantiation. By establishing standardized templates in advance, the system eliminates the need to implement these concerns individually for each microservice, significantly reducing development time while preserving customization capabilities through configurable parameters.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If standardization is applied to microservice deployment through a constructor class, then deployment complexity is reduced, but flexibility in implementing custom deployment patterns may be limited

Engineering Contradiction:
Improvedeployment complexityVSAvoiddeployment flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The constructor class implements dynamic configuration capabilities that allow deployment patterns to be adjusted based on specific microservice requirements. The system maintains standardized templates for common scenarios while enabling dynamic modification of deployment parameters and configurations, ensuring that services can be customized without sacrificing the benefits of standardization. This dynamic approach balances complexity reduction with deployment flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11829741B2Instantiated deployment of microservices
Publication Date: 2023.11.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11829741B2 patent drawing
  • US11829741B2 patent drawing
  • US11829741B2 patent drawing

AI summary

A method, computer program product and computer system to generate a codebase for tenant microservices in a distributed computing environment is provided. A processor receives a request from a tenant to deploy a microservice in a distributed computing environment. A processor retrieves a schema associated with the tenant and the microservice to be deployed. A processor retrieves a constructor class associated with the microservice. A processor deploys an instance of the microservice within the distributed computing environment based on the constructor class associated with the microservice. A processor provides a service endpoint within the distributed computing environment managed by the deployed instance of the microservice.