Skip to main content
Deploy your agent to AWS, Azure or GCP with the same command — swap providers by name.

Quick Start

1

Deploy to a built-in provider

Deploy with the CLI — provider name selects the backend:
from praisonaiagents import Agent

agent = Agent(
    name="ProductionBot",
    instructions="You are a production assistant.",
)
praisonai deploy cloud --provider aws --file deploy.yaml
praisonai deploy doctor --provider azure
2

Register a custom cloud provider at runtime

Override or add a provider without a pip package:
from praisonai.deploy.providers._registry import CloudProviderRegistry
from praisonai.deploy.providers.base import BaseCloudProvider

class MyCloudProvider(BaseCloudProvider):
    def deploy(self, config):
        ...

registry = CloudProviderRegistry.default()
registry.register("my-cloud", MyCloudProvider)
3

Distribute as a pip plugin

Ship a provider others can install:
# pyproject.toml
[project.entry-points."praisonai.deploy.providers"]
my-cloud = "my_pkg.deploy:MyCloudProvider"
pip install my-praisonai-cloud
praisonai deploy cloud --provider my-cloud --file deploy.yaml

Built-in Providers

NameClassCLI flag
awsAWSProvider--provider aws
azureAzureProvider--provider azure
gcpGCPProvider--provider gcp
Entry-point group: praisonai.deploy.providers

Deploy Guides

AWS Deploy

CLI deploy to AWS

Azure Deploy

CLI deploy to Azure

GCP Deploy

CLI deploy to GCP

Best Practices

Use cloud-native secret stores (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager) rather than embedding credentials in deploy.yaml.
Pin regions in your deploy config to keep latency and data residency predictable. Run praisonai deploy doctor --provider aws before first deploy.
Set resource limits and autoscaling caps in provider-specific config blocks — the registry only selects which provider runs; cost control stays in your YAML.

Deploy Overview

Full deployment guide

Registry Dependency Injection

Isolated registries for multi-tenant deploy