Overview
If you are searching for a Heroku Shield alternative, Aptible is one of the strongest platform-as-a-service options to evaluate, and for many regulated teams, the most natural fit. Aptible delivers a similar developer experience with simple, abstracted deployment of apps and databases, while providing dedicated infrastructure isolation, enforced security controls, and built-in compliance support for frameworks such as HIPAA, HITRUST, and SOC 2. For teams handling PHI or other sensitive data, these controls are foundational, not optional. Refer to the Security & Compliance docs for more information on our approach to security and compliance, including the specific controls we satisfy. If you are evaluating alternatives due to recent changes to Heroku’s Enterprise offering, you’re in the right place. Many teams that previously relied on Heroku Shield for HIPAA-eligible environments are now looking for infrastructure that combines developer simplicity with robust security and compliance support. This guide will help you evaluate Aptible and outline a clear path for a smooth migration, including:- Heroku Shield vs Aptible comparison
- Key terminology mapping
- Technical migration steps:
- Private Spaces to Dedicated Stacks
- Projects to Environments
- Shield dynos to containers
- Shield Postgres and Redis to Aptible-managed databases
- Auditing Shield-compatible add-ons
- Reconfiguring endpoints and networking
- Minimizing downtime during cutover
FAQs
Why migrate from Heroku Shield to Aptible?
Why migrate from Heroku Shield to Aptible?
How does Aptible pricing compare to Heroku Shield?
How does Aptible pricing compare to Heroku Shield?
Can I keep using a Procfile?
Can I keep using a Procfile?
CMD instruction. This is referred to as an Implicit Service.You can continue using a Procfile if your application has multiple services or process types. Procfile syntax is compatible between Heroku and Aptible.Note: If you are deploying via Docker image (deploying a pre-built image from a container registry), you must place your Procfile at /.aptible/Procfile and your .aptible.yml at /.aptible/.aptible.yml inside your Docker image. See Procfiles and .aptible.yml when deploying via Docker image for details.Heroku Shield vs Aptible comparison
The table below summarizes key differences across compliance, developer experience, and pricing.Key terminology mapping
If you’re migrating from Heroku Shield, the table below maps common Heroku concepts to their Aptible equivalents.Before you begin
Before starting your migration from Heroku Shield, ensure the following:Create an Aptible account
Install the Aptible CLI
Review your existing Heroku Shield setup
- Application process types (web, worker, background jobs)
- Environment variables and secrets
- Add-ons such as databases, caches, or third-party services
- Any custom build or runtime configuration
- Networking or domain configuration
Migration steps
Set up your Aptible infrastructure
Private Spaces to Dedicated Stacks
In Heroku Shield, applications run inside Private Spaces, which define the network boundary and isolation model for your workloads. In Aptible, the equivalent concept is a Dedicated Stack. A Dedicated Stack is an isolated AWS environment with its own VPC, enforced encryption, and infrastructure-level security controls.Provision a Dedicated Stack
Execute a BAA if required
Review networking requirements
- Create separate Environments within a single Dedicated Stack (most common approach)
- Provision multiple Dedicated Stacks if stricter infrastructure separation is required
Projects to Environments
In Heroku, applications are grouped into Projects and can be connected via Pipelines. In Aptible, applications and databases are grouped within an Environment, which exists inside a Dedicated Stack. An Environment provides logical separation between staging and production workloads and defines access controls.- Create an Environment corresponding to each Heroku Project
- Create separate Environments for staging and production
Migrate your application
Shield Dynos to Containers
In Heroku Shield, applications run as dynos built via buildpacks and defined by a Procfile. Heroku manages the runtime layer and abstracts containerization. In Aptible, applications run as Docker containers. You define how the application is built and executed using a Dockerfile, and each process type runs as its own service. Key differences:Convert Buildpack App to Docker
Dockerfile. See Getting Started with Docker for guidance.Example (Node.js):- App binds to
0.0.0.0 - Correct port exposed
- No reliance on ephemeral filesystem storage
Translate Procfile process types
- Deploy
webas one service - Deploy
workeras a separate service - Run database migrations using before_release in
.aptible.yml
.aptible.yml placement depends on your deployment method:- Deploying via Git
- Deploying via Docker image
Procfile and .aptible.yml in the repository root directory. Aptible will detect and use them automatically during the build process.Configure environment variables
DATABASE_URLREDIS_URLSECRET_KEY_BASE- External service credentials
Scale containers
Validate deployment
- Application boots without errors
- Logs are flowing
- Health checks pass
- Background jobs process correctly
- No reliance on Heroku-specific environment assumptions
Migrate your databases
Heroku Shield provides Shield Postgres and Shield Redis inside your Private Space with encryption and compliance controls. In Aptible, you can provision managed PostgreSQL, Redis, as well as MySQL, Elasticsearch, InfluxDB, RabbitMQ, and SFTP.Migrating PostgreSQL
There are two primary approaches to migrating PostgreSQL databases:- Dump and restore works well for smaller databases (under 10GB) and simpler migrations
- Logical replication is recommended for databases over 10GB or high-traffic production apps where minimizing downtime is critical
Option A: Dump and Restore (recommended for databases under 10GB)
Option A: Dump and Restore (recommended for databases under 10GB)
Capture backup from Heroku
- Schedule a maintenance window
- Consider putting the application in read-only mode
- Lower DNS TTL in advance if planning cutover
Provision PostgreSQL in Aptible
- Confirm version compatibility with Heroku Postgres
- Verify required extensions are supported
Restore database
--jobs=N for parallel restore.See Dump and Restore PostgreSQL for detailed instructions.Update DATABASE_URL
Validate database
- Compare row counts
- Verify schema
- Confirm extensions such as
pgcryptooruuid-ossp - Run the application against the staging database
- Monitor logs for connection errors
Option B: Logical Replication (recommended for databases over 10GB)
Option B: Logical Replication (recommended for databases over 10GB)
Provision PostgreSQL in Aptible
Set up logical replication
pglogical extension to replicate data from Heroku to Aptible. The replica stays in sync until you’re ready to cut over.See Database Replication and aptible db:replicate for details.Monitor replication status
Cut over
- Stop writes to the Heroku database
- Verify replication is caught up
- Update
DATABASE_URLto point to Aptible - Switch DNS to Aptible
Migrating Redis
Provision Redis in Aptible
Update REDIS_URL
Plan cutover
- Cache only: No data migration required
- Job queue: Coordinate cutover carefully to avoid dropped jobs
Validate
- Confirm application connectivity
- Monitor background worker logs
- Validate job processing
Auditing your add-ons
Before migrating, review all add-ons attached to your Heroku Shield application:Configuring endpoints and networking
In Heroku Shield, applications are exposed via the Heroku Router within a Private Space. In Aptible, applications are exposed through explicitly defined Endpoints.Public Endpoints
If your application is publicly accessible:- Create a Public Endpoint for the service
- Attach your custom domain
- Confirm TLS configuration
- Validate IP allowlists if required
Private Endpoints
If your Heroku Private Space uses internal routing between services:- Create Private Endpoints inside the Dedicated Stack
- Update internal service URLs
- Confirm security group or access configuration
Networking checklist
- Review outbound IP requirements
- Confirm third-party allowlists
- Update webhook destinations if needed
- Verify internal service-to-service communication
Minimizing downtime during cutover
To reduce downtime and risk during migration, plan the final cutover carefully.Deploy and validate in staging
Lower DNS TTL
Schedule maintenance window
Take final backup
Restore final backup
Update environment variables
Switch DNS
Monitor

