Overview
Migrating from RunPod to SaladCloud is a straightforward process that preserves your existing development workflow while removing much of the manual infrastructure management you’re used to handling yourself. If you’re currently spinning up pods, SSH-ing into instances, manually installing dependencies and running your code on RunPod, you’ll find that SaladCloud supports the same familiar patterns — your Python code, ML frameworks, and data processing pipelines all run unchanged. What Stays Exactly the Same:- Your application code, models, and algorithms remain unchanged
- Same Python libraries, PyTorch/TensorFlow frameworks, and CUDA operations
- Identical API endpoints, inference workflows, and model training patterns
- Same debugging approach — but now with browser-based tools instead of SSH
- Your local development and testing process
- Automated provisioning and scaling
- Built-in CUDA and framework setup
- Global load balancing and automatic failover
- Savings of up to 90% compared to traditional GPU cloud providers
💡 New to containerization? Check out our comprehensive getting started guide for a step-by-step introduction to deploying on SaladCloud, or explore our architectural overview to understand how SaladCloud’s distributed GPU network works.Think of containerization as creating a “recipe” for the manual setup you already do on RunPod—instead of SSH-ing in and running
pip install
commands each time, you write those same commands once in a Dockerfile, Docker builds an immutable
image with everything pre-installed, and that same image runs consistently across all instances. Most developers find
this eliminates their biggest frustrations with manual instance management while keeping everything else familiar.
Why Containerization Has Become the Industry Standard
Containerization has emerged as the de facto deployment standard across the technology industry for compelling reasons that directly benefit developers and organizations. Containers provide consistency across environments by packaging applications with all their dependencies, eliminating the “it works on my machine” problem that has plagued software deployment for decades. This consistency extends from development laptops to production clusters, ensuring predictable behavior regardless of the underlying infrastructure. The portability offered by containers is transformative—applications become truly platform-agnostic, running identically on any system that supports container runtimes. This portability reduces vendor lock-in and enables organizations to migrate workloads between cloud providers, on-premises infrastructure, or hybrid environments without code changes. Additionally, containers enable efficient resource utilization through consistent packaging and deployment, while SaladCloud’s architecture ensures each container gets dedicated access to full GPU resources on individual nodes. Perhaps most importantly, containers have revolutionized deployment velocity and reliability. Teams can package, test, and deploy applications in minutes rather than hours, while container orchestration platforms provide automatic scaling, health monitoring, and self-healing capabilities. This operational efficiency has made containerization essential for modern DevOps practices and continuous delivery pipelines. On SaladCloud, each container runs on a dedicated GPU node, ensuring your application has exclusive access to the full GPU resources without sharing with other workloads. This dedicated approach maximizes performance while maintaining the portability and consistency benefits of containerization.Product Comparison: RunPod vs. SaladCloud
RunPod offers four primary products. Each has a clear equivalent or migration strategy on SaladCloud:RunPod Products | SaladCloud Alternative | Key Specs |
---|---|---|
Cloud GPUs | Container GPU Deployments | Container-first model, distributed consumer GPUs |
Instant Clusters | SaladCloud Secure (soon) | Datacenter GPUs (A100/L40), multi-GPU nodes |
Serverless | Containers + SDK/API | Container lifecycle managed via SDK/API/Job Queue |
Hub | SaladCloud Recipes | Salad native, one-click deploy solutions |
1. RunPod Cloud GPUs → SaladCloud GPU Containers
RunPod Cloud GPUs:- Single-node GPU pods
- Manual environment setup (via SSH or scripts)
- Consumer grade and datacenter GPUs
- Containerized apps running on distributed GPUs
- No SSH to start — prebuilt containers with automated orchestration. Terminal available post deployment.
- Consumer grade and datacenter GPUs coming now
- Integrated failover, and monitoring
- Significant Cost savings
- Build a full Docker image with dependencies baked in
- Bind apps to
::
for IPv6 compatibility - Use
sleep infinity
ortail -f /dev/null
for development/testing of containers
2. RunPod Serverless → SaladCloud Endpoints with Container Gateway (or Job Queues)
RunPod Serverless:- Serverless compute with fast cold start times (typically around 1 second)
- Scales from zero of workers automatically based on demand
- Workers spin up and down automatically
- Endpoint URL triggers workers
- Use Container Gateway to expose your container as an HTTP API endpoint
- Scale replicas dynamically via Salad API, portal, or sdk
- Containers don’t automatically scale to zero, but can be scaled up/down or stopped
- Can also be combined with job queues (Salad Job Queue, Redis, or SQS).
- Autoscaling can be setup if using Salad Job Queue to automatically scale based on queue length.
⚠️ Cold Start Trade-off: SaladCloud containers have significantly slower cold start times than RunPod Serverless (typically several minutes, but can take up to tens of minutes depending on image size and individual node network conditions). This is the trade-off for SaladCloud’s cost savings and distributed architecture. Consider keeping minimum replicas running for latency-sensitive applications or using job queues for batch workloads where cold start time is less critical.Migration Tips:
- Convert your handler-based function into a web API (e.g., FastAPI or Flask) exposed via Container Gateway
- Bind to
::
(IPv6) instead of0.0.0.0
for external access - Use the Salad SDK or API to dynamically adjust replicas based on request volume
- For batch-heavy use cases, add a queue for job buffering and scale consumers separately.
- Enable Autoscaling for SaladJob Queue to automatically scale based on queue length.
3. RunPod Hub → SaladCloud Recipes
RunPod Hub:- Pre-built templates with one-click deployments
- Pre-built templates with one-click deployments
- Open-source, GitHub-based templates
- Easy for teams to fork, modify, and deploy
- Community-driven sharing and collaboration
4. RunPod Instant Clusters → SaladCloud Secure
RunPod Instant Clusters:- Multi-node GPU clusters
- Fast interconnect for distributed workloads
- Datacenter-class nodes with 8 GPUs each
- Secure networking and high-bandwidth interconnects
- Ideal for distributed training and multi-GPU inference
Key Platform Differences
RunPod Architecture
- Individual GPU pods/instances with SSH access (Cloud GPUs)
- Function-based handlers (Serverless)
- Template-based deployments (Hub)
- Multi-node clusters with high-speed interconnects (Instant Clusters)
SaladCloud Architecture
- Containerized applications with automatic orchestration
- Distributed network of consumer GPUs with built-in redundancy
- Container-based deployment with health monitoring and automatic failover
- Global load balancing across 11,000+ active GPUs
Migration Requirements
What You’re Already Doing (Made Easier)
The “requirements” below are actually improvements to processes you’re already handling manually on RunPod. Rather than learning entirely new concepts, you’re automating existing workflows with better consistency and reliability.-
Containerization replaces manual dependency installation on each instance. Instead of SSH-ing in and running the
same
pip install
commands repeatedly, you write them once in a Dockerfile, Docker builds the dependencies into an immutable image, and that image runs consistently across all instances. - Storage Strategy shifts from local file management to cloud-based storage patterns. While cloud APIs provide more reliable data persistence than manually copying files between instances, this transition requires rethinking data workflows. You’ll need to consider upload/download costs, latency impacts, and potential network reliability issues that weren’t factors with local storage on RunPod.
- Network Architecture replaces managing multiple ports and SSH tunneling. You get a single port with automatic load balancing instead of manually configuring port forwarding and access rules.
- AMD64 Architecture is what you’re already using on most RunPod instances, so this requires no change to your existing applications.
Technical Implementation (Familiar Concepts)
These constraints map directly to what you’re already working with, just more consistently managed:- Container Images: 35GB limit (larger than most RunPod instance setups)
- Storage: Cloud-based (eliminates instance storage limitations) - see our storage options documentation for temporary file storage, or use S3-compatible services for persistent data
- Networking: IPv6 support (replace
0.0.0.0
with::
in your bind address) - Debugging: Web terminal and portal logs (more convenient than SSH key management)
📘 Container Registry Options: SaladCloud supports all major container registries. See our guides for Docker Hub, AWS ECR, Azure ACR, and Google Artifact Registry.
Cold Start Considerations: Setting Realistic Expectations
Understanding Cold Start Trade-offs One of the most important differences between RunPod and SaladCloud involves cold start behavior. We want to be transparent about this trade-off: RunPod Serverless Cold Starts:- Typically around 1 second
- Optimized for rapid scaling from zero
- Much higher per-minute costs when running
- Typically several minutes, but can take up to tens of minutes in worst-case scenarios
- Depends heavily on container image size, node availability, and network conditions on individual nodes
- Significantly lower per-minute costs (up to 90% savings)
- Network Variability: Individual consumer nodes may have varying network speeds, which can significantly impact image pull times for large containers
- Container Size Impact: Large container images (multi-GB) can take tens of minutes to download on slower consumer network connections
- Keep Minimum Replicas Running: For latency-sensitive applications, maintain 1-2 replicas to ensure immediate availability
- Use Job Queues: For batch processing, cold start time is often acceptable since jobs are queued and processed asynchronously
- Optimize Container Images: Smaller images start faster - use multi-stage builds and minimal base images. This is critical on SaladCloud since large images can take tens of minutes to download on slower consumer connections
- Pre-warm for Events: Scale up replicas before expected traffic spikes
- Consider Hybrid Patterns: Use RunPod Serverless for ultra-low latency needs and SaladCloud for cost-effective sustained workloads
- Batch processing workloads where delays of several minutes to tens of minutes are acceptable
- Long-running inference tasks that amortize startup time over hours or days of execution
- Development and testing environments where cost savings outweigh speed
- Applications with predictable traffic patterns where you can pre-scale
- Background data processing jobs where immediate response isn’t required
- Real-time APIs requiring sub-second response times with unpredictable traffic
- Systems where startup delays could impact user experience
💡 Cost vs. Speed Decision: The choice between RunPod Serverless and SaladCloud often comes down to whether you prioritize startup speed (RunPod) or cost efficiency (SaladCloud).
Before You Begin: Key Differences & Tips for Migrating from RunPod
Migrating from RunPod to SaladCloud is straightforward, but there are fundamental platform differences you should understand first. These tips apply to all workloads (Pods or Serverless) you’re migrating.What is a Container? (And Why You Need It)
On RunPod, you might:- Spin up a Pod
- SSH into the node
- Install dependencies manually
- Run your Python script directly
- A container is like a “recipe” for your application environment.
- It includes your OS base, dependencies, frameworks (PyTorch, CUDA), and your app.
- Once built, it runs identically across thousands of Salad nodes without manual setup.
- ✅ CUDA drivers pre-installed and configured
- ✅ cuDNN libraries properly linked
- ✅ Framework-specific optimizations
- ✅ Compatible Python environments
- ✅ All dependencies tested together
⚡ GPU Compatibility: SaladCloud guarantees support for CUDA Toolkit 12.0 and later. For the latest RTX 5090/5080 GPUs, see our PyTorch RTX 5090 guide for CUDA 12.8 requirements. Check our high-performance applications guide for GPU optimization tips.If you’ve never built one, check our Quickstart Container Guide.
IPv6-Only Networking on SaladCloud
Unlike RunPod (IPv4), SaladCloud requires your application to bind to IPv6 addresses internally. However, users access your application through normal HTTPS URLs that SaladCloud provides via Container Gateway. To ensure your app works:- Your application must bind to
::
(IPv6) when starting your server internally - Users access your app via regular HTTPS URLs like
https://your-app-xyz.salad.cloud
- SaladCloud’s Container Gateway automatically maps the HTTPS URL to your configured port
-
Test locally with IPv6:
-
In production, your container will be reachable at a normal HTTPS URL (e.g.,
https://your-app-xyz.salad.cloud
) that Container Gateway maps to your configured port.
No Mountable Persistent Storage (Use External Cloud Storage)
RunPod allows mounting volumes directly into Pods. SaladCloud does not support local volume mounts — all container filesystems are ephemeral. Instead, use:- Salad S4 (temporary storage for files up to 100MB, auto-deleted after 30 days)
- Any S3-compatible storage (AWS S3, Cloudflare R2, Azure Storage, etc.)
- Latency Impact: Network calls to cloud storage are slower than local file access. Consider caching frequently accessed data locally during processing.
- Bandwidth Costs: Large model downloads/uploads can be expensive. Evaluate if you need to transfer full datasets or can work with smaller chunks.
- Error Handling: Network operations can fail. Implement retry logic and graceful degradation for storage operations.
- Concurrent Access: Multiple container instances may access the same data. Consider read/write patterns and potential conflicts.
💾 Storage Best Practices: For temporary file storage up to 100MB, see our Simple Storage Service documentation. For production storage strategies, explore High Performance Storage Solutions to understand how to optimize data access patterns and minimize costs.
Containers Must Stay Alive
On RunPod, you can start empty Pods and run commands interactively. On SaladCloud, containers:- Start and immediately run the defined
CMD
orENTRYPOINT
. - Automatically exit when that process ends, unless kept alive.
Migration Process
All deployment and management tasks described in this guide can be accomplished through the intuitive SaladCloud web portal at portal.salad.com or programmatically via our REST API and SDKs (Python and TypeScript). The portal provides a visual interface perfect for getting started and one-off deployments, while the API and SDKs enable automation, CI/CD integration, and infrastructure-as-code workflows. You can seamlessly switch between approaches—deploy through the portal initially, then automate with the API as your needs grow.Phase 1: Assessment and Planning
Assessment and Planning- Catalog your current RunPod workloads by product type (Cloud GPUs, Serverless, Hub, Instant Clusters)
- Identify containerization requirements for each workload
- Set up SaladCloud account and API access
- Create Dockerfiles for your applications
- Build and test containers locally
- Push images to container registry
🔧 Containerization Resources: If you’re new to Docker, check out our Docker deployment tutorial for practical examples, or see specifying container commands for advanced startup configuration.
Phase 2: Deployment and Optimization
Initial Deployment- Deploy containers to SaladCloud (via portal or API)
- Configure Container Gateway and health probes
- Set up monitoring and logging
📊 Monitoring & Logging: For production workloads, consider setting up external logging with providers like Axiom (recommended), Datadog, or New Relic for advanced log analysis and retention.Testing and Optimization
- Validate performance and functionality
- Optimize resource allocation (containers have CPU/memory limits, not direct hardware allocation like VMs)
- Complete migration of remaining workloads
Step-by-Step Migration Process
Step 1: Prepare Your SaladCloud Environment
Account Setup- Create account at portal.salad.com
- Set up organization and project
- Add billing information and initial credits
- Generate API key for programmatic access
Step 2: Containerize Your Applications
Basic Containerization Pattern The Dockerfile below shows how straightforward containerization can be. Notice how it mirrors the same steps you’d typically perform on a RunPod instance:- Dependencies: The
pip install
line works exactly like on RunPod - File Structure: Your code organization remains the same
- Startup Command: The CMD line replaces what you’d type in your RunPod terminal
- Environment Variables: Still work the same way in containers
- No CUDA Setup: Skip the tedious CUDA/PyTorch installation process entirely
- Consistent Environments: Your exact environment runs identically across all nodes
- Version Control: Pin specific framework versions without compatibility issues
- IPv6 Ready: Use
::
instead of0.0.0.0
for Container Gateway compatibility
🤖 ML-Specific Examples: For machine learning workloads, explore our specialized deployment guides:
Step 3: Deploy Container Groups
Portal Deployment (Recommended for first deployment)- Navigate to your SaladCloud project
- Click “Create Container Group”
- Configure container settings:
- Image: Your container registry URL
- Replicas: Start with 2-3 for reliability
- Resources: CPU, RAM, and GPU requirements
- Container Gateway: Enable for external access
Step 4: Configure Health Monitoring
Health Probe Implementation- Startup Probe: Configure HTTP probe pointing to
/started
endpoint - Liveness Probe: Configure HTTP probe pointing to
/health
endpoint - Readiness Probe: Configure HTTP probe pointing to
/ready
endpoint
🏥 Health Monitoring Deep Dive: Explore specific probe types:Health Probe Configuration Health probes are configured through the SaladCloud API. Refer to the SaladCloud API documentation for the complete request structure including health probe configuration:
- Startup probes - verify container initialization
- Readiness probes - control traffic routing
- Liveness probes - detect and restart unhealthy containers
- Health probe in general - practical implementation patterns
Step 5: Set Up Monitoring and Logging
Application Logging📋 Logging Solutions: Choose from multiple external logging providers:
- Axiom (SaladCloud’s preferred provider)
- Datadog for comprehensive monitoring
- Splunk for enterprise environments
- HTTP endpoints for custom solutions
- TCP logging with secure transport
Migration Scenarios by RunPod Product
Scenario 1: RunPod Cloud GPU → SaladCloud Container
Before (RunPod Cloud GPU): SSH into pod, install dependencies, run Python script After (SaladCloud): Containerized application with health checks and automatic scaling Migration Steps:-
Containerize your setup process:
-
Add health endpoints:
- Deploy with Container Gateway for external access
Scenario 2: RunPod Serverless → SaladCloud Container Gateway + Job Queue
Before (RunPod Serverless): Handler function with automatic scaling and fast cold starts After (SaladCloud): Containerized web API with job queue for batch processing and slower but cost-effective scaling Migration Steps:-
Convert handler to web API:
-
Configure job queue for batch processing:
- Set up autoscaling based on queue depth
- Cold Start Impact: SaladCloud containers take several minutes to tens of minutes to start vs. RunPod’s ~1 second serverless scaling
- Cost vs. Speed Trade-off: Significantly lower per-minute costs but dramatically slower scaling response
- Mitigation Strategies: Keep minimum replicas running for latency-sensitive workloads, or use job queues where cold start delays are acceptable
Scenario 3: RunPod Hub Template → SaladCloud Recipe
Before (RunPod Hub): Use pre-built template, click deploy After (SaladCloud): Use SaladCloud Recipe or create custom deployment Migration Steps:-
Find equivalent SaladCloud Recipe:
- Browse SaladCloud Recipes
- Look for similar ML frameworks or applications
-
Customize if needed:
- Deploy through portal with one-click deployment
Scenario 4: RunPod Instant Cluster → SaladCloud Secure (Coming Soon)
Before (RunPod Instant Cluster): Multi-node GPU clusters with fast interconnects After (SaladCloud Secure): Datacenter-grade nodes with enterprise security Migration Strategy:- Current: Use multiple single-GPU containers for distributed workloads
- Future: Migrate to SaladCloud Secure when available for true multi-GPU nodes
- Pattern: Design applications to work across both architectures
Advanced Migration Patterns
Job Queue Integration for Former Serverless Users
If you’re migrating from RunPod Serverless, implementing job queues provides the closest equivalent experience: SaladCloud Job Queue Architecture:- Automatic retry on failures
- Load balancing across instances
- Queue-based autoscaling
- Asynchronous processing like serverless
📋 Job Queue Resources:
Multi-Service Application Migration
Before (RunPod): Multiple services on different ports After (SaladCloud): Single container with internal routing or multiple container groups Option 1: Internal Routing- Deploy each service as a separate container group
- Use Container Gateway for load balancing
- Services communicate via HTTP APIs
Storage Migration Strategies
Local Storage → Cloud StorageQuick Solutions for Common Migration Challenges
Challenge: RunPod Templates → SaladCloud Containers
Quick Fix: Convert template configuration to DockerfileChallenge: RunPod SSH Access → SaladCloud Debugging
Quick Fix: Use SaladCloud web terminal and comprehensive logging- Access web terminal through portal for interactive debugging
- Implement detailed logging for troubleshooting
- Use health probes to monitor application state
🛠️ Advanced Debugging: Explore additional troubleshooting resources:
- Troubleshooting guide for common issues
- Performance monitoring for optimization
- Interactive terminal for live debugging
Challenge: RunPod Volume Mounts → SaladCloud Storage
Quick Fix: Use cloud storage APIs for persistent dataChallenge: RunPod Serverless Scaling → SaladCloud Autoscaling
Quick Fix: Implement job queue with autoscalingPerformance Optimization Tips
Resource Allocation
- Start with 2-3 replicas for reliability
- Monitor resource usage and adjust CPU/memory as needed
- Use appropriate GPU classes for your workload
- CPU Limits: Your container gets guaranteed access up to the specified vCPU count, but performance characteristics may differ across node types
- Memory Limits: Hard limits enforced by the container runtime - exceeding these will terminate your container
- GPU Access: Each container gets exclusive access to the full GPU on its assigned node
- Storage: Container filesystem is ephemeral - data doesn’t persist between container restarts unless using external storage
Network Performance
- Enable Container Gateway for load balancing
- Implement proper health checks for automatic failover
- Use HTTPS for all external communications
🌐 Advanced Networking: For complex networking needs, explore:
- Container Gateway load balancing for traffic distribution
- Tailscale integration for private networks
- Real-time inference patterns for high-throughput applications
Cost Optimization
- Use priority pricing tiers based on availability needs
- Monitor usage through SaladCloud portal
- Scale replicas based on actual demand
- Consider scaling to zero for batch workloads with job queues
💰 Scaling Strategies: Optimize costs and performance with:
- Autoscaling configuration for dynamic replica management
- Job processing patterns for batch workloads
- Long-running task optimization for efficient resource usage
Testing Your Migration
Local Testing
SaladCloud Testing
- Deploy with 1-2 replicas initially
- Test Container Gateway connectivity
- Validate health probes are working
- Monitor logs for any issues
- Scale up once validated
Migration Checklist
Pre-Migration
For All RunPod Users
- Applications containerized and tested locally
- IPv6 compatibility verified (bind to
::
) - Health endpoints implemented
- Container images pushed to registry
- Storage dependencies identified and addressed
For RunPod Cloud GPU Users
- SSH-based setup converted to Dockerfile
- Manual dependency installation automated
- Local file operations converted to cloud storage
For RunPod Serverless Users
- Handler functions converted to web APIs
- Job queue pattern implemented (if needed)
- Autoscaling configuration planned
For RunPod Hub Users
- Equivalent SaladCloud Recipe identified or custom solution planned
- Template customizations documented
During Migration
- Container groups deployed successfully
- Container Gateway configured and tested (for web APIs)
- Job queues configured and tested (for batch processing)
- Health probes responding correctly
- Logs flowing to portal/external service
- Performance validated against RunPod baseline
Post-Migration
- Monitoring and alerting configured
- Cost optimization reviewed
- Autoscaling tested and tuned
- Team trained on new deployment process
- Documentation updated
- Rollback plan documented
Getting Help
SaladCloud Resources
- Documentation: docs.salad.com
- Portal: portal.salad.com
- API Reference: SaladCloud API Documentation
- Support: Contact cloud@salad.com
Migration Support
- Use SaladCloud’s web terminal for debugging
- Leverage portal logs for troubleshooting
- Configure external logging for advanced analysis
- Review health probes documentation for container lifecycle management
RunPod-Specific Migration Support
Former Cloud GPU Users: Former Serverless Users: Former Hub Users:What You’ll Gain
Migrating from RunPod to SaladCloud provides immediate benefits:- Cost Savings: Up to 90% reduction in compute costs compared to traditional cloud providers
- Global Scale: Access to 11,000+ active GPUs across 190+ countries
- Reliability: Automatic failover and load balancing across distributed nodes
- Simplicity: Managed container orchestration eliminates infrastructure management
- Flexibility: Per-second billing with no long-term commitments
- Performance: Dedicated GPU access on each node without sharing
- No more SSH key management or manual environment setup
- Automatic scaling instead of manual pod management
- Built-in load balancing and health monitoring
- More control over scaling behavior and resource allocation
- Better cost predictability with per-second billing
- Enhanced debugging and monitoring capabilities
- Open-source, forkable recipes instead of proprietary templates
- Greater customization flexibility
- Community-driven template sharing
- Longer cold start times (from a few to tens of minutes vs. RunPod’s ~1 second serverless scaling) but with significant cost advantages
- Global distribution for reduced latency once running
- Enterprise-grade security and compliance
Related Resources
Migration and Integration
- Vast.ai migration guide - Learn from migration patterns for VM-style infrastructure
- Kubernetes integration - For orchestration-aware workloads
- Platform integrations - Connect with external services
Specialized Deployment Guides
- Image generation with Stable Diffusion
- Triton Inference Server for multi-model serving
- Computer vision workloads
- High-performance applications optimization guide