Prometheus vs VictoriaMetrics

Prometheus keeps the reference PromQL engine and a simple single-node model, while VictoriaMetrics adds a single binary, more ingestion protocols and a long-term store. The right choice depends on scale, retention needs and which features you would pay for.

On this page

Prometheus vs VictoriaMetrics: when each one fits the decision

Keep plain Prometheus when your retention needs fit its local storage and your query estate runs on PromQL without surprises. Add VictoriaMetrics when you need storage beyond what one Prometheus server should hold, or when you want a drop-in store that accepts more ingestion protocols and keeps dashboards working. The decision turns on scale, retention, query compatibility and which Enterprise features your team would actually need. Both projects are licensed under Apache-2.0 at the core, so licensing alone does not decide it.

Prometheus stores data in a local time series database with a default retention of 15 days, and its storage documentation states that local storage is not clustered or replicated. Long-term storage therefore means remote write to an external system, and VictoriaMetrics is one such target. Ask your team three questions: how many series and samples per second each Prometheus server produces, how long dashboards and audits must reach back, and whether any alert or recording rule depends on behavior that differs in MetricsQL. Run your heaviest dashboards against a VictoriaMetrics test instance before you commit.

If you need features such as multiple retentions, downsampling, backup automation or an LTS release line, check the VictoriaMetrics README and confirm with the vendor which of these sit in the Enterprise tier and under what license terms. Plan for the day-two cost of a second storage system, including upgrades every two weeks as shown in its release cadence, and for the storage and memory your chosen layout needs at your series count, which you should measure in your own environment rather than assume.

Which scenarios favor Prometheus and which favor VictoriaMetrics

This table maps common estate shapes to the platform that fits them better, and names the condition that tips each choice. Read each row as a starting point, then confirm the conditions against your own retention, cardinality and team skills before deciding.

ScenarioBetter fitCondition that makes it so
Small estate with the default 15-day retentionPrometheusLocal storage keeps the default 15 days, the team runs one server and no query needs data older than that window. Adding VictoriaMetrics here adds a component with little gain.
Long retention on block storageVictoriaMetricsDashboards or audits need months of history on a single block volume. Its single-node version is designed as a long-term store, while Prometheus local storage is not clustered or replicated and is sized for shorter windows.
Long retention with Prometheus kept as the scraperPrometheus with remote write, or VictoriaMetricsPrometheus can forward samples to external long-term storage through remote write. Choose remote write when the scrape setup is already standardized and you only need history. Confirm how much data-loss risk the remote write queue can absorb during an outage.
Multi-tenant or high-cardinality estateVictoriaMetrics (confirm the cluster and limits)VictoriaMetrics includes a cardinality limiter and supports cluster deployment. Confirm that the cluster version and the Enterprise features you need, such as multiple retentions or downsampling, fit your tenancy model before committing.
Team that wants PromQL onlyPrometheusYour dashboards, alerts and skills are built on PromQL and you do not need MetricsQL functions. Prometheus keeps one query language across scraping, alerting and storage.
Team that wants PromQL plus MetricsQL extensionsVictoriaMetricsYou are willing to learn MetricsQL, or you want to use it for specific queries, and you accept a second query language alongside PromQL. VictoriaMetrics accepts PromQL queries as well.
Mixed ingestion from non-Prometheus agentsVictoriaMetricsYour estate sends InfluxDB line protocol, Graphite, OpenTelemetry or vendor agent metrics directly. VictoriaMetrics ingests these protocols natively, while Prometheus relies on exporters, remote write or an intermediary.
Need for Enterprise features such as downsampling or backup automationVictoriaMetrics Enterprise, confirm termsEnterprise adds anomaly detection, backup automation, multiple retentions, downsampling and LTS release lines. Confirm license terms and cost with the vendor, since Prometheus itself has no paid edition.

How each stores data and what that means for operations

Prometheus and VictoriaMetrics both keep time series on local disk, but they differ in how much of the storage layer you must build, back up and monitor yourself. The cards below cover the Prometheus local database, its retention defaults, the VictoriaMetrics binary model, storage choices and the Alertmanager component that sits beside both.

Prometheus local time series database

Prometheus writes samples into a local database organized in two-hour blocks, with a write-ahead log in front of them. Each Prometheus server owns its own data directory, so the storage layer is a single-node database you operate like any other. Check how much disk each server needs for your series count and sample rate before you commit to a retention window.

