Skip to main content

Posts

Showing posts with the label Distributed Systems

AI Agent Consensus Is Not Truth. It Is a Stale Cache Read.

Summary Agent networks are pitched as a replacement for web retrieval: models already hold the knowledge, so you query a crowd of agents instead of a site. This article argues that consensus between agents produces agreement, not freshness. It covers the split between knowledge and state, correlated error in multi-agent debate, why low rank adapters do not override base model dispositions, provenance decay in agent memory graphs, and what an arbitration layer has to do before agent output can be trusted. Bottom Line Polling a network of agents is a quorum read across replicas that may never have seen a recent write. It returns what the replicas hold, which is not the same as what is true now. Somewhere in the loop a node still has to read the origin, and the moment it does you have reinvented the HTTP request with layers of hearsay in front of it. The practical takeaway: design the arbitration layer first. Disagreement between agents is only useful if something resolves ...

IoT Device Manufacturing Needs Verifiable Assembly Records

IoT security failures often originate during manufacturing. This article examines how signed firmware metadata and append-only registries improve device provenance and auditability. Using the novatechflow cerbtk proof of concept, we connect established IoT manufacturing guidance with a concrete implementation that records verifiable assembly events and device identities. I recently worked with an IoT project where we discussed device provenance during a security review. The question was simple: can you prove which firmware was installed on a specific device during manufacturing? The answer was no. Firmware builds existed in CI systems, device identities lived in spreadsheets, and assembly logs sat in a database that any admin could modify. The cryptographic chain that should connect these stages did not exist. This is not unusual. Large scale IoT deployments depend on manufacturing processes that are rarely verifiable after devices leave the factory. Firmware provenance, ke...

Data Processing Does Not Belong in the Message Broker

Apache Kafka made event streaming practical at scale. Pushing data processing into the streaming platform creates recovery, scaling, and isolation problems in production. Vendor documentation, Kafka improvement proposals, and migration case studies point to the same architectural boundary: streaming platforms handle durable transport, processing engines handle state and checkpoints. Separating them leads to systems that scale and recover cleanly. Kafka changed the industry by making event streaming practical at scale. Durable logs, ordering, fan-out, and backpressure turned event-driven systems from fragile prototypes into mainstream infrastructure. Where things get messy is when teams push data processing into the streaming platform itself: Kafka Streams, ksqlDB, broker-side transforms. It starts as convenience and ends as operational coupling. Not because engineers are doing it wrong, but because the streaming layer and the processing layer solve different problems. T...

What are the performance implications of cross-platform execution within Wayang?

Apache Wayang ® enables cross-platform execution across multiple data processing platforms such as Spark, Flink, Java Streams, PostgreSQL or GraphChi. This capability fundamentally changes the performance behavior of distributed data pipelines. Wayang reduces manual data movement by selecting where each operator should run, but crossing platform boundaries still introduces serialization cost, shifts in locality, different memory strategies and new tuning constraints. Understanding these dynamics is essential before adopting Wayang for multi-platform pipelines at scale. Apache Wayang is a cross-platform data processing framework that lets developers run a single logical pipeline across engines such as Apache Spark, Apache Flink or a native Java backend. It provides an abstraction layer and a cost-based optimizer that selects the execution platform for each operator. This flexibility introduces new performance variables that do not exist in single-engine systems. Engine boundaries ...

How to scale MySQL perfectly

When MySQL reaches its limits, scaling cannot rely on hardware alone. This article explains how strategic techniques such as caching, sharding and operational optimisation can drastically reduce load and improve application responsiveness. It outlines how in-memory systems like Redis or Memcached offload repeated reads, how horizontal sharding mechanisms distribute data for massive scale, and how tools such as Vitess, ProxySQL and HAProxy support routing, failover and cluster management. The summary also highlights essential practices including query tuning, indexing, replication and connection management. Together these approaches form a modern DevOps strategy that transforms MySQL from a single bottleneck into a resilient, scalable data layer able to grow with your application. When your MySQL database reaches its performance limits, vertical scaling through hardware upgrades provides a temporary solution. Long-term growth, though, requires a more comprehensive approach. This invo...

Build Ultra-Scalable Backends with Pekko and Kubernetes

This article revisits why Akka became a popular choice for high-performance, message-driven backends—and why its 2024 license change pushed many teams toward open alternatives like Apache Pekko or Rust-based Ractor. It explains how the actor model’s concurrency, fault isolation and distributed design pair naturally with Kubernetes, whose autoscaling, self-healing and container orchestration provide the operational backbone for resilient microservice systems. Running actors as lightweight, horizontally scalable units inside k8s lets teams absorb traffic spikes, recover from failure automatically and deploy across regions or hybrid setups with ease. With a simple deployment YAML, Kubernetes manages replicas, load balancing and availability while the actor system handles concurrency and state isolation. The takeaway: for teams building elastic, robust backends—whether with Pekko, Ractor or legacy Akka—combining actor-based runtimes with Kubernetes creates an architecture that gracefully ...

Some fun with Apache Wayang and Spark / Tensorflow

Apache Wayang is an open-source Federated Learning (FL) framework developed by the Apache Software Foundation. It provides a platform for distributed machine learning, with a focus on ease of use and flexibility. It supports multiple FL scenarios and provides a variety of tools and components for building FL systems. It also includes support for various communication protocols and data formats, as well as integration with other Apache projects such as Apache Kafka and Apache Pulsar for data streaming. The project aims to make it easier to develop and deploy machine learning models in decentralized environments. It's important to note that this are just examples and they may not be the way for your project to interact with Apache Wayang, you may need to check the documentation of the Apache Wayang project ( https://wayang.apache.org ) to see how to interact with it. I just point out how easy it is to use different languages to interact between Wayang and Spark. Also, you need to mak...