Remote Workers for Heterogeneous IaC Runtime Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud automation tools face challenges in managing diverse IaC runtimes and version control systems across multiple customer environments, requiring customer credentials, which poses security risks and management complexities.
Innovation Solution
A cloud automation service executes externally, utilizing remote workers within the customer environment to manage IaC runtimes and access version control systems without needing customer credentials, supporting various runtime types and versions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the cloud automation service installs and configures multiple IaC runtimes and versions, then it can support diverse customer environments, but the device complexity and maintenance burden increase significantly
Solution Approach 1:
The system segments the automation architecture into two parts: a lightweight cloud automation service that sends task definitions, and remote worker instances that execute the actual IaC runtimes. This segmentation allows the cloud service to remain simple while supporting multiple runtimes through distributed workers.
Solution Approach 2:
The remote workers are self-configured with specific IaC runtime versions and capabilities. Each worker independently manages its own runtime environment, eliminating the need for the central cloud service to install and maintain multiple runtime versions.
2Ease of operation
If the cloud automation service accesses version control systems in customer environments, then it can retrieve IaC scripts, but it requires customer credentials which creates security risks
Solution Approach 1:
The remote worker acts as an intermediary between the cloud automation service and the customer's version control system. The worker retrieves scripts using locally stored credentials without exposing them to the cloud service, and relays only the necessary task information back.
Solution Approach 2:
The credentials are extracted from the cloud automation service and placed locally in the customer environment within the remote worker. This extraction eliminates the security risk of credential exposure while maintaining access functionality.
3Extent of automation
If the cloud automation tool executes as a cloud service, then it provides centralized management, but it cannot access on-premises version control systems without credentials
Solution Approach 1:
The system separates the centralized task management function (cloud service) from the local execution function (remote workers). This allows the cloud service to maintain centralized control while workers handle local access to various version control system deployments.
Solution Approach 2:
Remote workers serve as intermediaries that bridge the cloud service and on-premises version control systems. They handle the complexity of accessing different VCS deployments locally while presenting a unified interface to the cloud service.
4Productivity
If customer credentials are shared with the cloud automation service, then it can manage infrastructure, but the risk of credential compromise across multiple customers increases
Solution Approach 1:
The remote worker acts as a credential-protecting intermediary that enables infrastructure management without exposing credentials to the cloud service. Credentials remain confined to individual customer environments, isolating them from multi-tenant risks.
Solution Approach 2:
The system segments credential storage and usage to individual customer environments through remote workers. This segmentation ensures that credential compromise in one customer environment cannot affect other customers, enhancing security and audit compliance.
Data Source
Figure 1
Figure 2~6
Figure 3
AI summary
An example method of managing infrastructure in a cloud includes: receiving, at a remote worker from a cloud automation service, a task to be executed for managing the infrastructure, the remote worker executing in a customer environment that includes the infrastructure, the remote worker having a runtime, the cloud automation service executing external to the customer environment; retrieving, using first credentials obtained by the runtime from the customer environment, source code from a version control system executing in the customer environment; and executing, by the runtime, the source code to manage the infrastructure in the customer environment according to the task.