Customer-Created Application Cloud VM Scaling by Workload Type
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Customer-created applications, such as those developed using Microsoft Power Automate, are difficult to migrate to cloud-based resources due to their reliance on specific hardware and software configurations, leading to labor-intensive and costly manual configuration processes, especially when workload demands vary seasonally.
Innovation Solution
A system that auto-configures and auto-scales groups of virtual machines to execute customer-created applications on cloud resources, dynamically provisioning and de-provisioning machines based on workload demands and type, while maintaining customer-specific hardware and software configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If customer-created applications are migrated to cloud-based resources, then convenience and cost savings are improved, but the complexity of configuration increases due to reliance on specific hardware and software settings
Solution Approach 1:
The system captures the customer's existing runtime environment configuration (hardware and software settings) as a template or image, then copies this configuration to cloud-based virtual machines. This allows customer-created applications to run in the cloud with identical settings to their original environment, eliminating the need for manual reconfiguration and preserving ease of migration while handling complexity in the background.
Solution Approach 2:
The system performs preliminary configuration actions by automatically provisioning virtual machines with the correct hardware and software settings before the customer needs to use them. By pre-configuring the cloud environment to match the customer's specific requirements, the system eliminates the need for complex manual setup during migration, resolving the contradiction between ease of migration and configuration complexity.
2Reliability
If manual configuration processes are used for customer-created applications, then specific hardware and software requirements are met, but labor intensity and costs increase
Solution Approach 1:
The system enables self-service automation where the cloud platform automatically detects, captures, and applies the customer's runtime environment configuration without requiring manual intervention. The system serves itself by provisioning virtual machines with the correct settings automatically, ensuring configuration accuracy is maintained while eliminating labor-intensive manual processes and improving productivity.
Solution Approach 2:
The system replaces manual mechanical configuration processes with automated software-based provisioning. Instead of technicians manually configuring each virtual machine to match customer requirements, the system uses automated tools to capture the runtime environment and apply it programmatically, maintaining configuration accuracy while dramatically improving labor efficiency and reducing costs.
3Ease of operation
If fixed number of virtual machines are provisioned, then resource allocation is simple, but the ability to handle seasonal workload variations is reduced
Solution Approach 1:
The system transitions from static, fixed virtual machine provisioning to dynamic, flexible resource allocation. Virtual machines are automatically provisioned or de-provisioned based on real-time workload demands and seasonal variations. This dynamic approach maintains ease of operation through automated management while significantly improving adaptability to changing workload requirements, allowing the system to scale resources up or down as needed without manual intervention.
Data Source
AI summary
A method for configuring virtual machines to support workloads performed by customer-created applications includes provisioning a first and second subsets of virtual machines (VMs) in a customer VM group based on a first and second customer-specified VM images. Workloads of a first type are allocated to select VMs in the first subset of VMs and workloads of a second type are allocated to select VMs of the second subset of VMs. In response to detecting a shift in a ratio of a number of queued workloads of the first type and of the second type, a select number of VMs are de-provisioned from the first subset of the customer VM group and the select number of VMs re provisioned, based on the second VM image, for addition to the second subset of the customer VM group.


