Enterprise cloud migration often feels less like a strategic leap and more like a grueling war of attrition. For teams managing portfolios of hundreds of applications, the bottleneck is rarely the high-level strategy but the crushing weight of Infrastructure as Code (IaC) development. Engineers find themselves trapped in a linear cycle where every new workload requires weeks of manual discovery and repetitive coding, turning a digital transformation project into a calendar-stretching liability. When the deadline is a hard fiscal year-end, the traditional approach of hand-writing Terraform or CloudFormation templates for every single app becomes the primary point of failure.
The Architecture of Automated Migration
To break this linear dependency, AWS Professional Services implemented a multi-agent framework combining the Strands Agents SDK with Amazon Bedrock AgentCore. The scale of the challenge was significant: a portfolio of over 300 applications where the manual process of writing infrastructure code typically consumed three to four weeks per application. By deploying this framework, the team reduced that specific development window from weeks to mere minutes, a result verified by internal project tracking data.
At its core, the system relies on a specialized division of labor across four distinct AI agents: Intake, IaC, Deployment, and Ops. These agents do not operate in isolation but are interconnected via the Model Context Protocol (MCP). MCP serves as a standardized communication interface that transforms existing technical assets, such as AWS Lambda functions or external APIs, into tools that an agent can invoke without needing to parse complex API specifications manually. This abstraction allows the agents to control external functions through a uniform protocol, ensuring that the underlying service implementation can change without requiring a rewrite of the agent's logic.
Connecting these agents to the actual AWS environment is the AgentCore Gateway. The gateway acts as the translation layer, receiving tool-call requests from an agent and converting them into actual API calls. To ensure this power does not lead to catastrophic errors, AgentCore Identity manages security through IAM roles and identity providers. Each agent operates under the principle of least privilege, meaning it can only access the specific MCP tools assigned to its role. Furthermore, the system employs a runtime boundary that blocks any input not matching the defined schema, preventing agents from attempting unauthorized API calls or compromising the infrastructure.
State management is handled by AgentCore Memory, a centralized repository for session states and shared context. For example, when the Intake agent extracts deployment scopes and compliance constraints from a steering document, it stores this data in AgentCore Memory. The IaC agent then retrieves this context to ensure the generated code adheres to the specific requirements of that application. The entire lifecycle is managed by the AgentCore runtime, which handles session isolation and scaling across the migration journey. Technical implementations of these concepts are available in the Amazon Bedrock AgentCore samples and Strands Agents samples repositories.
From Manual Coding to Architectural Review
The shift from manual IaC writing to an agentic workflow represents a fundamental change in the engineer's role. The process is now a five-stage automated pipeline that removes human variance from the equation. It begins with the automatic extraction of deployment scopes, compliance constraints, and security overrides from steering documents. The Intake agent then interprets target architecture diagrams, converting visual or descriptive requirements into structured data.
In the third stage, the IaC agent generates code based on pre-defined organizational patterns. Rather than inventing a new structure for every app, the agent fills in parameters for the specific deployment wave while automatically adding remote state management, mandatory tagging, and standard monitoring configurations. This ensures that the resulting infrastructure is not only fast to deploy but consistent across the entire 300-app portfolio.
The critical safety mechanism occurs in the fourth stage, where Policy in AgentCore utilizes the Cedar policy language to validate tool calls. The system calculates the potential scope of change and checks for dependency conflicts between different deployment waves or compliance expiration dates. By using Cedar for automated validation, the framework blocks security violations and infrastructure collisions before a single line of code is actually executed in the cloud environment.
The final stage involves triggering the IaC via a central execution plane and monitoring the results through AgentCore Observability. This provides full visibility into which resources were created and where errors occurred, turning the deployment process into a transparent, traceable event. This transition transforms the engineer from a coder into a reviewer. Instead of spending weeks writing boilerplate, the developer now spends minutes verifying the architectural integrity of the agent's output.
This efficiency extends into the post-migration phase through the Ops agent. Traditionally, operational issues are handled reactively, with engineers intervening only after a performance drop is detected. The Ops agent changes this by monitoring performance in real-time and executing automated remediation steps to correct system states. This reduces the operational burden on human staff and increases overall service availability by shifting from a reactive to a self-healing posture.
For organizations considering this approach, the utility of AgentCore scales with the size of the portfolio. The framework provides maximum value when managing more than 100 applications and when standardized IaC patterns already exist. Without these patterns, an LLM may generate inconsistent configurations that undermine the goal of standardization. The prerequisite for success is not just the tool, but the existence of documented infrastructure standards and Cedar policies that the agent can reference.
Security is maintained by ensuring that the Cedar-based policy validation step is mandatory before any agent-generated code reaches a live environment. By combining this with Bedrock Guardrails to filter security vulnerabilities in the generated code, enterprises can mitigate the risks associated with AI-driven infrastructure management. The use of the AgentCore runtime's serverless environment further ensures that project contexts remain isolated, preventing data leakage between different application migrations.
The true value of AgentCore lies not in the AI's ability to write code, but in its capacity to enforce organizational standards at a scale humans cannot manage.




