Skip to content
Computese home

Information technology blog

Guides and explainers on web development, custom software, hosting, SEO, IT support, security, integrations, cloud, data and AI, each checked against the sources it lists.

Cloud15 min read

RTO vs RPO: set recovery targets and build a disaster recovery plan

RPO is how much data you can lose; RTO is how long recovery takes. How to set both per system, design for them, test them and write the disaster recovery plan.

Updated

Security15 min read

SBOM: what it contains and how to generate, sign and use it

An SBOM is a machine-readable inventory of the components in software. CISA's 2026 minimum elements, SPDX vs CycloneDX, and how to generate, sign and match one.

Updated

Hosting15 min read

Reverse proxy: how it works and how to set one up in NGINX, Caddy or Traefik

A reverse proxy forwards client requests to your servers. NGINX, Caddy and Traefik setups, the real client IP, safe caching, and fixes for 502 and 504 errors.

Updated

Integrations17 min read

Event-driven architecture: events, brokers, and Kafka vs RabbitMQ

Event-driven architecture explained: events vs commands, queues vs logs, Kafka vs RabbitMQ and the cloud brokers, contracts, sagas and failure modes.

Updated

Cloud27 min read

Infrastructure as code: Terraform, OpenTofu, state and the team workflow

What infrastructure as code is, how Terraform and OpenTofu differ, what the state file holds, and how to run plan and apply safely from a pull request pipeline.

Updated

Data16 min read

Change data capture: log-based CDC, Debezium and the outbox pattern

Change data capture streams each committed insert, update and delete from a database log as events. How Debezium, replication slots and the outbox work.

Updated

Custom software25 min read

Technical debt: how to measure it and pay it down

Technical debt is the extra cost of changing code built on shortcuts or outdated design. How to measure it, track it in a register and pay it down.

Updated

Web development18 min read

Core Web Vitals: what LCP, INP and CLS measure, and how to fix each

Core Web Vitals are LCP, INP and CLS, judged at the 75th percentile of real visits. Thresholds, how to measure them in the field, and how to fix each one.

Updated

Cloud19 min read

OpenShift vs Kubernetes: what OpenShift adds, what it costs and how to choose

Kubernetes is the open-source orchestrator; OpenShift is Red Hat's supported distribution of it. What OpenShift adds, what it costs and how to choose.

Updated

Integrations21 min read

Dead letter queue: how DLQs work, with retries, backoff and idempotency

A dead letter queue holds messages that failed after set attempts so you can inspect and replay them. How SQS, Service Bus, RabbitMQ, Kafka and Pub/Sub differ.

Updated

Start with a conversation.

Tell us what you run and what is getting in the way. You get a reply within 24 hours.

Hours
Mon–Fri, 9:00–17:00 ET
Closed on statutory holidays
Office
110 Place d'Orléans Dr
Ottawa, ON K1C 2L9