Home / Companies / Speedscale / Blog / August 2026

August 2026 Summaries

10 posts from Speedscale

Filter
Month: Year:
Post Summaries Back to Blog
Observability technologies such as telemetry agents, automatic APM, manual OpenTelemetry instrumentation, Kubernetes sidecars, eBPF, and proxies collect different forms of evidence rather than serving as direct replacements for one another. Metrics provide aggregate system health, logs report selected events, APM traces connect common framework operations, manual instrumentation supplies business context, eBPF reveals host and network behavior, and traffic capture can preserve complete protocol exchanges. Agents primarily collect, enrich, buffer, and route existing telemetry, while APM and manual instrumentation create increasingly detailed runtime and domain-level context, though both introduce compatibility, maintenance, privacy, and cost considerations. Sidecars are deployment patterns rather than telemetry types, offering workload-local collection at the expense of per-pod resources and operational complexity, whereas eBPF can cover broad fleets without code changes but depends on host permissions, kernel support, and limited application semantics. Proxies and MITM traffic capture provide valuable request and response visibility for API debugging, replay, testing, and analytics, but can affect latency, require TLS certificate management, and expose highly sensitive data. The recommended approach is a layered strategy that begins with compact, low-cost signals, adds traces and business instrumentation where needed, uses eBPF for system or legacy gaps, and enables payload capture selectively under strong controls for sampling, redaction, encryption, retention, access auditing, and collector health.
Aug 19, 2026 2,292 words in the original blog post.
Software organizations are increasingly reframing site reliability engineering as broader “reliability engineering,” reflecting a need to connect production behavior with design, development, testing, and release decisions rather than treating reliability as an operations-only concern. The shift is especially relevant as AI coding agents accelerate implementation, making production context, judgment, and verification more valuable even while coding skills become more accessible. The discussion argues that conventional “shift left” practices often added checks without closing the feedback loop between incidents, telemetry, customer behavior, and engineering work, leaving teams able to observe failures but not systematically convert them into safer software. Research and recent outages suggest that AI-driven development can increase productivity while reducing delivery stability when verification systems do not keep pace with code volume and change scale. Emerging software-factory models, including integrated vendor platforms, multi-agent environments, bespoke enterprise systems, and private on-premises deployments, may standardize software delivery but cannot supply each organization’s unique operational knowledge. Reliability engineers are therefore positioned to maintain an evidence-based loop in which production failures become regression tests, traffic informs validation, SLOs guide release decisions, and incidents update agent instructions, controls, and safeguards.
Aug 19, 2026 2,131 words in the original blog post.
A mock server’s long-standing fault-injection feature was discovered to be ineffective because returning without writing a response caused Go’s net/http to send a normal 200 OK response, illustrating the central distinction between infrastructure chaos testing and application chaos testing. Infrastructure tools such as Gremlin, LitmusChaos, and Chaos Mesh test platform resilience to failures involving pods, nodes, networks, and regions, while application-level fault injection tests whether service code correctly handles failed requests, malformed payloads, latency, retries, circuit breakers, and fallbacks. Citing research and examples from Netflix and Cloudflare, the account argues that many serious distributed-system failures result from mishandled errors or unexpected data rather than lost infrastructure, and that some emergent failures such as retry storms require testing both layers together. It recommends separate ownership and cadence for the practices, with platform teams conducting infrastructure game days and service teams running deterministic application-fault tests in CI, while validating outcomes at the caller rather than merely confirming that a fault injector ran.
Aug 17, 2026 1,465 words in the original blog post.
A reproducible SRE lab demonstrates how to diagnose p95 latency regressions caused by waiting rather than CPU work, using a checkout API whose pricing client is intentionally limited to two pooled connections while handling eight concurrent users. Prometheus measures request-duration latency, connection-acquisition wait time through Go httptrace, and CPU consumption, showing that a roughly 190 ms p95 request latency is largely explained by a 140 ms p95 connection wait while CPU remains near 0.05 cores. Proxymock records the real inbound request and outbound pricing dependency exchange, then replays an identical 1,200-request workload for baseline and candidate versions, while functional replay and response diffs verify that performance changes do not alter stable response behavior. Raising the client connection budget from 2 to 16 eliminates queueing, reducing replay p95 latency from 173 ms to 46 ms and Prometheus connection-wait p95 to about 1 ms, while increasing throughput without introducing failures or response differences. The lab emphasizes using histograms and saturation metrics first to distinguish wait time from compute time, reserving CPU profiling for work-bound incidents, and cautions that production dependencies must be validated before increasing concurrency limits.
Aug 13, 2026 1,987 words in the original blog post.
A Kubernetes troubleshooting lab demonstrates how client-side timeouts alone cannot distinguish between a slow dependency, an unreachable service, or packets dropped in transit, using Cilium Hubble for kernel-level flow evidence and proxymock for recording, reproducing, and validating application behavior. The lab deploys a Go service that calls an in-cluster catalog dependency, records a healthy response baseline, then applies an incomplete Cilium egress policy that permits DNS but, through Cilium’s default-deny behavior, silently blocks TCP traffic to the dependency. Requests consequently fail after a consistent five-second timeout with little useful application logging, while Hubble shows DNS queries being forwarded and TCP SYN packets from catalog-api to catalog-fixture on port 8090 being dropped with the POLICY_DENIED reason. The guide stresses that retransmitted dropped packets must not be confused with failed requests, and that evidence should separately support application, dependency, and network conclusions. After adding a narrowly scoped egress rule for the fixture service, functional and load replays confirm that dropped flows disappear, connectivity returns, and the recorded caller-visible response contract remains unchanged. It also notes that Hubble is a discriminator rather than a complete diagnosis tool, with limitations involving ring-buffer retention, platform support, production topology complexity, and the need for traces when flows show the network is healthy.
Aug 13, 2026 3,043 words in the original blog post.
A reproducible observability lab demonstrates how a production-only branch can produce correct responses while causing unnecessary retries, log volume, dependency calls, and latency that ordinary tests miss. Using a checkout API, Loki structured logs, Grafana MCP, and proxymock recordings, the lab identifies a pricing response for SKU SSC-7300 in a REPRICING state that includes an authoritative last settled price, yet the client retries it three times before using that same value. Replaying recorded traffic shows that 100 of 800 requests follow this path, generating 300 warnings, 100 errors, four dependency calls per affected request, and roughly 432 ms p95 latency while still returning successful responses. Log queries correlate the retries to their dependency state and request chains, while recorded outbound payloads establish that the fallback value was available on the first response rather than inferred after retry exhaustion. A minimal client change honors the settled price immediately but preserves a single warning to record the legitimate repricing transition; replay comparison then confirms identical stable responses and request outcomes, alongside reduced pricing calls, elimination of retry-exhausted errors, and a drop in affected-path p95 duration to about 1 ms. The lab also distinguishes expensive handled state transitions from genuine failures, notes timestamp and measurement limitations, and emphasizes that retry behavior should depend on whether a dependency response contains a usable authoritative value.
Aug 13, 2026 2,459 words in the original blog post.
Traditional synthetic monitoring relies on manually written scripts, which can become difficult to maintain and may overlook complex or unexpected customer journeys in distributed applications. The text argues that real production transactions offer a more scalable and representative source for synthetic tests because they capture actual user behavior, including interactions across services, APIs, databases, and third-party dependencies. Organizations can capture representative transactions, sanitize sensitive data, virtualize necessary dependencies, and replay them safely in non-production environments to create continuously reusable tests. Observability platforms could support this approach by identifying critical transactions affected by latency or failures and converting them into ongoing validation tests, while transaction-replay tools such as Speedscale could capture, transform, and execute those transactions. This model aims to shift synthetic monitoring from static availability checks and engineer assumptions toward continuously evolving tests based on the customer experiences that matter most.
Aug 13, 2026 858 words in the original blog post.
The guide presents a Kubernetes lab for investigating opaque services without modifying source code, combining OpenTelemetry eBPF Instrumentation (OBI) for kernel-level HTTP endpoint discovery, RED metrics, and distributed tracing with proxymock for recording and replaying real inbound and outbound traffic. Using a Go application with an undocumented-looking `/api/stats` route that calls `/v1/projects`, the lab shows how to capture request boundaries, preserve machine-generated query time windows, query Prometheus and Tempo through MCP tools, and determine that most observed request latency is spent in the downstream dependency. It emphasizes that telemetry attributes where time is spent, while recorded traffic establishes the concrete request-response contract and enables functional and load replay independently of telemetry. The workflow uses functional replay as a correctness gate before a 100-request load replay, clarifies that faster mocked replay reflects dependency isolation rather than application optimization, and recommends adding targeted source instrumentation only when boundary-level evidence cannot explain internal delays. It also outlines required tooling, pinned component versions, security and platform constraints for eBPF, and limitations involving kernels, encrypted or non-HTTP/1.1 traffic, Prometheus counter interpretation, and replay performance measurements.
Aug 12, 2026 2,051 words in the original blog post.
A hands-on Go catalog API lab demonstrates how to diagnose and safely fix serial downstream inventory calls using Grafana Tempo tracing and proxymock traffic recording and replay. An inbound request containing eight product IDs produces eight sequential inventory lookups, creating a roughly 302 ms critical path despite low CPU use and no failures; Tempo identifies the non-overlapping span pattern, while proxymock connects it to the recorded request input and preserves dependency responses for repeatable testing. The workflow records traffic, runs correctness and load replays with saved timestamp windows, uses MCP tools to inspect recorded exchanges and Tempo traces, and requires evidence of response equivalence before code changes. The proposed fix uses bounded concurrency of four calls while preserving validation, request order, cancellation, errors, and response values, then validates the candidate against the same recording through stable-field response diffs, functional replays, load results, and updated traces. Reference results retained eight dependency calls and 17 spans but changed the trace from eight serial calls to two waves of four, reducing critical-path latency from about 302 ms to 85 ms and increasing local load throughput, while noting that these controlled offline measurements do not establish production capacity or replace separate evaluation of batching alternatives.
Aug 11, 2026 2,507 words in the original blog post.
The walkthrough presents an auditable Kubernetes sizing method that combines OpenCost allocation data with proxymock traffic replay to ensure that lower resource allocations reduce cost per successful request without degrading application behavior or throughput. It frames allocation cost divided by successful requests as a FinOps metric useful for showback and chargeback, while noting that production accounting must still account for commitments, discounts, idle capacity, storage, and networking. In a local minikube-based lab, a baseline pod is tested through functional and load replays, with OpenCost measuring CPU and memory costs and proxymock detecting stable response differences, failures, throughput, and latency. An initial reduction in CPU and memory is rejected because CPU throttling sharply lowers throughput and raises unit cost despite acceptable latency, while a final candidate that preserves CPU and reduces oversized memory passes functional checks, maintains nearly equivalent performance, and lowers total cost per successful request by 13.03%. The process emphasizes using identical, recorded traffic conditions and fixed measurement windows so that sizing decisions are supported by reproducible evidence rather than resource-cost estimates alone.
Aug 11, 2026 1,077 words in the original blog post.