Default retention and its limits

Prometheus keeps data for 15 days by default, and you can set retention by time or by size using its command-line flags. Longer history means more disk on each server and more data to scan for queries. If your audit or capacity planning needs a year or more of metrics, plan for a long-term store rather than stretching the local window.

No clustering or replication in Prometheus

The Prometheus storage docs state that local storage is not clustered or replicated. If a server's disk fails, the history on that server is lost unless you have remote write or a second Prometheus scraping the same targets. Decide early whether a gap in data during a restart or node failure is acceptable for your use case, because the answer drives the design.

VictoriaMetrics single binary

VictoriaMetrics ships as a single small binary with no external dependencies, configured through command-line flags and distributed as binaries and Docker images. Operations come down to one process, one data directory and one set of flags to version-control. Confirm the storage path, retention and resource settings against the current README and release notes before you standardize on them.

Single-node versus cluster layout

The single-node version suits one team and a bounded estate, with backups and restores handled on one machine. The cluster version splits ingestion, storage and query into separate components, which adds moving parts but spreads load and failure domains. Ask the vendor or your own tests how each layout behaves when a storage node is lost before choosing between them.

Storage choice and NFS-based options

The VictoriaMetrics README says it supports storing data on NFS-based storage such as Amazon EFS and Google Filestore. This widens the storage choices for managed cloud environments, but latency, locking and mount behavior on network storage can affect ingest and query performance. Benchmark your own workload on the target storage class, and confirm which backup features apply to it.

Alertmanager as a separate component

Prometheus sends alerts to Alertmanager, which handles grouping, inhibition and silences as a separate service. Alertmanager can run as a cluster for high availability using its cluster flags, and Prometheus should point at every Alertmanager instance rather than a load balancer. Plan its deployment, its own storage and its notification routes whichever long-term store you choose.

PromQL, MetricsQL and the ingestion protocols each one accepts

Prometheus is queried with PromQL, and VictoriaMetrics accepts both PromQL and its own MetricsQL language, so most existing dashboards and alert rules can be pointed at VictoriaMetrics without rewriting. The compatibility check is still required. Before switching, export every alerting and recording rule, run each expression against the same data in a staging copy, and compare results over a window that includes known incidents. Pay particular attention to rate and increase windows, staleness handling, histogram quantile functions and any query that uses a MetricsQL-only function, since those will fail on plain Prometheus. Confirm the exact behavior with the VictoriaMetrics documentation and your own rule set rather than assuming parity.

On the ingestion side, Prometheus accepts metrics from exporters through its HTTP pull model and can receive remote write from other agents. VictoriaMetrics accepts Prometheus exporters and remote write as well, and adds InfluxDB line protocol, Graphite, OpenTSDB, DataDog agent, New Relic agent and OpenTelemetry metrics, as listed in the VictoriaMetrics README. The extra protocols matter only if you already run agents or applications that emit them, or if you plan to consolidate several monitoring sources into one store. If every source already speaks Prometheus exposition or remote write, these additional endpoints add configuration surface without adding value, and you should keep the ingestion path as simple as possible.

Make the ingestion inventory a written deliverable before the pilot. List each source, its protocol, its scrape or push interval, and the labels it emits, then confirm that the chosen VictoriaMetrics build accepts each one in your environment. Check label names and series counts on the receiving side, because a change in how labels are normalized can silently split a series and break an alert. Ask the vendor or your implementation partner to document the exact endpoint and version each source uses, and keep a rollback path that keeps Prometheus writing until the dashboards and alerts agree.

How a team adds VictoriaMetrics beside existing Prometheus

