blog

Blog — page 15 of 38

·10 min read

How to deploy a remote MCP server

Your MCP server works over stdio. Making it remote is four changes, and three of them fail silently — a buffered stream, a lost session, and an auth layer in front of the discovery path.

mcphow-toai-agents
Ajay Kumar
·9 min read

How to give a Mastra agent a code execution tool

Mastra makes defining a tool trivial, which is exactly why the code-execution one goes wrong. The hard parts are where the code runs, what happens on timeout, and how you hand results back without blowing the context window.

mastratypescriptai-agents
Ajay Kumar
·10 min read

How to handle file uploads in a deployed app

Every upload feature starts by writing to ./uploads and works perfectly until the first redeploy, when the files are gone. Here is the version that survives, including the part where the file is a zip bomb.

how-toapp-hostingstorage
Ajay Kumar
·9 min read

How to write a health check that catches real failures

Almost every health check is a route that returns 200 OK. It proves the process is running, which was never in doubt, and it will happily report health while every request fails.

how-toapp-hostingoperations
Ajay Kumar
·11 min read

The best Java and Spring Boot hosting platforms in 2026

The JVM does not behave like the runtimes most platforms were designed around. It wants a big chunk of memory it can keep, several seconds to warm up, and a process that stays alive. Pick a host that offers all three.

javaspring-boothosting
Ajay Kumar
·10 min read

The best Remix and React Router hosting platforms in 2026

Remix is the framework where the hosting decision cannot be deferred. There is no static export to fall back on: every page view runs your loader on a server somewhere, and which server that is shapes everything else.

remixreact-routerhosting
Ajay Kumar
·11 min read

The best load testing platforms in 2026

The hard part of load testing was never generating requests. It is generating them from enough machines, without saturating the generator, and reading a percentile that means what you think it means.

load-testingperformancetesting
Ajay Kumar
·10 min read

The best Selenium Grid alternatives in 2026

Nobody replaces Selenium Grid because of the protocol. They replace it because a long-lived browser node accumulates state, and a flaky test is indistinguishable from a poisoned node.

seleniumtestingbrowser-automation
Ajay Kumar
·10 min read

The best CodeSandbox alternatives in 2026

Half the people looking for a CodeSandbox alternative want an embeddable editor for their docs. The other half want an API that gives an agent a machine. Those are different products, and mixing them up is why the shortlists never help.

codesandboxsandboxescomparison
Ajay Kumar
·10 min read

The best Supabase Edge Functions alternatives in 2026

Almost nobody leaves Supabase Edge Functions because of Deno. They leave because the function is at the edge and the database is not, or because the work takes longer than a function is allowed to live.

supabaseedge-functionsserverless
Ajay Kumar
·10 min read

The best Prisma Postgres alternatives in 2026

Prisma Postgres is convenient precisely because it is bundled. The bundle is also the thing you eventually want to take apart — and you can keep the ORM while replacing everything under it.

postgresprismadatabases
Ajay Kumar
·10 min read

How to branch a Postgres database for a pull request

A shared staging database is the reason your migration reviews are guesswork. Give each pull request its own copy of production-shaped data and the review becomes a fact.

postgreshow-toci
Ajay Kumar
·9 min read

How to upload and download files from a sandbox

Writing a file into a sandbox is one call. Getting a 300 MB model artifact back out is a different problem, and the API that handles the first one is the wrong tool for the second.

sandboxeshow-tosdk
Ajay Kumar
·10 min read

How to run Playwright tests in a sandbox

Playwright is fast until you run it on a shared CI runner, where eight workers fight over one page cache and a 64 MB /dev/shm. Give each shard its own machine and the flake profile changes.

playwrighthow-totesting
Ajay Kumar
·10 min read

A Checkpoint Is a Program: Isolating Untrusted Model Weights

You downloaded a checkpoint from a model hub and called torch.load. Congratulations: you ran a stranger's Python as yourself. Here's the threat model, and the disposable-microVM ingest pipeline that turns hostile weights into boring data.

securitymachine-learningpython
Ajay Kumar
·9 min read

Running Per-Tenant Blockchain RPC Nodes in MicroVMs

A synced chain node is a stateful, disk-hungry, P2P-chatty pet — and everyone tries to run one of them behind an API gateway for a thousand customers. Here's why that shape breaks, why a microVM per tenant fits, and the honest part: snapshots make provisioning cheap, but they don't make terabytes of archive state free.

blockchainrpcindexing
Ajay Kumar
·9 min read

Per-Room WebRTC Media Servers in MicroVMs

One hot room with recording on can starve every other call on the box. Here's what a microVM per room buys an SFU — and an honest accounting of the UDP, NAT, and ICE work it costs you.

microvmwebrtcmedia-servers
Ajay Kumar
·9 min read

Guest kernel lockdown and module loading in Firecracker microVMs

Root in the guest is not a breach, it is Tuesday. But what root can then do to that kernel is the first half of every escape chain — and in a snapshot-restore world, the hardening has to be baked in, because nothing runs at boot ever again.

firecrackerkernelsecurity
Ajay Kumar
·10 min read

fsfreeze and the Three Tiers of Snapshot Consistency

Copying a live disk gives you a crash-consistent image — a polite way of saying you pulled the power cord and hope the journal is forgiving. Here's the ladder from there to application-consistent, and the fsfreeze mechanics that get you up a rung.

snapshotsfilesystemconsistency
Ajay Kumar
·9 min read

IPv6 for Firecracker MicroVM Fleets

Every microVM networking guide is IPv4, TAP, NAT, a /30 per guest. That works until you run out of address space — or until someone notices your carefully written egress allowlist only speaks one address family. Here's the IPv6 version, including the parts snapshots make awkward.

networkingfirecrackermicrovm
Ajay Kumar
·11 min read

The best Rust hosting platforms in 2026

Hosting a Rust service is backwards from every other language: the artifact is the easiest thing in the world to run, and getting to it can take eight minutes and more RAM than your builder has. Evaluate the build machine first.

rusthostingapp-hosting
Ajay Kumar
·10 min read

The best .NET and ASP.NET Core hosting platforms in 2026

.NET left Windows behind years ago, but a lot of hosting advice never got the memo. The decisions that actually matter now are your publish model, JIT warmup, the GC's appetite in a memory-capped box, and whether your platform tolerates a WebSocket that lives for an hour.

dotnetaspnet-corehosting
Ajay Kumar
·10 min read

The best MongoDB Atlas alternatives in 2026

Half the people shopping for a MongoDB Atlas alternative want another document database. The other half want Postgres and have not admitted it yet. Sorting out which half you are in is the whole exercise.

mongodbatlaspostgres
Ajay Kumar
·10 min read

Cloudflare Sandbox SDK vs E2B for Agent Code

Cloudflare's Sandbox SDK binds code execution to Workers and Durable Objects. E2B is a standalone sandbox API you can call from anywhere. Same shortlist, genuinely different bets — here's how to tell which one your architecture wants.

comparisonsandboxesai-agents
Ajay Kumar