Deploy and scale Django applications without managing infrastructure
Push your Django code, and Upsun handles the rest: PostgreSQL provisioning, automated migrations, static file serving, and production-grade deployments. Get isolated preview environments for every Git branch, with your full database included.

Standardize Django deployments in one workflow

Run Django with your preferred server
Run Django behind Gunicorn for WSGI, or go ASGI with servers like Daphne, Uvicorn, or Hypercorn configured in your app definition. You keep your framework structure; Upsun provides the runtime and deployment model.
Use your preferred Python package manager
Deploy with Pip, Pipenv, or Poetry. Your build and install steps remain explicit and version-controlled alongside your app code.
Manage Python dependenciesAutomated migrations and static files
Run your migrations and static commands automatically during deployment via configurable build and deploy hooks. Define exactly what happens at each stage.
See how it worksAdd managed services
Upsun provisions the database, exposes connection credentials as environment variables, and handles backups. Need Redis for caching or Celery? Add it the same way.
Check out built-in servicesPreview environments and safe deployments

Test every change with production data
Every Git branch on Upsun creates a complete, isolated environment: your Django application, a PostgreSQL database (with real production data cloned), Redis, and workers. Your team reviews pull requests on fully functional URLs.
Branch-per-feature environments
Each branch gets its own Django app, database, and services. Reuse builds and clone data automatically so each change can be validated in its own environment without teams colliding or sharing fragile staging setups.
Sanitize data in previews environments
Sanitize the preview environment data using automated database sanitization. Run a custom script that strips sensitive data from every preview branch.
Learn about data sanitizationRuntime operations for management commands
Run manage.py commands on-demand without triggering a full redeployment. Define runtime operations for tasks such as data backups, cache clearing, or custom management commands, accessible from the CLI or console.
Operate and scale Django with visibility and control

Observability built into the workflow
Identify slow views, expensive ORM queries, and memory leaks with built-in Blackfire profiling. Trace performance issues across your Django application without having to install third-party APM tools.
Scale when demand spikes
Upsun runs your Django application on dedicated containers with configurable CPU, memory, and storage. Scale vertically or horizontally as your traffic grows. Automatic scaling kicks in during traffic spikes.
See how auto-scaling worksBackground workers and cron jobs
Run Celery workers, scheduled tasks, and background jobs alongside your web application in separate containers. Each worker gets its own resources and lifecycle, independent of your web process.
Test performance as a featureMulti-cloud deployment options
Deploy your Django application across major cloud providers (AWS, IBM, Google Cloud, Azure, OVHcloud). Choose the region closest to your users, or deploy across multiple providers.
See available regions