The sequence keeps existing Prometheus monitoring running while a test VictoriaMetrics instance receives the same samples, so the team can compare results and alerts before moving dashboards and retention. It ends with a documented, reversible cutover rather than a rebuild.

  1. Confirm the current Prometheus baseline

    The platform engineer records the Prometheus version, scrape targets, recording rules, alerting rules, retention settings and the Alertmanager endpoints in use. Prometheus stays untouched at this stage. The step is done when the team has a written inventory it can check against later and knows which dashboards and alerts depend on which series.

  2. Stand up a test VictoriaMetrics instance

    The team installs VictoriaMetrics in a non-production environment, either as the single-node binary or as a cluster, using the release that fits its storage and availability needs. Configuration is supplied through command-line flags and the storage path is placed on a volume sized for the planned retention. The step is done when the instance starts, accepts writes and answers a basic health request from the same network segment as Prometheus.

  3. Add remote write alongside existing scraping

    The platform engineer adds a remote write block to the existing Prometheus configuration that points at the test instance, leaving every scrape job in place. Prometheus continues to store its own local data, so the original path is unaffected if the test fails. The step is done when samples from the test instance's ingestion counters match the rate Prometheus reports for remote write, with no growing backlog.

  4. Compare query results in Grafana

    The team adds the test instance as a second Prometheus-type data source in Grafana and runs the same PromQL expressions against both, including rate, histogram and aggregation queries used by key dashboards. Differences are logged with the time range and series involved, and MetricsQL-only functions are kept out of the shared dashboards at this stage. The step is done when the agreed set of dashboards shows matching results for the test window, or each difference has a documented cause.

  5. Validate alert behavior and routing

    Alerting rules are evaluated where they are currently defined, and the team checks that the same conditions fire, resolve and group the same way when fed from the test data. Alertmanager routing, silences and receivers are tested with synthetic alerts, and the team confirms that notifications reach the intended channels without duplicates. The step is done when a signed-off list shows each alert's behavior against the baseline, and any gap in routing has an owner and a fix.

  6. Rebuild backup and storage checks

    The team designs backups, storage sizing and capacity alerts for VictoriaMetrics from its own requirements rather than copying the Prometheus setup, since local block storage and retention behave differently. It confirms which backup features are part of the edition it runs and which need a separate process, and it verifies a restore into a scratch environment. The step is done when a restore has been tested and the storage growth observed during the comparison period is recorded for capacity planning.

  7. Cut over dashboards and retention

    Once the comparison is signed off, dashboards and Grafana data source defaults move to the new store, and retention is set on the VictoriaMetrics side. Prometheus remains running with its previous configuration for a rollback window the team sets in advance, so reverting the data source is a single change. The step is done when all consumers read from the chosen store, the rollback path has been rehearsed, and the change record lists what moved and what remains on Prometheus.

What is free and what is paid in each platform

Prometheus is licensed under Apache-2.0 according to its GitHub repository, and there is no paid enterprise edition of the project itself. Nobody sells you a licensed binary or a feature tier of the server, so the recurring costs of running it come from the infrastructure it runs on, the storage it fills, the implementation work and the people who operate it. Your license cost for the core project is zero, but your operating cost is not.

  • No paid edition: The project has no commercial feature tier. Any paid support you buy comes from a third party or a consultancy, and the scope of that support is defined by your contract, not by the license.
  • Storage is your cost: Prometheus keeps a local time series database with a default retention of 15 days, configurable by time or size. Longer retention means more disk on servers you manage, which is an infrastructure line in your budget.
  • Long-term storage is a separate design: Local storage is not clustered or replicated. If you need months of history or high availability, you add remote write to an external system, and that system carries its own license and running cost.
  • Release support is time-boxed: Minor releases stop receiving bug fixes after about six weeks. The LTS line receives fixes for one year, so upgrade effort is an ongoing cost you plan for.

Before you commit budget, confirm current terms and any support offers directly with the Prometheus project and your chosen support provider, and ask what support covers in writing.

Capability comparison: storage, query, protocols and scaling

This table compares the two platforms row by row on license, query language, ingestion, deployment forms, retention, cardinality control and alerting. Read the rows that match your estate first, and treat items marked for confirmation as questions to put to the vendor or to a test deployment before you commit.

