Systems | Development | Analytics | API | Testing

gRPC Mocks, Tests and Contract Checks From a .proto

Change one field in a.proto from double to string, and nothing complains. The code compiles, the deploy goes green, and a service still built from the old contract keeps answering with a double. Here’s what Go’s protobuf runtime does when a client on the new contract reads that answer: No error. risk_score comes back empty, and the nine bytes of the double are tucked away as unknown fields.

Inside Kraken: Regression Testing With Traffic Replay

A readiness check should make a release safer. During one release validation, ours kept Kraken’s traffic replays stuck in Initializing until they timed out. The operator was asking Kubernetes for EndpointSlices. Its installed permissions did not allow that request. The code needed a real cluster, the generated permissions, and a replay trying to start before that mistake became obvious. Kraken put those pieces together during release validation.

Test and Mock GraphQL APIs Without Trusting the 200

Replay a GraphQL recording at the server that produced it, and every request comes back 200 OK. Here is one of those 200s, from a Session query whose recorded token has expired: A GraphQL server reports most failures inside a successful HTTP response, so any check that stops at the status code passes this request. And that is the second way GraphQL hides from URL-shaped tooling.

5 Questions to Ask Before the Next Cloud Outage

On October 20, a power failure in one of Google Cloud’s three London zones disrupted Revolut, Lloyds, HSBC and others for hours. One zone failed, errors spread region-wide, and Google warned customers they might not be able to create new workloads to fail over to. Most teams find out how resilient they are during an outage, not before one. These five questions let you find out first.

Load Test One Endpoint, Watch the Rest

What happens to transaction posting when statement traffic gets expensive? That’s the question a bank’s platform team actually needs answered before a busy month-end. It’s also a question most load tests can’t ask, because they turn one dial for the whole recording. Statements get heavier, posting gets heavier, and the average latency across both looks fine right up until customers can’t move money.
Sponsored Post

Use AI and traffic replay to test AI-generated code

When I ask an AI agent to change code, I also want it to run the application and test what it changed. Asking it to write some tests is a start. But if it invents the expected responses from the same assumptions it used to write the code, those tests can miss the same mistake. Traffic replay gives the agent something concrete to test against: requests and responses captured from a working application. The agent can run those requests against its changes, inspect the differences, and repeat the test after a fix. I can open the same results and check its work.

Observability Never Really Shifted Left

We made software development faster. Now we need to make validation faster, too. For the last decade we have shifted development left. Testing, security, performance, and CI/CD all moved closer to the developer. Observability mostly did not. It still starts after deployment (we covered the incident side of this in Your Observability Stack Found the Fire), which means the people writing the code rarely have meaningful production behavior to observe while they build.

Holiday readiness: run your first load test with skills

Before you can answer whether checkout will survive Black Friday, you need a test you can rerun. In this demo, we used a coding agent and the Speedscale skills to record a Node app, mock its downstream API, and run a 30-second load test with 10 virtual users. That’s a small first step in holiday readiness. It gives you a working test and a result to inspect, with time left to fix what you find before a code freeze.

Load Test PostgreSQL Instantly using Production Recordings

The first PostgreSQL post ran on a laptop: a demo app, a Docker container, and the proxymock CLI. That is the fastest way to see the idea. It is also not where your database problems live. Your real query mix lives in the cluster, where a Java service with a connection pool, an ORM and a schema migration tool sends the statements nobody wrote by hand. This post deploys an open source banking app to Kubernetes and records the queries one of its services sends to PostgreSQL.