AI & Machine Learning¶
On GRN.CLOUD, a served model, a gateway, an agent and the tools it calls are Kubernetes objects in your project. They are scheduled by the same control plane, secured by the same RBAC, backed by the same storage and watched by the same monitoring as the rest of your workloads. There is no separate AI console or account model.
This page maps that stack. Each layer has its own page.
The layers¶
| Layer | What it is | Page |
|---|---|---|
| GPU nodes | NVIDIA GPU workers in the Netherlands, scheduled like any other node | Compute & virtualisation |
| Model serving | Open-weight models served by vLLM, as a workload in your project | AI inference |
| Gateway | One OpenAI-compatible endpoint in front of self-hosted and external models | LLM gateway |
| Tools | MCP servers holding the credentials the model never sees | MCP servers |
| Untrusted code | An isolated project for whatever an agent writes and runs | Agent sandbox |
| Weights and data | Model weights on file storage, datasets and artefacts on S3 | Storage |
How it fits together¶
flowchart LR
APP["Your application"] --> GW
AGENT["Agent"] --> GW
GW["LLM gateway<br/>keys · budgets · routing"] --> SELF["Self-hosted models<br/>vLLM on GRN GPUs"]
GW --> EXT["External providers"]
AGENT -->|MCP| TOOLS["MCP servers<br/>your data, your network"]
AGENT -->|generated code| SB["Agent sandbox"]
SELF --> STORE["Model weights<br/>on platform storage"]
Most teams put the gateway in front of everything rather than calling model endpoints directly. It is the one place where keys, budgets and per-request cost live, and it makes self-hosted and external models interchangeable to the caller.
The gateway and the models behind it are separate layers, not competing options. A gateway holds no weights and needs no GPU; a served model holds one model's weights and has no authentication of its own. Which models sit behind the gateway — yours, an external provider's, or both — is a routing decision you change later without touching callers.
Where request data goes¶
Self-hosted models run on GRN.CLOUD GPUs in the Netherlands. Prompts, responses and model weights stay on the platform, under Dutch and EU law. No request leaves the platform unless you register an external provider on the gateway yourself. Because the gateway can route to both, choosing between a self-hosted and a bought model is a cost and capability decision rather than a compliance one.
Common tasks¶
The AI guides run end to end to a working result rather than covering one resource. Follow the first three in order if you are starting from nothing.
| Task | What you get |
|---|---|
| LLM gateways | One OpenAI-compatible endpoint for your team |
| Virtual keys | Scoped access for a teammate, app or agent, with a budget |
| Model providers | A new backend behind a model name |
| Self-hosted models | An open-weight model served on EU GPUs |
| Coding agents | Your CLI agent running on your own models |
| MCP servers | Tools an agent can call, holding credentials it never sees |
| Agent sandboxes | Agent-written code executed in isolation |
Related¶
- Security & identity — RBAC, isolation and secrets around all of it
- Observability & backup — what the gateway's request logs feed
- Storage — model weights, datasets and artefacts
- All guides — the rest of the platform