CapabilityPrometheusVictoriaMetrics
LicenseApache-2.0, with no paid enterprise edition of the project itselfSingle-node and cluster versions both Apache-2.0; Enterprise features are a separate paid tier
Query languagePromQL onlyPromQL or MetricsQL, its own extended query language
Ingestion protocolsPull over HTTP from scraped targets; push through a gateway for short-lived jobs; remote writePrometheus exporters and remote write, InfluxDB line protocol, Graphite, OpenTSDB, DataDog, New Relic and OpenTelemetry
Deployment formSingle server binary; local storage is not clustered or replicatedSingle small binary with no dependencies, configured by command-line flags; distributed as binaries and Docker images
Single-node and cluster optionsSingle-node local storage; scaling beyond one server relies on remote storage systemsSingle-node and cluster versions both available under the same Apache-2.0 license
Retention and downsamplingDefault retention of 15 days, configurable by time or size; no downsampling in the core projectDownsampling and multiple retentions are listed as Enterprise features; confirm the retention options in your edition
Cardinality controlGoverned through instrumentation and label design; confirm any server-side limits for your versionIncludes a cardinality limiter in the README; confirm the exact settings in your version
RelabelingSupported in scrape and remote write configurationSupported, per the README
NFS-based storageLocal disk expected; confirm support for network filesystems with the Prometheus storage docs before using themREADME states support for NFS-based storage such as Amazon EFS and Google Filestore
Alerting componentsAlerts sent to Alertmanager, which handles grouping, inhibition and silences and can run as a clusterAlerting is handled outside the core binary; confirm which alerting path your stack uses
LTS support windowsLTS releases receive bug fixes for one year; the current LTS line is 3.13, supported until July 31, 2027LTS release lines are an Enterprise feature; confirm the current support window with the vendor

What drives the running cost of each option

Neither option carries a license fee for the core product, so the running cost comes from the servers, disks and memory you provision, the people who operate the stack, and the alerting and dashboards around it. The cards below list each component, what drives it up or down, and what to request in a written quote before comparing totals.

Infrastructure, storage and memory sizing

Prometheus keeps a local time series database with two-hour blocks and a write-ahead log, and its default retention is 15 days, configurable by time or size. Longer retention on the Prometheus server means more local disk and more memory pressure, and the local store is not clustered or replicated. VictoriaMetrics, in its single-node and cluster forms, moves long-term data to its own storage, so the sizing question is retention, series count and ingest rate. Ask the vendor or your own tests to show disk and memory at your series count and retention before comparing hardware bills.

Replication and high availability layout

Prometheus local storage is not clustered or replicated, so a team that needs no data gaps during an outage typically runs redundant Prometheus servers, which doubles the ingest and storage bill. VictoriaMetrics cluster mode adds separate components to run and scale, each with its own compute footprint. Count every replica, every component and every disk in both designs, not only the headline server. Confirm the failure behavior you need, since it determines how many copies you pay for.

Staff time to operate the stack

Staff time is usually the largest recurring cost. Prometheus has no paid edition, so the labor covers scrape configuration, retention and disk planning, upgrades, and backup of local data. VictoriaMetrics is distributed as a single binary configured through command-line flags, which can lower day-to-day effort for a small team, but cluster mode, backup and capacity planning still need trained operators. Ask who on your team owns each task and how many hours per month that ownership consumes.

Alertmanager and Grafana

Alertmanager runs beside Prometheus and handles grouping, inhibition and silences, and it can run as a cluster for high availability, with Prometheus pointed at every instance rather than a load balancer. Grafana or another dashboard tool is often a separate line item. Both options use these components the same way, so the difference lies in how many Alertmanager and dashboard instances you run and who maintains them. Confirm which dashboard and alerting components are included in each quote.

Enterprise subscriptions and support

VictoriaMetrics Enterprise adds anomaly detection, backup automation, multiple retentions, downsampling, long-term support release lines and support from the core team, and it is available with a free trial license. Those features carry a commercial cost that recurs if you adopt them. Prometheus has no paid enterprise edition, so any support contract comes from a third party or your own team. Request the feature list, license term, support hours and renewal basis in writing for each option.

Upgrade effort and release tracks

Prometheus publishes a new minor release cycle every 6 weeks, and a minor release generally stops receiving bug fixes after those 6 weeks, so teams that want stability usually follow the long-term support line, which receives bug fixes for one year. VictoriaMetrics ships releases about every two weeks, and its Enterprise tier offers LTS lines. Staying current costs regular test and rollout time in both cases. Ask each vendor which release track they recommend for your risk profile and how many upgrades per year you should budget for.

Storage and memory trade-offs that show up at scale

Series count and retention drive disk and memory more than anything else you configure. Prometheus keeps its local time series database in two-hour blocks with a write-ahead log, and its default retention is 15 days, configurable by time or size through the retention flags. Disk grows with the number of samples retained, and the number of active series in the head block sets much of the memory footprint. VictoriaMetrics uses its own storage engine, so the same series count will not produce the same disk or RAM numbers in both systems. The practical step is to measure your current active series and ingestion rate in Prometheus, then ask each vendor or your own test lab to project the figures for your retention target. Do not carry numbers from one system over to the other.

