Blog — page 10 of 38
The Best Kamal Alternatives in 2026
Kamal is deliberately small: SSH, pull an image, swap the container. People leave it for exactly the things it deliberately left out.
How to Deploy a gRPC Service
gRPC needs HTTP/2 from the client all the way to your process. Most hosting paths quietly terminate it, and the error you get says nothing useful.
How to Debug a Hung Process in a Sandbox
Restarting a hung process destroys the only copy of the evidence. Five minutes of looking first usually tells you exactly what it's waiting on.
Blue-Green vs Canary Deploys, Explained
One of these catches a broken build. The other catches a subtly wrong one. Most teams need the first and buy the second.
Running Jobs With Customer-Supplied Cloud Credentials
Every SaaS eventually asks customers to hand over cloud credentials. Those credentials then sit in a worker process shared with everyone else's job. One dependency with a postinstall script and you've breached all of them at once.
Rehearse Your Data Migration on a Real Copy, Not a Staging Guess
The migration took eight minutes in staging and six hours in production, and somewhere in hour two it took a lock the ORM never mentioned. Staging was never going to tell you. A disposable copy of the real data will.
Testing Against Ten Toolchains Without Ten Broken Runners
If you ship a library you own a matrix. On a shared runner the legs quietly contaminate each other. A microVM per leg makes the matrix mean what it says.
How to Drain a Host Without Dropping Everything on It
Kubernetes gave everyone the word "drain" and a false sense that it's solved. For a host holding live customer VMs it is the hard part of running a fleet, and "stop scheduling, then SIGKILL at the deadline" is just an outage with extra paperwork.
Upgrading the Daemon That Owns Your Running VMs
Restarting a stateless API server is solved. Restarting the per-host daemon supervising other people's live machines is not — and the default systemd behaviour takes the whole lot down with it.
Designing Quotas That Don't Wreck Your Users
Quotas are where a platform's engineering meets its ethics. Get them wrong and you either eat a $40k bill from one agent loop, or you 403 a paying customer at midnight because a counter rolled over.
What Free-Tier Abuse Actually Looks Like
Offer a free tier that runs arbitrary code and you are now a small hosting company for people who will never pay you. Here is the taxonomy, the signals that actually generalise, and the response ladder that keeps you willing to act.
Where Sleeping Workloads Live: Storage Tiering Explained
Everyone hears the CPU half of "you stop paying when idle". The unglamorous half is that a sleeping app still has a memory image and a disk image sitting on expensive NVMe that nobody has touched in three weeks.
The Best Sandbox APIs for Java AI Agents in 2026
You're building an agent in Java or Kotlin, and every sandbox vendor's quickstart opens with Python. The honest first finding: almost nobody ships a first-party Java SDK, so the real question is how good the REST API is and how well it generates a client.
How to Give a LangGraph Agent a Code Execution Tool
LangGraph checkpoints your state, not your machine. Here's the code tool, the three lifecycle patterns, and the defensive re-attach that stops a resumed run from exploding.
How to monitor a sandbox fleet: the metrics and alerts that actually catch problems
Most sandbox dashboards measure the wrong thing. Here are the six signals that have actually paged me for a real problem, the PromQL behind them, and the ones I deleted.
Buildpacks vs Dockerfiles vs framework detection: how a platform decides how to build your repo
Every deploy platform has to answer one question before it can do anything: what is this repo, and how do I build it? There are three common answers and none of them is sufficient on its own.
How to set up team access: orgs, roles and API keys without locking yourself out
The most common access-control bug I see is not a permission that was too broad. It is an API key minted against the wrong org, discovered three weeks later when someone tries to delete something.
How to run ephemeral test environments from GitLab CI
GitLab services get you a container on the same network. They do not get you a URL a reviewer can click, or a database with your production schema. Here is the setup that does.
How to use Drizzle ORM with a managed Postgres database
Drizzle is the least surprising ORM I have used, which mostly means the surprises move to the connection and the migration. Here is where they are.
How to retry platform API calls safely when there is no idempotency key
A timeout is not a failure. It is an absence of information, and the difference is the reason naive retry logic ends up creating three databases nobody asked for.
How to ship app logs to your own stack when the platform has no log drain
There is no log drain in the product today. That is a real gap, and there are two honest ways around it — one of which I would recommend even if the drain existed.
The best Browserless alternatives in 2026
Browserless solved the boring part of headless Chrome and self-hosts cleanly. People look for alternatives for three specific reasons, and which one applies to you settles the choice quickly.
The best Porter alternatives in 2026
Porter's pitch is a good one: your cloud account, your cluster, someone else's developer experience. The alternatives divide neatly by which half of that you were actually there for.
The best Xata alternatives in 2026
Every Postgres platform now advertises branching. They mean at least three different things by it, and the differences show up the first time you branch a database with real data in it.