<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Infrastructure on Software - art</title>
		<link>https://softwareengineeringblog.com/tags/Infrastructure/</link>
		<description>Recent content in Infrastructure on Software - art</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
			<copyright>Laszlo Varga</copyright>
		
		
			<lastBuildDate>Thu, 08 Oct 2026 12:00:00 +0200</lastBuildDate>
		
			<atom:link href="https://softwareengineeringblog.com/tags/Infrastructure/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Extracting a Centralized Prompt Gateway</title>
				<link>https://softwareengineeringblog.com/post/2026-10-08-extracting-a-centralized-prompt-gateway/</link>
				<pubDate>Thu, 08 Oct 2026 12:00:00 +0200</pubDate>
				<guid>https://softwareengineeringblog.com/post/2026-10-08-extracting-a-centralized-prompt-gateway/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://softwareengineeringblog.com/images/blog/extracting-a-centralized-prompt-gateway.webp&#34; alt=&#34;A contemporary office setup featuring computers on desks with modern flat screens.&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Photo by &lt;a href=&#34;https://www.pexels.com/@vladimirsrajber&#34;&gt;Vladimir Srajber&lt;/a&gt; on &lt;a href=&#34;https://www.pexels.com/photo/a-flat-screen-computer-monitor-on-a-white-desk-12509206/&#34;&gt;Pexels&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Every AI-generated reply, suggestion and document SimpleWP produces is supposed to come from one place: a single, versioned &lt;a href=&#34;https://simplewp.com&#34;&gt;SimpleWP&lt;/a&gt; prompt gateway, rather than prompt wording scattered across the codebase. This is the story of how that gateway went from technically correct to actually complete — the one caller it was never built to serve, the audit that counted what was still outside it, and the missing transport feature that turned out to be the real fix. If you&amp;rsquo;ve ever &lt;a href=&#34;https://simplewp.com/create&#34;&gt;described a site to SimpleWP&amp;rsquo;s chat assistant&lt;/a&gt;, every word of that conversation now comes from the same place this story is about.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Building a Static Egress IP Relay</title>
				<link>https://softwareengineeringblog.com/post/2026-10-08-building-a-static-egress-ip-relay/</link>
				<pubDate>Thu, 08 Oct 2026 10:00:00 +0200</pubDate>
				<guid>https://softwareengineeringblog.com/post/2026-10-08-building-a-static-egress-ip-relay/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://softwareengineeringblog.com/images/blog/building-a-static-egress-ip-relay.webp&#34; alt=&#34;From below of long thin identical blue cables connected to small round electrical connectors&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Photo by &lt;a href=&#34;https://www.pexels.com/@brett-sayles&#34;&gt;Brett Sayles&lt;/a&gt; on &lt;a href=&#34;https://www.pexels.com/photo/patch-cables-plugged-in-patch-panel-4657267/&#34;&gt;Pexels&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Every outbound call SimpleWP makes to a hosting partner has to arrive from somewhere that partner&amp;rsquo;s own system already trusts. At &lt;a href=&#34;https://simplewp.com&#34;&gt;SimpleWP&lt;/a&gt;, calls to &lt;a href=&#34;https://wordpress.com/&#34;&gt;WordPress.com&lt;/a&gt;&amp;rsquo;s &lt;a href=&#34;https://wp.cloud/&#34;&gt;WP Cloud&lt;/a&gt; platform and to &lt;a href=&#34;https://dotroll.com/en/&#34;&gt;DotRoll&lt;/a&gt;&amp;rsquo;s &lt;a href=&#34;https://www.cpanel.net/&#34;&gt;cPanel&lt;/a&gt; hosting both rely on one static egress IP address, run by &lt;a href=&#34;https://simplewp.com/pages/about&#34;&gt;the engineers behind SimpleWP&lt;/a&gt; as a relay the team built and operates itself. This is the story of how that relay was designed, what one missing access path revealed once it shipped, and how the design evolved without ever changing what actually keeps it safe. A static egress IP relay sounds like a small piece of plumbing until the day a partner&amp;rsquo;s allowlist is the only thing standing between a working integration and a silent one.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Postgres Database Migration: Leaving Neon</title>
				<link>https://softwareengineeringblog.com/post/2026-10-08-postgres-database-migration-leaving-neon/</link>
				<pubDate>Thu, 08 Oct 2026 09:00:00 +0200</pubDate>
				<guid>https://softwareengineeringblog.com/post/2026-10-08-postgres-database-migration-leaving-neon/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://softwareengineeringblog.com/images/blog/postgres-database-migration-leaving-neon.webp&#34; alt=&#34;Close-up of a blue screen error shown on a data center control terminal.&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Photo by &lt;a href=&#34;https://www.pexels.com/@cookiecutter&#34;&gt;panumas nikhomkhai&lt;/a&gt; on &lt;a href=&#34;https://www.pexels.com/photo/computer-server-in-data-center-room-17489158/&#34;&gt;Pexels&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Every production database tells a quiet story about the decisions that got it there. At &lt;a href=&#34;https://simplewp.com&#34;&gt;SimpleWP&lt;/a&gt;, that story starts with a feature that was exactly right for a while, and ends with a short list of loose ends that took real effort to track down. This is a postgres database migration story end to end — why &lt;a href=&#34;https://simplewp.com/pages/about&#34;&gt;the engineers behind SimpleWP&lt;/a&gt; built what they built, what they found once they looked closely, and what changed as a result.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
