Skip to content
Atacloud is in early access. We're onboarding design partners in waves. Join the waitlist

Technology and architecture

Atacloud is built on open technologies you already know, assembled so that every capability is a declared, exportable resource.

Self-healing by design

With Atacloud, your team doesn't babysit infrastructure. Unhealthy instances restart automatically, capacity follows demand, and releases roll out without downtime. Managed databases, caches and messaging are patched, backed up and scaled for you, and Private networking adds name-based service discovery and default-deny policies between services.

Open standards

OCI images, Gateway API, OpenTelemetry, the S3 API and the PostgreSQL wire protocol. Your tools keep working, and so does your knowledge.

Multi-site recovery

Six Canadian sites in two regions, with recovery pairs inside each region. Target recovery objectives will be published before general availability.

Portability

ata export produces standard, portable Kubernetes YAML and Terraform you can run elsewhere. There's no proprietary runtime to rewrite your app around.

Infrastructure as code first

The CLI, the Terraform provider and GitOps are the same API. Whatever you can click, you can declare.

One App becomes these objects

One App becomes these objectsDeclaring an App creates a build, a signed image, a deployment, a route, a certificate and bindings to services.App: storefrontAppstorefrontBuild: From your Git sourceBuildFrom your Git sourceImage: Scanned and signedImageScanned and signedDeployment: In your chosen siteDeploymentIn your chosen siteRoute: Gateway APIRouteGateway APICertificate: Issued and renewedCertificateIssued and renewedBindings: Databases, secretsBindingsDatabases, secrets
Declaring an App creates a build pipeline, a signed image, a deployment, a route, a certificate and bindings to the services it uses.

An App, declared

apiVersion: compute.atacloud.ca/v1alpha1
kind: App
metadata:
  name: storefront
  project: acme-shop
spec:
  source:
    repo: https://git.example.ca/acme/storefront
    branch: main
    previews: pullRequests        # a preview per pull request
  build: { strategy: nextjs }
  runtime:
    port: 3000
    probes:
      readiness: { httpGet: { path: /health/ready } }
      liveness: { httpGet: { path: /health/live } }
  scaling: { minReplicas: 0, maxReplicas: 20, metric: concurrency, target: 50 }
  domains: [shop.acme.ca]
  bindings:
    - databaseRef: { name: storefront-db }
  placement: { region: ca-east, residency: [QC] }   # Montréal
Interface preview. Subject to change.