HTTP Containers

Long-running web services at the edge

Deploy HTTP containers by region and capacity profile with TLS, DNS, autoscaling, rate limiting, and IP filtering built in. Same console, same API, same activity log as the rest of Bahriya.

Deploy anywhere, manage from one place

Bahriya containers run across multiple geographic regions on dedicated infrastructure. Choose where your workloads run — from regions like Falkenstein, Helsinki, Virginia, and Singapore, with more locations on the way — and the platform handles ingress, TLS certificates, DNS, and load balancing automatically. Every container gets a per-region hostname and optional vanity domain with GeoDNS or round-robin routing. Both IPv4 and IPv6 addresses are included at no extra cost.

Built for real workloads

Each container is backed by a deployment with startup and liveness probes, horizontal autoscaling, configurable CPU and memory limits, and encrypted secret injection. Bring your own container image from any private registry, define environment variables and secrets per project, and let the platform converge your desired state across every region you deploy to.

Console and API, same capabilities

Everything you do in the console can be done through the API with a personal access token. Create containers, update configurations, rotate secrets, and monitor deployments programmatically. The API follows the same resource model as the UI, so there is no feature gap between interactive and automated workflows.

Transparent billing, no surprises

Resource usage is tracked per minute per container and billed against your organisation balance. Every runtime period is rounded up to the next whole minute with a 60-second minimum, and extra replicas added by autoscaling are billed the same way for the time they are running. View real-time cost breakdowns, download invoices, and top up your balance through Stripe — all from the billing section of the console. Pricing is published and consistent across regions.

Platform features

Everything your containers need, built in

No bolt-on add-ons or third-party integrations to manage. Every feature ships as part of the platform and works across all regions.

Scaling

Horizontal autoscaling

Set a minimum and maximum replica count with CPU and memory utilisation targets. The platform scales your container up during traffic spikes and back down when load subsides — per region, automatically. You only pay for the replicas that are running.

Security

Automated TLS certificates

Every container endpoint is issued a TLS certificate via Let's Encrypt, automatically renewed before expiry. Default hostnames, vanity domains, and custom DNS entries all receive certificates with zero configuration on your part.

Networking

Rate limiting

Protect your services from abuse with per-container rate limits. Configure requests per minute and per hour thresholds directly from the console or API. Rate limiting is enforced at the ingress layer before traffic reaches your application.

Networking

IP whitelisting & blacklisting

Restrict access to your containers by IP address. Whitelist trusted IPs for internal services or staging environments, or blacklist known bad actors. Both modes are applied at the edge, so blocked requests never reach your workload.

Observability

Live log viewing

Stream container logs directly in the console without SSH access or third-party tooling. Filter by region and time range to diagnose issues in real time. Logs are available for every replica across every region your container is deployed to.

Observability

Runtime metrics

Monitor CPU usage, memory consumption, network throughput, and replica counts from the console. Metrics are collected per container, per region, so you can identify performance bottlenecks and validate that autoscaling is behaving as expected.

Observability

Prometheus metrics

If your application exposes a Prometheus-compatible endpoint, tell Bahriya the port and path and it will scrape, aggregate, and chart every metric your application exports — across all replicas and regions. No separate Prometheus server, no scrape configs, no time-series database to manage.

DNS

GeoDNS & round-robin routing

Route users to the nearest region with GeoDNS, or distribute traffic evenly with round-robin. Add a vanity hostname and the platform manages the DNS records, health checks, and failover across every region automatically.

Configuration

Encrypted secrets

Store API keys, database credentials, and sensitive configuration as encrypted secrets. Secrets are injected into your containers at runtime as environment variables, encrypted at rest with AES-256, and scoped to projects so teams only access what they need.

Configuration

Private registry support

Pull container images from any private OCI-compliant registry. Register your registry credentials once per project and reference them from any container. Credentials are encrypted and applied automatically during deployment.

Edge container cloud

Your entire application at the edge — not just functions

Traditional edge platforms restrict you to short-lived functions in a single language. Bahriya lets you deploy full containers across global regions, turning every location into an edge node for your entire application.

Edge functions (Cloudflare Workers, Vercel Edge, etc.)

  • Restricted to JavaScript or TypeScript (or their parsers)
  • Cold starts on every invocation
  • No persistent connections or long-running processes
  • Vendor-specific APIs — rewrite to migrate
  • Limited execution time (often 10–30 seconds)
  • No custom system libraries or binaries
  • Stateless by design — external storage for everything

