Platforms for running services, databases and jobs, including the ones that deploy into your own cloud account, compared on local development, infrastructure definition and where workloads run.
Northflank is a platform for deploying services, databases, cron jobs and preview environments, either on its own managed cloud or on Kubernetes clusters it creates in your AWS, GCP, Azure, Oracle Cloud or CoreWeave account. Running in your own account solves the data residency and cloud credit questions that rule out most hosted platforms, so teams that look elsewhere are usually after something else, such as a local environment that matches production, infrastructure described in the same repository as the code, or a way to avoid owning a Kubernetes cluster at all. This article compares the options teams usually evaluate alongside it, which are Encore, Porter, Qovery, Render, Railway and Fly.io.
Reasons teams look at Northflank alternatives:
Encore combines the application code and the infrastructure it uses, so services, Postgres databases, Pub/Sub topics, buckets and cron jobs are declared in TypeScript or Go, encore run starts all of them locally (Postgres runs in Docker), and a deploy provisions the same resources as managed services in your own AWS or GCP account. Encore and Northflank both deploy into your account, and they differ in where the infrastructure is defined and what runs on the laptop, since with Encore the declarations in code drive local development, per-PR preview environments and production alike.

A service with a database, a topic and a subscriber looks like this, and the same file is what both encore run and the cloud deploy read:
import { api } from "encore.dev/api";
import { SQLDatabase } from "encore.dev/storage/sqldb";
import { Topic, Subscription } from "encore.dev/pubsub";
const db = new SQLDatabase("orders", { migrations: "./migrations" });
export const orderPlaced = new Topic<{ orderId: number }>("order-placed", {
deliveryGuarantee: "at-least-once",
});
export const place = api({ method: "POST", path: "/orders", expose: true },
async (req: { item: string }): Promise<{ id: number }> => {
const row = await db.queryRow<{ id: number }>`
INSERT INTO orders (item) VALUES (${req.item}) RETURNING id`;
await orderPlaced.publish({ orderId: row!.id });
return { id: row!.id };
});
new Subscription(orderPlaced, "send-receipt", {
handler: async (event) => { /* send the receipt */ },
});
encore build docker builds a standard Docker image if you want to run it on infrastructure you manage.Encore covers the application backend, so workloads such as GPU jobs, arbitrary Docker images or Helm charts, which Northflank runs directly, stay on whatever runs them today. Encore supports TypeScript and Go, and Python and Rust are in beta.
Run in your terminal to get started locally.
PorterPorter creates a Kubernetes cluster in your AWS, GCP or Azure account and deploys applications to it from GitHub or a container registry, with a workflow modelled on Heroku.
porter.yaml file in the repository.Porter is the closest match to Northflank's BYOC model, since both run your workloads on a managed Kubernetes cluster in your account, and local development is left to your own Docker setup.
QoveryQovery is a deployment platform that either creates a Kubernetes cluster in your AWS, GCP, Azure or Scaleway account or connects to one you already run, and then deploys applications, databases and jobs to it.
Qovery suits teams that already have a cluster and a platform team, and like Northflank it assumes Kubernetes is where workloads run.
Render runs web services, background workers, cron jobs and managed Postgres on its own infrastructure, configured in the dashboard or a render.yaml blueprint.
Render does not deploy into your own cloud account, which matters if data residency or cloud credits are why you chose Northflank's BYOC option.
Railway deploys services and databases from a visual project canvas on its own infrastructure, with usage-based billing.
Railway is built for speed of setup, and services run on Railway's own infrastructure by default rather than in your own cloud account.
Fly.io runs container images as Firecracker microVMs, called Machines, in regions around the world, configured through fly.toml and the flyctl CLI.
Fly.io gives you low-level control over where machines run, although you take on more of the operational work for databases and networking than on Northflank.
Northflank's bring-your-own-cloud option already covers running in your own account, so the choice between it and the platforms above mostly comes down to whether infrastructure should live in the dashboard or in the code, and whether local development should run the same resources as production.
Encore if you want infrastructure declared in application code, running locally and provisioned in your own AWS or GCP account. Porter and Qovery if you want a Kubernetes-based platform in your own cloud account, like Northflank's BYOC. Render, Railway and Fly.io if a managed platform on the provider's infrastructure is acceptable.
Yes. Northflank's bring-your-own-cloud option creates and manages Kubernetes clusters in your AWS, GCP, Azure, Oracle Cloud or CoreWeave account, and it can also manage an existing cluster that you connect.
Encore, Porter and Qovery all deploy into your own AWS account. Porter and Qovery run your workloads on a Kubernetes cluster they create there. Encore runs services on ECS Fargate or EKS and provisions RDS, SNS/SQS and S3 from the resources declared in your code.
Not always. Northflank, Porter and Qovery are built on Kubernetes clusters in your account. Encore can deploy to ECS Fargate on AWS or Cloud Run on GCP, which avoids running a cluster, and it can also use EKS or GKE.
Platforms that deploy containers to a cluster usually leave local development to Docker Compose or a local Kubernetes cluster. Encore's encore run starts your services together with their databases, Pub/Sub topics and cron jobs from the same code that defines production.
Declare them in the application code with Encore's SDK, for example new SQLDatabase for Postgres and new Topic for Pub/Sub, next to the code that uses them. encore run starts them locally, and a deploy provisions them as managed services in your own AWS or GCP account, so there is no Terraform to write for them.
Deploy to your cloud on AWS and Google Cloud
without managing infrastructure
Encore lets developers and agents define application infrastructure directly in code, then automatically provisions it from local development to production in your AWS or GCP account.