<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Fulgurion Systems Blog</title><link>https://fulgurion.com/blog/</link><description>Recent content on Fulgurion Systems Blog</description><image><title>Fulgurion Systems Blog</title><url>https://fulgurion.com/blog/images/Logo-linkedin.png</url><link>https://fulgurion.com/blog/images/Logo-linkedin.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 29 May 2026 00:00:00 -0300</lastBuildDate><atom:link href="https://fulgurion.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Lambda Scales Automatically, but Within Limits</title><link>https://fulgurion.com/blog/posts/lambda-scales-within-limits/</link><pubDate>Fri, 29 May 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/lambda-scales-within-limits/</guid><description>&lt;p&gt;Serverless is sold as a system that scales itself: you write the function, and as traffic grows AWS Lambda provisions whatever capacity it takes to keep up. That is true for the majority of workloads, and it is one of the better reasons to reach for Lambda. It is not unbounded. Lambda&amp;rsquo;s autoscaling is limited on two independent axes, and both are easy to miss until real traffic hits them:&lt;/p&gt;</description></item><item><title>Observability Is More Than Logs</title><link>https://fulgurion.com/blog/posts/observability-more-than-logs/</link><pubDate>Fri, 22 May 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/observability-more-than-logs/</guid><description>&lt;p&gt;Observability is the ability to understand the internal state of a system by examining its external outputs. It is a broader capability than logging, and the gap between the two becomes obvious the first time a system reaches a state nobody designed for. This is the first post in a series on observability. It covers what the term means, why logs alone leave you debugging in production, the commercial case for investing in observability, and the bar an application has to clear before you can say it has it.&lt;/p&gt;</description></item><item><title>Exporting Telemetry from a Function That Scales to Zero</title><link>https://fulgurion.com/blog/posts/lambda-telemetry-scales-to-zero/</link><pubDate>Mon, 18 May 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/lambda-telemetry-scales-to-zero/</guid><description>&lt;p&gt;AWS Lambda forwards everything you write to stdout into CloudWatch for free, and it keeps doing so even after your handler has returned. The moment you want richer signals than text logs, or you want to send them anywhere other than CloudWatch, that free path stops being enough: you have to push the data over the network yourself. On a function that freezes between invocations, every way of doing that trades off against one of two things. &lt;strong&gt;You either pay Lambda&amp;rsquo;s per-millisecond billing for the time spent waiting on a remote endpoint, or you risk dropping the telemetry entirely when the environment is suspended out from under you.&lt;/strong&gt; This post walks the approaches from simplest to most reliable and names where each one bills you or loses signals. The problem is not specific to CloudWatch; it applies to any serverless environment that scales to zero.&lt;/p&gt;</description></item><item><title>Backend Infrastructure as a Business Concern</title><link>https://fulgurion.com/blog/posts/backend-infrastructure-business-concern/</link><pubDate>Fri, 08 May 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/backend-infrastructure-business-concern/</guid><description>&lt;p&gt;A company&amp;rsquo;s ability to operate in its market is bounded by what its backend can absorb: how fast safe changes reach production, whether a regression is contained or systemic, whether one broken component takes the rest down, whether a change has been exercised against production-like state before users see it, and whether the team observes problems before customers do. Each maps to a category of business risk and competitive position.&lt;/p&gt;</description></item><item><title>Streaming LLM Tokens Through AWS API Gateway</title><link>https://fulgurion.com/blog/posts/rust-on-aws-lambda-streaming/</link><pubDate>Thu, 30 Apr 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/rust-on-aws-lambda-streaming/</guid><description>&lt;p&gt;The previous four posts (&lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda/"&gt;Part 1&lt;/a&gt;, &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start/"&gt;Part 2&lt;/a&gt;, &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start-anatomy/"&gt;Part 3&lt;/a&gt;, &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda-wrong-tool/"&gt;Part 4&lt;/a&gt;) covered Rust on Lambda from cold starts to architectural fit. This one is a sibling rather than a sequel, focused on a specific AWS gotcha that bites anyone wiring an LLM behind API Gateway: &lt;strong&gt;HTTP API v2 does not support response streaming&lt;/strong&gt;. The modern, recommended Gateway flavor is the wrong tool for streaming LLM tokens. The older REST API got streaming support in &lt;strong&gt;November 2025&lt;/strong&gt;. If you reach for HTTP API v2 by reflex (and most &amp;ldquo;use the modern one&amp;rdquo; guides will tell you to), your token stream silently collapses into a single buffered response.&lt;/p&gt;</description></item><item><title>Rust Meets Serverless, Part 4: When Lambda Is the Wrong Tool</title><link>https://fulgurion.com/blog/posts/rust-on-aws-lambda-wrong-tool/</link><pubDate>Fri, 24 Apr 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/rust-on-aws-lambda-wrong-tool/</guid><description>&lt;p&gt;In &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda/"&gt;Part 1&lt;/a&gt;, &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start/"&gt;Part 2&lt;/a&gt;, and &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start-anatomy/"&gt;Part 3&lt;/a&gt; I argued for Rust on Lambda and measured where the gains come from. This post draws the other edge of that fence: the shapes of work where Lambda is the wrong architectural choice, however lean the binary, and whichever language you wrote it in. The common thread across every case below is a single billing fact: &lt;strong&gt;Lambda charges you for wall-clock duration, including the time your handler spends waiting on IO.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Rust Meets Serverless, Part 3: Anatomy of a Cold Start</title><link>https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start-anatomy/</link><pubDate>Wed, 22 Apr 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start-anatomy/</guid><description>&lt;p&gt;In &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start/"&gt;Part 2&lt;/a&gt; I measured the cold start of a minimal Rust Lambda at 18 to 22 ms. This post breaks down what that init window is actually paying for, and which parts you can move.&lt;/p&gt;
&lt;p&gt;The short version: out of the four phases that make up a cold start, only two are under your control. The rest is AWS infrastructure that you inherit whether you like it or not.&lt;/p&gt;
&lt;h2 id="the-four-phases"&gt;The Four Phases&lt;/h2&gt;
&lt;p&gt;&lt;img alt="Lambda init phase breakdown for Rust" loading="lazy" src="https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start-anatomy/lambda-init.svg"&gt;&lt;/p&gt;</description></item><item><title>Rust Meets Serverless, Part 2: Cold Start Times</title><link>https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start/</link><pubDate>Tue, 21 Apr 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/rust-on-aws-lambda-cold-start/</guid><description>&lt;p&gt;In &lt;a href="https://fulgurion.com/blog/posts/rust-on-aws-lambda/"&gt;Part 1&lt;/a&gt; I covered why Rust on AWS Lambda is worth exploring and laid out the project setup. This post measures the one number that matters most for serverless latency: cold start time. To get a clean floor measurement, I used the simplest possible endpoint with no database, no external calls, and no middleware.&lt;/p&gt;
&lt;h2 id="the-benchmark-setup"&gt;The Benchmark Setup&lt;/h2&gt;
&lt;p&gt;The handler is a single health endpoint built with Axum and Cargo Lambda:&lt;/p&gt;</description></item><item><title>Rust Meets Serverless, Part 1: Getting Started with AWS Lambda</title><link>https://fulgurion.com/blog/posts/rust-on-aws-lambda/</link><pubDate>Mon, 20 Apr 2026 00:00:00 -0300</pubDate><guid>https://fulgurion.com/blog/posts/rust-on-aws-lambda/</guid><description>&lt;p&gt;After watching &lt;a href="https://www.youtube.com/watch?v=SYUUNO3M6zw"&gt;Benjamen Pyle&amp;rsquo;s talk on Rust and AWS Lambda&lt;/a&gt; at QCon 2025, I got curious enough to try it myself. Rust is known to be one of the best languages for building high-performing services, used across different industries where performance and stability are non-negotiable. One would expect these services to run on dedicated instances (either in the cloud or on bare-metal machines) in order to take full advantage of its benefits. However, in this post I explore whether Rust can be efficiently used in AWS Lambda.&lt;/p&gt;</description></item></channel></rss>