Edge functions are useful for lightweight request transformations, but they are not a deployment target for real applications.

Bahriya — full containers at the edge

Any language, any framework

If it runs in a container, it runs on Bahriya — Go, Rust, Python, PHP, Java, .NET, Node.js, or anything else.

Full containers, not functions

Deploy your actual application, not a stripped-down function wrapper. Background workers, WebSocket servers, ML models — all supported.

Multi-region in one operation

Select from a growing list of global regions — Falkenstein, Helsinki, Virginia, Singapore, and more. Each region runs your full container independently.

GeoDNS routes users to the nearest region

Users hit the closest deployment automatically. No CDN proxy layer, no cache invalidation complexity — just your application, running close to your users.

Persistent connections and state

WebSockets, gRPC streams, in-memory caches, connection pools — everything works because you are running a real process, not a request handler.

No vendor lock-in

Any OCI-compliant container image. Build with Docker, Podman, Buildpacks, or anything else — if it produces a standard image, it runs on Bahriya. No proprietary runtime, no special SDK.

No language restrictions. No execution time limits. No vendor lock-in. Just your container, deployed globally.

The old model is a workaround

For years, teams deployed to a single cluster in one region and bolted on a CDN for global reach. The CDN cached static assets and proxied requests back to the origin — adding latency, cache invalidation complexity, and a dependency on a third-party network for every request.

Edge function platforms tried to fix this by letting you run code closer to users, but they traded flexibility for proximity. You get low latency, but only for the subset of your logic that fits inside a constrained runtime with a single supported language.

Bahriya eliminates the tradeoff. Deploy your full application — in any language, with any dependencies — to every region you need. GeoDNS routes users to the nearest instance. Your entire stack runs at the edge, not just a thin function layer.

Resource control

Fine-grained capacity management

Define exactly how much compute each container gets. Resources are enforced per replica, per region.

CPU & memory sizing

Set minimum CPU and memory requests that are guaranteed to your container, with limits calculated automatically to allow controlled bursting. Resource requests are enforced per replica so your workload always gets the capacity it was provisioned for.

Health checks & bootstrap

Configure a health check path and bootstrap time for each container. The platform uses startup probes to avoid killing slow-starting applications and liveness probes to restart unhealthy ones. Probe timing adapts to your bootstrap window, from 5 seconds to 10 minutes.

Multi-region deployment

Select one or more regions for each container. The platform deploys, scales, and monitors each region independently. Add or remove regions at any time — the platform converges the desired state without downtime to existing regions.

Activity log

Every create, update, delete, and configuration change is recorded with a timestamp and the user who made it. The activity log gives operators a complete audit trail of who changed what and when, across all resources in the organisation.

What teams use today

Provisioning workflows

Create and manage containers with guided setup and stable defaults for production paths.

Operational visibility

Review activity history, status views, and runtime details from a single control point.

Policy-driven setup

Configure replicas, sizing, networking add-ons, and rate limits in a repeatable way.

API compatibility

Mirror console operations through APIs for internal tooling and automation.

Coming Soon

Managed services roadmap

Planned for later in 2026/2027, timeline subject to change.

Volume Storage

Persistent block storage that attaches to your containers. Retain data across restarts and deployments without external storage services.

Valkey

Redis-compatible in-memory data store with persistent snapshots and restore. Session caching, queues, pub/sub, and real-time data — without Redis licensing concerns.

MySQL

Managed relational database with automated backups, point-in-time recovery, and regional deployment. A production-ready RDBMS for structured data and transactional workloads.

PostgreSQL

Managed PostgreSQL with automated backups, point-in-time recovery, and regional deployment. Advanced SQL features, JSONB support, and extensions for modern application workloads.

CouchDB

A globally distributed, multi-region document database with built-in replication. Conflict-free sync across regions for offline-first applications and geo-distributed NoSQL workloads.

S3 Object Storage

S3-compatible object storage for files, media, backups, and static assets. Accessible from your containers or directly via standard S3 APIs and client libraries.

CDN

Global content delivery network for static assets, media, and API acceleration. Edge caching across multiple PoPs with automatic origin pull from your containers or object storage.

RabbitMQ

Managed RabbitMQ for asynchronous messaging between containers. Multi-region clusters, project-private networking, and per-node billing — same operational model as Memcached.

See how Bahriya fits your delivery model

Start with a limited trial and evaluate how teams move from ad-hoc provisioning to platform workflows.