Automatic Software Environment Provisioning via Template Instantiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of developing and implementing code changes in computing systems is inefficient due to the need for extensive testing, documentation, and capital expenses associated with hardware upgrades, which can be mitigated by leveraging cloud computing services but requires a more streamlined approach for resource provisioning and solution development.

Innovation Solution

The Liquid Intelligent Solution Automation (LISA) application provides an automatic environment provisioning system that allows users to create a cloud-based environment with the necessary resources for code generation, testing, and deployment, using a pipeline that automates the provisioning process based on user input, integrating with various assessment tools and AI for resource estimation and compliance recommendations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual provisioning of development environments is performed, then resource configuration can be customized and controlled, but the time and effort required for setup increases significantly

Engineering Contradiction:
Improveease of environment setupVSAvoidtime for provisioning
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-configuring environment templates with common development tools, dependencies, and configurations. When a user requests an environment, the system selects and instantiates a pre-prepared template rather than building from scratch, dramatically reducing provisioning time while maintaining customization through template selection and parameter adjustment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The automated provisioning system enables self-service by allowing users to independently request and configure development environments through a portal without requiring manual intervention from system administrators. The system automatically allocates resources, installs software, and configures settings based on user specifications, empowering users to provision environments on-demand.

Inventive Principle:
Principle #25Self-service

2Ease of manufacture

If cloud computing services are used to reduce capital expenses, then hardware upgrade costs decrease, but the complexity of resource provisioning and management increases

Engineering Contradiction:
Improvecost of hardware upgradesVSAvoidcomplexity of resource provisioning
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system introduces an intermediary automated provisioning layer between the user and the complex cloud infrastructure. This intermediary handles resource allocation, software installation, configuration management, and environment deployment automatically, shielding users from the underlying complexity while enabling efficient cloud resource utilization and reducing hardware capital expenses.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The provisioning system provides universal, multi-functional capabilities that handle diverse environment requirements through a unified interface. It can simultaneously provision different types of development environments (full-stack, mobile, AI/ML, etc.), manage various cloud resources, and perform multiple operations (deployment, scaling, updates) through a single automated system, reducing complexity despite the diverse cloud services involved.

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

3Reliability

If comprehensive testing and documentation processes are implemented, then code quality and reliability improve, but the development cycle time increases

Engineering Contradiction:
Improvecode qualityVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements continuous integration and automated testing pipelines that run continuously alongside development activities rather than as separate batch processes. Code changes are automatically tested, validated, and documented in real-time, maintaining continuous quality assurance without interrupting the development flow, thus preserving both reliability and productivity.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system replaces manual testing and documentation processes with automated mechanical systems including CI/CD pipelines, automated test suites, and documentation generators. These automated systems perform quality assurance tasks without human intervention, eliminating the time penalty associated with manual processes while maintaining or improving code quality and reliability through consistent, repeatable testing protocols.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10587464B2Automatic provisioning of a software development environment
Publication Date: 2020.03.10 ACCENTURE GLOBAL SOLUTIONS LTD
  • US10587464B2 patent drawing
  • US10587464B2 patent drawing
  • US10587464B2 patent drawing

AI summary

An automatic environment provisioning system receives a user request for auto provisioning of a development environment and automatically creates an environment per the user's request on a cloud platform. The user's request includes a selection of a technology platform on which to create the environment in addition to other system requirements. The user's input for generating the environment including the selection of a technology platform is employed for generating a template. The template can reference individual identifiers of various images corresponding to the software resources associated with the user's selected technology platform. The template enables instantiating the images with identifiers associated with the user-selected technology platform in order to enable creating the auto-provisioned environment. One or more users can be provided access to the auto-provisioned environment to of develop, test and/or implement the solution.