CaffeineStacks is for teams with a production application that needs to be looked after, from €300 per month: we manage the runtime, you stick to the code. Prefer to deploy containers yourself? Pods from €100/month is your starting point. Running multiple applications and environments? Look at a dedicated managed cluster from €2,500/month.
CaffeineStacks give you a managed platform instead of a bare VPS. Every blend includes managed load balancing, verified backups, Ansible automation in Git, and a 99.9% monthly SLA.
No surprise invoices for bandwidth, support calls, or monitoring add-ons. Temporary traffic spikes are included. When growth becomes permanent, we plan the upgrade together without surprise charges.
Not a VPS, a managed platform
At DigitalOcean, Hetzner, or Linode you rent a VM and figure it out yourself. We run a complete platform: VM behind a managed load balancer, backups twice a day to both datacenters, security updates, monitoring, and Ansible configs you can view and modify in Git. Java is our specialty, but we run Python, Node.js, PHP, Go, and other stacks with the same care.
Pick your blend
The prices below are for Basis: response times during office hours. That fits applications used during the day by internal users: internal tooling, B2B portals, acceptance environments. Is your application in use in the evening too? Then there's Advanced: for P1 incidents on production we also respond outside office hours. Advanced is €250 per application stack, once per stack, regardless of the number of VMs. An application stack is one application with its direct dependencies (app servers, database, load balancer). Multiple independently running applications are multiple stacks.
| Blend | RAM | vCPU | NVMe included | With Basis | With Advanced | What you use it for |
|---|---|---|---|---|---|---|
| Espresso | 8 GB | 4 | 100 GB | €300 | €550 | Production apps, API servers, Spring Boot/Quarkus services |
| Lungo | 16 GB | 6 | 150 GB | €400 | €650 | Larger apps, more concurrent users, heavier workloads |
| Latte | 32 GB | 8 | 200 GB | €500 | €750 | PostgreSQL servers, Elasticsearch, batch processing |
With Advanced the P1 clock keeps running outside office hours and every priority moves up a level. The difference is €250 per stack, no matter how many VMs it holds.
Cortado (4 GB, 2 vCPU, 75 GB NVMe): €150/month, available only as a VM inside a stack (database or small service), not as a standalone production stack. The smallest standalone stack is Espresso.
Every VM gets its tier's storage allocated, including redundancy and verified backups. Within a stack we can redistribute storage to fit your application. Need more than your stack's total? Extra NVMe costs €25 per 100 GB.
We manage the runtime, not the code
Included: OS, container runtime, JVM and runtime configuration, load balancer and TLS, database engine, deployment mechanism, backups and recovery, and patches and upgrades across that whole layer. Failures in that layer we analyse and fix. Diagnosis always runs until the cause is identified, even when it sits in the application: you get a substantiated report (heap dump, query plan), not a referral.
Not included: application code and functional bugs, releases and migrations unless agreed, and extensive profiling, load testing, or code review. Work outside scope gets a fixed price per job up front, based on our €120 hourly rate.
For managed databases, continuous WAL archiving is standard: restore to a point in time, not to a backup moment. Backups run twice a day, encrypted, automatically verified, and stored remotely; the tail of the retention goes to tape. Leaving? A one-time export of your data and customer-specific configuration is included, within 30 days of cancellation.
What's included
- Managed load balancer: HAProxy with SSL termination, health checks, and automatic failover. Add servers to the pool and we distribute traffic.
- Daily backups: Twice a day, encrypted and replicated to DC1 (Naaldwijk) and DC2 (Amsterdam), and automatically verified for readability as standard. A backup you cannot restore is not a backup. Tape archiving is live, Glacier cold storage available on request.
- Git + Ansible transparency: Your infrastructure lives in a Git repo you can read and edit. Propose a change via pull request or let us handle it. Full audit trail included.
- Security & updates: OS patches, JDK updates, firewall hardening, vulnerability scanning. We coordinate maintenance windows and deployment timing to fit your release schedule.
- Monitoring & alerts: Proactive checks on CPU, memory, disk, processes. You get dashboard access and configure alert routing for your team.
- IPv6 by default: IPv4 where needed. Both at no extra cost.
Continuity
- Remote recovery, included: We can move your complete setup from DC1 to DC2 or vice versa. We do not estimate that, we measure it: on 21 July 2026 a production VM holding 31 GB of data was fully restored and running in 1.5 minutes inside the failover datacenter, and in 6 minutes once the data had to cross the link between both sites. Recovery time scales with the amount of data, not with disk size: for a full 100 GB server that works out at roughly 5 and 12 minutes. A full cluster restore took 49 minutes. Read how we measured this.
- Standby in a second Dutch location: Available for stacks that need to keep running when a datacenter fails. We test failover at least once a year, and the test date goes in your annual report (part of Advanced). The standby price depends on your environment; you get it up front as a fixed monthly amount.
- Fully dual-location: Your stack active in both datacenters with direct cross-connect, available as an option (see active/standby below).
Options
- Database or redundancy VM: Within the same application stack you add one VM at a reduced rate, with PostgreSQL, MariaDB, or what you need. The reduced rate is a discount on the list price of the same size (Cortado €150, Espresso €300, Lungo €400, Latte €500) and applies to at most one VM per stack; every further VM is at list price.
- Cortado-DB (4 GB): €100/month (list price €150), for apps with modest database load
- Espresso-DB (8 GB): €150/month
- Lungo-DB (16 GB): €250/month
- Latte-DB (32 GB): €300/month, for heavier databases
- High availability: Two VMs behind the load balancer for zero-downtime deploys. During updates at least one VM stays online. A redundancy VM follows the same rule as the database VM: one reduced VM per stack.
- Acceptance and test environments: 60% of the corresponding production tier, without production response times. At most one environment carries the "acceptance" role per production stack; additional non-prod environments (test, staging) are welcome, each at the same 60% rate. Roles are agreed at intake.
- Active/standby DC setup: Want to failover between datacenters within 5 minutes? We run your stack actively in both DCs with direct cross-connect. Contact us for pricing.
- Extra storage: NVMe costs €25 per 100 GB, including redundancy and verified backups.
Example stacks with pricing
| Setup | What's running | Price/month |
|---|---|---|
| Espresso with Advanced | 1× Espresso (8 GB) behind load balancer | €550 (€300 + €250) |
| Espresso stack | 1× Espresso (app) + 1× Cortado-DB (PostgreSQL) + Advanced | €650 (€300 + €100 + €250) |
| Lungo stack | 1× Lungo (app) + 1× Lungo-DB (PostgreSQL) + Advanced | €900 (€400 + €250 + €250) |
| HA stack (Basis) | 2× Espresso (app, redundant) + 1× Espresso-DB, office hours only | €750 (€300 + €300 + €150) |
| HA stack with Advanced | The same three VMs, now with Advanced (P1 response outside office hours too) | €1,000 (€750 + €250) |
| Espresso stack + acceptance | Espresso stack + 1× Espresso acceptance (60%, without production response times) | €830 (€650 + €180) |
In the HA stack the Espresso-DB is the one reduced VM (€150); the second app server counts at list price (€300).
Operations, monitoring, and support are included in the monthly price. No per-incident charges. Work outside scope gets a fixed price per job up front.
Need more? For larger setups with multiple teams, environments, and compliance requirements, check our Managed Clusters from €2,500/month.
Service level: Basis and Advanced
Advanced shifts every priority up a level and keeps the P1 clock running outside office hours.
| Basis | Advanced | |
|---|---|---|
| Channel | mail + portal | app group + direct line |
| P1: production down | 4 working hours | 4 hours, also outside office hours |
| P2: production impaired | 1 working day | 4 working hours |
| P3: everything else | 3 working days | 1 working day |
| Monthly report + annual review | - | included |
Office hours are 09:00-17:00 on Dutch working days. A working day is 8 working hours. The clock starts on receipt in the agreed channel. P1 means production unreachable or data loss, P2 means production impaired, P3 covers everything else. Response time is the first human response and the start of analysis, not a recovery commitment.
Java advantages
Java is where we're at home. That's why you get extras other hosters don't offer. See our framework-specific guides for Spring Boot and Quarkus.
- Automated JDK updates: Temurin and OpenJDK updates automated via Ansible. We patch according to the release cadence we agree on and test before applying.
- JVM tuning: GC settings (G1, ZGC, Shenandoah) and heap sizing tailored to your workload. We measure baselines per blend and tune where needed.
- Observability: JVM metrics, thread dumps, GC logs, and aggregation. Your team gets dashboard access to monitor along.
How it works
Onboarding: Every setup starts with a direct conversation where we tailor the stack to your needs. We provision your VMs, configure the load balancer, set up Git access, and coordinate the first deployment together.
Day-to-day operations: Backups and monitoring run automatically. You work with your Git repo to manage configs. We handle updates during agreed maintenance windows and respond to alerts before they become incidents.
Support: Response times are listed above under Basis and Advanced. With Advanced you get an app group and a direct line to the engineers running your platform; for P1 incidents on production we also respond outside office hours.
Coming soon: Barista, our self-service portal for provisioning and managing CaffeineStacks.