Run production AI inference
Rather not read it all? Ask Nova this. It walks you through each step and does the ones it can when you approve.
Every AI company starts with a choice: buy tokens from a frontier lab, or run models in your own cloud. You chose to run your own, for weights you own, data that stays in your account and cost you control at volume, and now you are building an inference company: developers pay to call your models. That choice brings seven layers of machinery the lab's API used to hide, from GPUs and serving to access, scaling, cost and releases. AstroPulse gives you those layers as a foundation in your cloud, with the knobs to tune them. In this example you end up with qwen-chat on your domain behind a JWT policy, scaling within the limits you set, with its cost visible and every release reversible.
What you're getting into
AstroPulse runs the machinery and gives you the knobs. The models and the product are yours. Operating it is the hard part, and Nova, your AI platform engineer, runs it with you: it finds what broke and fixes it when you approve.
In words: your cloud account is the ground. AstroPulse runs on it as the machinery: clusters and identity, GPU capacity, model serving, your domain with TLS and DNS, access policies, replica scaling, and GPU metrics, cost and releases. Your models run on AstroPulse, served from the console, Nova, astroctl or the SDK, and your inference product sits on top: the API your customers pay for, with its keys, limits and billing. That product stays yours. Nova, your AI platform engineer, works across every layer with your approval.
When you're done, qwen-chat looks like this:
Who does what
- Alice, the platform engineer, builds and runs the platform and the models on it. Anyone with the Editor role can deploy a model too, with no AWS credentials.
- Bob, a developer at your customer, calls
qwen-chatwith his key. A request without one is refused.
How the platform fits together
AstroPulse runs layers 1 to 7 in your cloud and you set their knobs; layer 8 is the product you sell.
- 88. Your product
AstroPulsedoes not provide this layer. It supplies the platform beneath it.
Youcustomer limits, usage metering, billing, routing and the product experience.
- 77. Operations
AstroPulseconnects model health, GPU use, spend, findings and releases; alerts you route to Nova start an investigation.
Youthe alert rules, release decisions and service levels.
Watch metrics and costStart an investigationRelease and roll back
- 66. Elasticity
AstroPulseadds model replicas when requests wait; Node Autoscaling supplies their GPU nodes.
Youthe replica floor, ceiling and scaling target.
- 55. Access
AstroPulseenforces a JWT or API-key policy at the gateway before traffic reaches the model.
Youthe identity provider or test keys.
- 44. Network
AstroPulseverifies your domain and manages the certificate, gateway route and DNS record.
Youthe domain and its DNS zone.
- 33. Serving
AstroPulsechecks the model, caches its weights and serves it through an OpenAI-compatible API.
Youthe model, source, serving settings and optional gated-model token.
- 22. Capacity
AstroPulseshows prices and zones, checks capacity and launches GPU nodes for pending replicas.
Youthe GPU type, quota, purchase model and maximum spend.
- 11. Foundation
AstroPulseprovisions EKS and gives each cloud-facing add-on its own workload identity.
Youthe AWS account, region and least-privilege policies.
Follow the build
Each step lists what it needs, from GPU quota to a domain and an identity provider, and names the add-ons it installs; Certificates goes before Model Serving and Gateway. The design behind it, with the manifests: Serve models behind an API.
- Alice checks GPU prices and quota
- Alice creates the EKS cluster
- Alice connects add-ons to AWS without keys
- Alice adds GPU nodes only when needed
- Alice deploys the first model
- Alice puts the model on your domain
- Alice lets only customers like Bob call it
- Alice scales the model with demand
- Alice watches metrics and cost
- Alice gets alerted when something breaks
- Alice releases a new version, and rolls back
Recommended for production
- Workload Autoscaling: replicas follow requests waiting. Without it, a model on a GPU stays at a fixed replica count.
- Workload Queueing, where models or teams share GPUs: each gets a GPU quota instead of competing for the same GPUs.
- GPU limit: caps the GPUs billed at once. Unset, the pool may launch up to 10.
- An access policy on every public endpoint: with No authentication, anyone who finds the URL runs inference on your GPUs.
- Let's Encrypt production for real hostnames: clients don't trust Let's Encrypt staging.
- On-Demand for serving: Spot is cheaper but can be reclaimed mid-request.
- Fixed costs run before any model does: the managed control plane, three platform nodes, the NAT gateways and a load balancer.
- A model keeps at least one replica, so it does not scale to zero. A request times out after 300 seconds, and there is no durable request queue.
- AstroPulse provides no per-customer limits, usage metering, billing, routing across models or cross-region failover: those are your product.
Mechanics: Model Serving, Node Autoscaling, Access Policies, Alerts that start a Nova investigation. Nova on another app: Investigate a failing app.
Clean up
GPU nodes and the cluster keep costing until you delete them. Remove them in this order, because a policy an application references cannot be deleted:
- Optional: close the endpoint (Let only your customers call it).
- Delete the model: on the
qwen-chatpage, Delete, type the name, Delete Permanently. This frees its policy and hostname. - Delete the access policy under Integrations > Access Policies.
- Delete the domain if you claimed it only for this example (Put the model on your domain).
- Delete the cluster; only an org Owner can (Create the EKS cluster). This uninstalls every add-on first, so Node Autoscaling's GPU nodes go too, and deletes the cluster's cost history.
The AWS connect stack stays, because other clusters in the account reuse it. Remove it in the AWS CloudFormation console only when you are done with AstroPulse in this account.