Cardinality is the risk to plan for, and VictoriaMetrics gives you more controls to contain it. Each new combination of label values creates a new series, so a label such as a request ID or user ID can multiply storage and memory cost without anyone noticing. VictoriaMetrics documents relabeling and a cardinality limiter, which you configure through its command-line flags and can use to drop or limit unwanted labels before data is stored. Prometheus also supports relabeling in its scrape and remote write configuration, so the decision is where to enforce it and who owns the rules. Confirm the exact limiter behavior and flag names against the VictoriaMetrics README and release notes for the version you deploy, because limit semantics change between releases.

Reliability is valued over precision in Prometheus, so neither system should be your source for exact per-request billing. The Prometheus overview states that it is not a good choice where 100% accuracy is required, and the same design goals apply when metrics are sent to a long-term store. If you need exact per-request accounting, record those events in a transactional or event pipeline and reconcile it against metrics. Before go-live, run a load test with your own series counts, label sets, scrape intervals and query patterns. Include a failure test that restarts the storage node and measures the gap in data. Ask any implementation partner to deliver the test plan and results as part of the written scope.

Questions buyers ask before choosing or hiring help

How long does a migration from Prometheus to VictoriaMetrics take?

The duration depends mostly on how much history you need to carry over, how many scrape jobs, recording rules and alerting rules you run, and how many dashboards and external consumers read from Prometheus today. No researched timeline applies to every estate, so treat any number from a vendor or partner as a starting point until your own inventory is complete. The practical sequence is to add VictoriaMetrics as a remote write target alongside Prometheus, run both for a period while you compare query results, move dashboards and alerts, then retire the old path. Ask any implementation partner for a written scope that lists each of these workstreams and the acceptance checks for each one.

Can our team migrate from Prometheus without outside help?

A team that already operates Prometheus, understands remote write and can run a Linux service with monitoring of its own can often do the core migration in-house. Outside help tends to pay off when the estate is large, when alerting and dashboards have many owners, or when the team has no spare capacity during cutover. Whichever route you choose, plan a parallel run so you can compare outputs before you switch alert routing. Fixed-scope engagements from DeployOpen are agreed in writing before work starts, so you can decide which workstreams to keep in-house and which to hand over.

What skills does our staff need to run VictoriaMetrics after the move?

Your staff need working knowledge of Prometheus scraping, remote write, PromQL and Alertmanager, because those stay in the design. They also need to operate VictoriaMetrics itself, which the project describes as a single binary configured through command-line flags, so day-to-day work centers on flags, retention settings, storage sizing, backups and upgrades. If you adopt the cluster version, add capacity planning across its components and the ability to diagnose which component is under pressure. Confirm the exact operational procedures against the VictoriaMetrics documentation and your own test environment before you commit staff time.

What drives the cost of a Prometheus to VictoriaMetrics move?

Both the software and the community editions are open source under Apache-2.0, so the largest costs are usually labor, storage and compute. Labor covers inventory, migration design, dashboard and alert rework, testing and handover, and the ongoing time your team spends operating the platform. Storage depends on series count, sample frequency and retention, and the storage type you choose. Recurring costs include the infrastructure, the staff hours for upgrades and the support retainer if you buy one. Ask any quote to itemize one-time work against recurring work, state the assumed series count and retention, and name the storage and backup targets.

Do we need VictoriaMetrics Enterprise features?

Only if one of the Enterprise features solves a problem you actually have. The README lists anomaly detection, backup automation, multiple retentions, downsampling, long-term support release lines and support from the core team. Multiple retentions and downsampling matter most when you keep long history at lower resolution. LTS lines matter when your change process needs a stable branch for a fixed period. If you do not need these, the single-node or cluster open-source builds may be enough, and you should confirm that against your retention and governance requirements. VictoriaMetrics Enterprise and LTS releases can be evaluated with a free trial license, which lets you test before you buy.

Will our existing PromQL dashboards and alerts keep working?

