Microservice Extraction Anti-Pattern Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy monolithic computing applications face challenges in scalability, resource allocation, and maintenance due to their self-contained nature, making it difficult for businesses to adapt to modern computing requirements such as handling large user bases and rapid changes in user access patterns.

Innovation Solution

A software modernization service that automates the decomposition of monolithic applications into microservices, using anti-pattern detection to identify and address performance issues during extraction and deployment, allowing for efficient deployment on cloud-based services like serverless functions, virtual machines, or containers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If monolithic applications are decomposed into microservices, then scalability and resource allocation improve, but system complexity and deployment difficulty increase

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the monolithic application into multiple independent microservices based on domain-driven design principles. Each microservice is extracted as a separate deployable unit with its own codebase, database, and deployment lifecycle, enabling independent scaling and resource allocation while reducing overall system complexity through modularization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary service mesh or API gateway that mediates communication between microservices. This intermediary layer handles service discovery, load balancing, and inter-service communication protocols, simplifying the complexity of microservice orchestration while maintaining scalability benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If manual extraction and deployment of microservices is performed, then deployment control is maintained, but engineering costs and time consumption increase

Engineering Contradiction:
Improvedeployment controlVSAvoidengineering efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements self-service through automated microservice extraction and deployment systems that use domain-driven design analysis to automatically identify service boundaries, generate deployment configurations, and orchestrate extraction processes. This automation maintains deployment control through policy-based management while dramatically reducing engineering time and costs by eliminating manual intervention in routine extraction tasks.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies preliminary action by performing domain-driven design analysis and service boundary identification before the actual extraction process. This preliminary phase automatically generates extraction blueprints, dependency maps, and deployment manifests, enabling controlled and efficient microservice extraction without manual trial-and-error processes.

Inventive Principle:
Principle #10Preliminary action

3Ease of repair

If domain-driven design constraints are enforced during microservice extraction, then service independence and maintainability improve, but extraction process complexity increases

Engineering Contradiction:
ImprovemaintainabilityVSAvoidextraction process complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by transforming domain-driven design conceptual models into concrete extraction parameters such as service boundaries, dependency thresholds, and deployment configurations. This parameter transformation automates the enforcement of domain-driven design constraints during extraction, improving service independence while managing process complexity through systematic parameter management rather than manual constraint application.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11593103B1Anti-pattern detection in extraction and deployment of a microservice
Publication Date: 2023.02.28 AMAZON TECH INC
  • US11593103B1 patent drawing
  • US11593103B1 patent drawing
  • US11593103B1 patent drawing

AI summary

Disclosed are various embodiments for anti-pattern detection in extraction and deployment of a microservice. A software modernization service is executed to analyze a computing application to identify various applications. When one or more of the application components are specified to be extracted as an independently deployable subunit, anti-patterns associated with deployment of the independently deployable subunit are determined prior to extraction. Anti-patterns may include increases in execution time, bandwidth, network latency, central processing unit (CPU) usage, and memory usage among other anti-patterns. The independently deployable subunit is selectively deployed separate from the computing application based on the identified anti-patterns.