For AWS users
If you are experienced with Amazon Web Services (AWS), this guide translates key AWS concepts and product vocabulary into Crusoe AI Platform terminology. It highlights common operational patterns, explains structural differences, and provides a clear migration map for your workloads.
Vocabulary Translation
| AWS Service / Concept | Crusoe AI Platform | Key Distinctions |
|---|---|---|
| AWS Account + AWS Organizations | Organization + Projects | A project provides complete resource, network, quota, and audit isolation. |
| IAM User | User Account | Authenticate via email/password or invitation links managed by project administrators. See Create an Account. |
| IAM Policy JSON | Project Role: admin or member | Direct role-based access control (admin or member) without writing complex JSON policy documents. |
Access Key (AKIA...) | API Key (cai_<keyid>_<secret>) | Shown once upon creation, instantly revocable, with optional expiration. See API Keys. |
| IAM Role for Workloads | Service Account | Project-scoped machine identity (name@<project-short>.cai.local) used for automated deployments and workloads. |
| AWS CloudTrail | Project Audit Log | Always-on management audit logging for all state changes, viewable by all project members. |
| AWS Service Quotas | Project Quotas | Real-time visibility into CPU, memory, instances, and service usage against assigned project limits. |
| AWS Lambda | Function | Event-driven serverless functions supporting Python, Node.js, Go, and Ruby runtimes. |
Lambda Handler lambda_handler(event, context) | def handle(event) in handler.py | Direct function entrypoint receiving a parsed JSON request body and returning a structured response dict. |
| S3 Event Notification to Lambda | ObjectStore trigger | Not an event record. The trigger polls the bucket (poll_seconds, default 60) and POSTs the object's own bytes; there is no Records array and the object key is not delivered. Your handler needs no S3 client. after_read (move, delete, or none) is required — there is no default. |
| Amazon API Gateway / Function URL | Gateway endpoint, published on demand | Every workload has a canonical address (https://<name>-<project-short>.apps.codyhill.dev), but it is cluster-local until you publish it: platformctl gateway publish function/<name> --auth none. See Publish an Endpoint. |
| Lambda Cold Start | Scale-to-Zero Cold Start | Scale-to-zero compute model where idle resources pause and wake automatically upon incoming requests. See Autoscaling. |
| AWS App Runner / AWS Fargate / ECS | Serverless Service | Single-command container deployment with scale-to-zero HTTPS endpoints out of the box. |
| Amazon Bedrock Agents / AgentCore | Agents | Serverless AI agent execution for ADK, LangGraph, or CrewAI code with built-in state management. |
| Bedrock Action Group | Python Tool Function | Define agent tools directly as native Python functions without writing OpenAPI schemas. Tool code runs in a one-use sandbox pod with an empty environment — no model key, no bound secrets, no platform URLs — and with internal networks (10/8, 172.16/12, 192.168/16, link-local) blocked; the public internet is reachable. A tool that must hold a credential or reach a platform or internal service belongs in an MCP server, which has both; the platform injects MCP_SERVERS and mcp_toolsets() picks it up. See Tools. |
| AgentCore Memory (Short-term) | Sessions | Native conversation history managed automatically by the platform and replayed to models per invocation. |
| AgentCore Memory / Knowledge Bases | Memory + VectorDB | Commit conversation context to long-term memory searchable by agents via native search_memory tools. |
| AgentCore Code Interpreter | Code Sandbox | Ephemeral, single-use container sandbox destroyed immediately after execution completes. |
| AgentCore Gateway | MCP Servers | Turnkey hosting for Python Model Context Protocol (MCP) tool endpoints with versioning and rollbacks. |
| Bedrock Guardrails | Tool Guardrails & Application Filters | Application-level content validation or agent tool guardrails configured directly within workload logic. |
| Amazon SNS / SQS / EventBridge | Pub/Sub | Single unified messaging service handling topic fan-out and queue subscriptions without multiple service configurations. |
| AWS Step Functions | Pub/Sub Chains / Agent Tool Orchestration | Multi-step workflows orchestrated via Pub/Sub messaging chains or AI agent tool sequences. |
| AWS Secrets Manager | Secrets Manager | Project-scoped, write-only secret values injected directly as workload environment variables. |
| Amazon ElastiCache / MemoryDB | MemoryStore | Managed key-value store using standard Redis wire protocol, fully compatible with existing Redis clients. |
| Amazon OpenSearch Vector Engine | VectorDB | Dedicated high-performance vector database using HNSW indexing and payload filtering. |
| Amazon CloudWatch Logs | Logs | Real-time log streaming with 14-day persistent history surviving container scaling. |
| AWS CLI | platformctl | Unified CLI binary for managing agents, functions, container services, messaging, and secrets. See Install CLI. |
Key Similarities
- Scale-to-Zero Serverless Execution: Workloads scale down to zero when idle and automatically resume upon receiving requests, sharing the same mental model as AWS Lambda and Fargate scale-to-zero rules.
- Structured Handler Contracts: Writing
def handle(event)receiving and returning dictionary objects mirrors the familiar AWS Lambda handler lifecycle. - Machine Authentication via Bearer Tokens: CI/CD pipelines use service account API keys in place of AWS IAM Access Keys for secure, scoped deployment access.
- Comprehensive Audit Tracking: All management operations land directly in the project audit log, providing instant operational visibility similar to AWS CloudTrail.
Architectural Distinctions
Platform Streamlining
- One-Command Publishing: Workloads are private when they land, and going public is a single command with an explicit auth choice (
platformctl gateway publish function/hello-http --auth none) — no gateway to provision, no routes or stages to author, no certificate to request. - Simplified Access Control: Two clear project roles (
adminandmember) replace complex, multi-statement IAM JSON policies while maintaining strict project boundaries. - Unified Agent Deployment: A single, clean deployment path for ADK, LangGraph, and CrewAI frameworks eliminates multi-product agent fragmentation.
- Transparent Quotas: Project capacity is governed by clear, real-time resource quotas visible in the console, eliminating hidden multi-tier billing SKUs.
AWS Migration Considerations
- Single-Region High Efficiency: Compute resources operate in high-density, low-latency environments designed for maximum execution speed without multi-region routing complexity.
- Workflow Orchestration: Multi-step processes utilize Pub/Sub event chains or AI agent tool sequences to maintain state across execution steps.
- Secret Lifecycle: Rotating a secret creates a new version but does not touch running workloads — a revision is an immutable snapshot, so the running one keeps its old environment. Run
platformctl secrets bindings apply <workload>(orPOST /v1/projects/{id}/agents/{agent}/secret-maps:apply) to write the current version onto the workload and roll a new revision.
Hands-On: Deploy a Function Like an AWS Lambda
Deploying a function takes a single command. With platformctl installed and authenticated:
mkdir hello-http
cat > hello-http/handler.py <<'EOF'
def handle(event):
return {"echo": event.get("message", "hello")}
EOF
platformctl functions deploy ./hello-http --name hello-http
The function lands private, and the deploy says so on its last line:
hello-http is ready (private). Publish it to serve on https://hello-http-ab12cd.apps.codyhill.dev
platformctl invoke reaches it right away, but it prints the output key an agent returns — and a function's return value has no output key, so the first line comes back empty:
platformctl invoke hello-http "ping"
(session: 3f6c1f0e-9c1c-4f1a-8f2e-2a0d5f6b7c81)
To see what the handler actually returned, publish the function and call its address:
platformctl gateway publish function/hello-http --auth none
export FUNC_URL=https://hello-http-ab12cd.apps.codyhill.dev
curl -s "$FUNC_URL" -H 'content-type: application/json' -d '{"message":"ping"}'
{"echo": "ping"}
No IAM roles to assemble and no execution triggers to configure — one publish command stands in for the API Gateway, its routes, and its certificate. See the full Function Quickstart.
Workload Migration Guide
| AWS Workload | Crusoe AI Platform Destination |
|---|---|
| AWS Lambda Function | Function Quickstart and Runtimes |
| Amazon Bedrock Agent / AgentCore App | Agent Quickstart and Agent Deployment |
| Knowledge Base / RAG Pipeline | VectorDB Quickstart and RAG Chatbot Tutorial |
| S3 Event Notification to Lambda | ObjectStore Triggers |
| SNS / SQS / EventBridge Messaging | Pub/Sub Quickstart and Publish & Consume |
| Step Functions State Machine | Pub/Sub Event Chains or Agent Tool Pipelines |
| AWS Secrets Manager Secrets | Manage Secrets and Use Secrets in Workloads |
| Amazon ElastiCache / MemoryDB | MemoryStore Quickstart |
| IAM Users, Roles & CI Credentials | Projects & Access and CI/CD Service Accounts |
Next Steps
- Review the side-by-side Service Mapping across all providers.
- Read the GCP Migration Guide and Azure Migration Guide.
- Explore core concepts in Core Concepts.