Most PromQL queries should run against VictoriaMetrics because it is positioned as a drop-in replacement for Prometheus in Grafana and supports PromQL. However, VictoriaMetrics also offers MetricsQL, which extends the language, so any dashboard or rule that uses MetricsQL-only functions will not run unchanged on Prometheus. Check each query against both engines in your parallel run, compare results for the time ranges your alerts depend on, and confirm the behavior of any functions you rely on in the VictoriaMetrics documentation. Alerting rules evaluated by Prometheus can keep using Alertmanager, so review that path too.

What should we confirm about storage and memory before choosing a setup?

Ask what storage and memory footprint your series count, retention and query load will produce, because these vary widely by estate and no single figure fits all. The VictoriaMetrics README says it supports NFS-based storage such as Amazon EFS and Google Filestore, which affects storage choices, but you should test latency and durability on your own platform before you rely on it. Prometheus itself stores data locally and is not clustered or replicated, so plan backups and the data-loss window in both designs. Request a sizing exercise in writing that states your assumptions and tests a realistic query load.

Does DeployOpen certify or audit our monitoring stack?

No. DeployOpen plans, implements, hardens, backs up, documents and supports self-hosted platforms in your own infrastructure, and it prepares systems and evidence for compliance assessments. Independent auditors and certification bodies issue any audit reports or certifications. If your monitoring stack supports an audit, ask the auditor which evidence they expect, such as retention settings, access logs and backup records, and make sure the implementation scope covers producing that evidence.

Where implementation projects usually run long

Projects run long when the team treats the migration as a storage swap. Prometheus and VictoriaMetrics both ingest the same kinds of metrics, but the work around them is where the calendar moves. For a Prometheus-first estate, the first unknown is sizing: active series count, samples per second and the retention window you want. VictoriaMetrics single-node is a single binary configured through command-line flags, so the install itself is quick, but the storage volume, memory and CPU must be sized from your own cardinality, not from a default. Ask for a sizing run against a real sample of your series before anyone commits to a disk layout, and plan a second pass once the first week of ingestion has shown the true series count.

Query and alert validation is the most common source of overrun. PromQL and MetricsQL overlap, but not every expression, function or edge case behaves the same way, so dashboards and alert rules that were never reviewed will break quietly or return different values. Inventory every Grafana panel and every alerting rule, classify them by how much they matter, and compare results side by side over a agreed period before cutover. Undocumented scrape configurations are the other common surprise: relabeling rules, service discovery jobs and exporters added by hand years ago often exist only on one Prometheus server. The client should provide the current configuration files, a list of owners for each job, and access to the alert routing used by Alertmanager.

Retention, access and backups need decisions before build, not after. Prometheus defaults to 15 days of local retention, so teams often discover late that long-term storage needs an explicit policy for each metric family, and that some tiers may be Enterprise-only features such as multiple retentions or downsampling. Confirm which features your chosen edition includes, because that decision changes both the licensing conversation and the operating model. Access control must be mapped from existing Grafana roles and reverse proxy rules, and backup and restore must be tested, not just scheduled. The client should supply the retention requirements from compliance owners, an identity integration path and a restore test window agreed in writing with DeployOpen as part of a fixed scope.

How DeployOpen helps choose and implement either platform

DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure, so the Prometheus or VictoriaMetrics decision is tested against your real estate before anything is built. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • We document which Prometheus servers, exporters and remote write sources feed the long-term store today.
  • The written scope states whether the target is single-node VictoriaMetrics, a cluster, or Prometheus alone, with reasons.
  • We list which Enterprise features you need, such as downsampling or multiple retentions, so licensing is settled before design.

How we build

  • We deploy the chosen storage layout in your cloud accounts, data centers or air-gapped networks, sized to your retention goals.
  • We rebuild dashboards and alert rules against PromQL or MetricsQL, testing each query for result parity during the migration.
  • We configure Alertmanager high availability and verify that every alert path still fires after the cutover.

How we hand over

  • We deliver runbooks for backup, restore, retention changes and storage capacity checks, written for your own operators.
  • We document the ingestion endpoints, label conventions and cardinality limits your teams must follow when adding services.
  • We run a handover session so your platform engineers can operate, troubleshoot and extend the stack without us.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, scoped separately from the build.
  • We plan version upgrades around each project's own release and support windows, which you confirm with the vendor.
  • Quotes follow from the written scope, so ask us to itemize build, testing, documentation and retainer effort separately.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.