<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Simplifyd Cloud</title>
    <link>https://simplifyd.com</link>
    <description>Posts and product updates from Simplifyd Cloud — managed Postgres, Redis and Kafka, static sites, object storage and networking.</description>
    <language>en</language>
    <lastBuildDate>Fri, 14 Aug 2026 09:00:00 GMT</lastBuildDate>
    <atom:link href="https://simplifyd.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>IPsec site-to-site VPN</title>
      <link>https://simplifyd.com/changelog/ipsec-site-to-site-vpn</link>
      <guid isPermaLink="false">simplifyd-changelog-ipsec-site-to-site-vpn</guid>
      <pubDate>Fri, 14 Aug 2026 09:00:00 GMT</pubDate>
      <description>Connect an environment directly to your corporate or partner network over an encrypted IPsec tunnel.</description>
      <content:encoded><![CDATA[<p>Environments can now terminate a site-to-site IPsec tunnel on a dedicated, stable public IP. Point your peer at that address, agree on the proposals, and your services reach the remote network as if they sat inside it.</p><ul><li>One gateway per environment, on a fixed public IP that never changes</li><li>IKEv2 with configurable phase 1 and phase 2 proposals, authenticated by pre-shared key</li><li>You own the addressing on your side, so overlapping subnets stay your call</li></ul><p>Partners that require a unique, non-overlapping subnet per tenant — banks especially — can now be onboarded without a bastion hop.</p>]]></content:encoded>
      <category>Networking</category>
      <category>New</category>
    </item>
    <item>
      <title>Ship a static site without writing a Dockerfile</title>
      <link>https://simplifyd.com/blog/ship-a-static-site-without-a-dockerfile</link>
      <guid isPermaLink="false">simplifyd-blog-ship-a-static-site-without-a-dockerfile</guid>
      <pubDate>Wed, 12 Aug 2026 09:00:00 GMT</pubDate>
      <description>Static sites on Simplifyd are served straight from object storage. Here is the whole path from built assets to a custom domain with a certificate.</description>
      <content:encoded><![CDATA[<p>Most front ends do not need a container. They need a bucket, a CDN edge and a certificate. But the standard cloud workflow still asks you to write a Dockerfile, pick a base image, configure nginx and keep all three patched — for a folder of files that never executes anything.</p><p>Simplifyd has a static site service type that skips the whole detour. You create the service, publish your built assets, and they are served from object storage behind our edge.</p><h2>Create the service</h2><p>From the console, create a service and choose Static site. There is no image to pick and no port to expose, because nothing is running — the bucket is the service.</p><h2>Publish your files</h2><p>Files are published inline through the API, so anything that can make an HTTP request can deploy. The CLI wraps it:</p><pre><code>npm run build
simplifyd static publish ./dist</code></pre><p>That last command replaces the previous contents in place. There is no build step on our side to wait for and no window where half the old site is serving next to half the new one.</p><h2>Or let an agent do it</h2><p>Because publishing is a plain API call rather than a Docker build, an AI agent connected over MCP can deploy for you. Point Claude at your repo, connect the Simplifyd MCP server, and &quot;build this and publish it&quot; is a single instruction — no local Docker daemon, no registry login, no CI runner.</p><p>This was the actual reason we built inline publishing the way we did. An agent cannot run a Docker build inside a chat session, but it can absolutely send files to an endpoint.</p><h2>Attach your domain</h2><p>Custom domains attach as bucket aliases and certificates are issued automatically. Point a CNAME at the address we give you and the certificate follows.</p><blockquote><p>A static site should cost you one command and one DNS record. Everything past that is accidental complexity someone else decided you needed.</p></blockquote><p>If you have been putting off moving a marketing site or a docs build because the container work was not worth it, this is the path that removes the excuse.</p>]]></content:encoded>
      <category>Guides</category>
      <category>Deploys</category>
    </item>
    <item>
      <title>Deploy static sites without a Dockerfile</title>
      <link>https://simplifyd.com/changelog/static-sites</link>
      <guid isPermaLink="false">simplifyd-changelog-static-sites</guid>
      <pubDate>Tue, 28 Jul 2026 09:00:00 GMT</pubDate>
      <description>A new static site service type serves your built assets straight from object storage — no container image required.</description>
      <content:encoded><![CDATA[<p>Publishing a front end no longer means writing a Dockerfile. Create a static site service, push your files, and they are served from a bucket behind our edge.</p><ul><li>Publish files inline through the API, the CLI, or an AI agent over MCP</li><li>Custom domains attach as bucket aliases, with certificates issued automatically</li><li>Publishing new files replaces the old ones in place, with no downtime</li></ul>]]></content:encoded>
      <category>Deploys</category>
      <category>New</category>
    </item>
    <item>
      <title>Managed Kafka in KRaft mode, and the small-cluster trap</title>
      <link>https://simplifyd.com/blog/managed-kafka-kraft-small-clusters</link>
      <guid isPermaLink="false">simplifyd-blog-managed-kafka-kraft-small-clusters</guid>
      <pubDate>Wed, 22 Jul 2026 09:00:00 GMT</pubDate>
      <description>Running Kafka without ZooKeeper is the easy part. Making a one-broker cluster actually reach ready is where most self-hosted setups quietly hang.</description>
      <content:encoded><![CDATA[<p>Kafka on Simplifyd runs in KRaft mode. There is no ZooKeeper ensemble to size, patch or wake up for at night — the controllers hold the metadata quorum themselves. That much is just following where upstream Kafka went.</p><p>The interesting part is what happens when someone provisions the smallest possible cluster.</p><h2>Why a one-broker cluster hangs</h2><p>Kafka creates internal topics for its own bookkeeping, the best known being __consumer_offsets. By default those topics ask for a replication factor of 3. On a healthy production cluster that is exactly what you want.</p><p>On a single-broker development cluster it is unsatisfiable. Kafka cannot place three replicas on one broker, so the topic is never created, so the cluster never reports ready. Nothing in the logs says &quot;your replication factor is impossible&quot; — it simply waits.</p><p>Anyone who has stood up a scratch Kafka to test a consumer has hit this and assumed the operator was broken.</p><h2>What we do instead</h2><p>We clamp internal topic replication to the actual broker count at provision time. A one-broker cluster gets a replication factor of one and comes up in under a minute. A three-broker cluster gets three. You do not configure it and you cannot get it wrong.</p><h2>Two topologies</h2><ul><li>Standalone puts the broker and controller roles on a single node. It is for development, and we are direct about that — one node is one failure domain.</li><li>Cluster splits brokers and controllers into separate node pools that scale independently, which is what you want when the thing on the other end is a payment stream.</li></ul><p>Storage scales with brokers. Controllers hold metadata, not your messages, so they take a fixed small volume rather than whatever you sized your brokers for — you are not billed for broker-sized disks on nodes that will never fill them.</p><h2>What we did not ship</h2><p>There is no public endpoint. Kafka clients reconnect to whatever address the cluster advertises, which means genuine external access needs a stable, unique public address for every broker. The shared-IP approach that works for a normal HTTP service cannot express that, and shipping something that half-works over a protocol this stateful would be worse than shipping nothing.</p><p>Clusters are reachable from services in the same environment. If you need to reach one from outside, talk to us about what you are trying to do.</p><blockquote><p>Managed does not mean &quot;we ran the same install script you would have.&quot; It means the defaults that quietly fail at small scale were found and fixed before you met them.</p></blockquote>]]></content:encoded>
      <category>Engineering</category>
      <category>Data stores</category>
    </item>
    <item>
      <title>IP allowlisting for TCP and UDP ports</title>
      <link>https://simplifyd.com/changelog/l4-ip-allowlisting</link>
      <guid isPermaLink="false">simplifyd-changelog-l4-ip-allowlisting</guid>
      <pubDate>Fri, 17 Jul 2026 09:00:00 GMT</pubDate>
      <description>Restrict who can reach a proxied port by attaching allowed CIDR ranges to it.</description>
      <content:encoded><![CDATA[<p>Every TCP or UDP ingress port can now carry a list of allowed source ranges. Traffic from anywhere else is dropped at the load balancer, before it ever reaches your service.</p><p>Set the ranges when you add a port, or edit them later from the networking tab. Leave the list empty to keep the port open to the world.</p>]]></content:encoded>
      <category>Networking</category>
      <category>Security</category>
    </item>
    <item>
      <title>Managed Kafka</title>
      <link>https://simplifyd.com/changelog/managed-kafka</link>
      <guid isPermaLink="false">simplifyd-changelog-managed-kafka</guid>
      <pubDate>Tue, 30 Jun 2026 09:00:00 GMT</pubDate>
      <description>Provision a KRaft-mode Kafka cluster in a couple of clicks, in either standalone or multi-node topology.</description>
      <content:encoded><![CDATA[<p>Kafka joins Postgres and Redis as a fully managed service. Clusters run in KRaft mode — no ZooKeeper to operate — and we handle node pools, storage and internal topic replication for you.</p><ul><li>Standalone mode combines broker and controller roles on one node, ideal for development</li><li>Cluster mode splits brokers and controllers into pools that scale independently</li><li>Internal topic replication is matched to your broker count, so small clusters still come up healthy</li></ul><p>Kafka is reachable from services inside your environment over the private network.</p>]]></content:encoded>
      <category>Data stores</category>
      <category>New</category>
    </item>
    <item>
      <title>The Postgres features teams actually ask for</title>
      <link>https://simplifyd.com/blog/postgres-that-does-not-need-a-dba</link>
      <guid isPermaLink="false">simplifyd-blog-postgres-that-does-not-need-a-dba</guid>
      <pubDate>Wed, 24 Jun 2026 09:00:00 GMT</pubDate>
      <description>Extra databases, extra users, tunable parameters and real backups — the four things that turn a managed Postgres from a demo into somewhere you keep production data.</description>
      <content:encoded><![CDATA[<p>A managed Postgres that only gives you one database and one superuser is a demo. It works right up to the first time you need a read-only user for your analytics tool, and then you are opening a support ticket.</p><p>Here is what a Postgres service on Simplifyd actually gives you.</p><h2>More than one database</h2><p>You can create additional databases on the same instance. Small teams run several services against one Postgres long before splitting it is worth the cost, and pretending otherwise just pushes people into sharing a single database across unrelated schemas.</p><h2>Users with real boundaries</h2><p>Create additional users with their own credentials. The obvious case is a read-only account for a BI tool or a nightly export — something that should never be holding your application superuser password.</p><h2>Parameters you can tune</h2><p>Postgres ships conservative defaults tuned for a machine that no longer exists. You can adjust parameters on your instance rather than filing a ticket and waiting.</p><h2>Backups you can trigger</h2><p>Automatic backups run on a schedule, and you can take one on demand — before a migration, before a risky deploy, before anything you would rather be able to undo.</p><pre><code>simplifyd postgres backup create --service my-db</code></pre><h2>Why this list</h2><p>None of these are exotic. They are the four things every team asks for within a month of putting real data somewhere, and the four things that most cheap managed offerings hold back for a higher tier.</p><blockquote><p>The test of a managed database is not the first day. It is the day you need a second user and find out whether that was in the plan.</p></blockquote>]]></content:encoded>
      <category>Guides</category>
      <category>Data stores</category>
    </item>
    <item>
      <title>Additional Postgres databases and users</title>
      <link>https://simplifyd.com/changelog/postgres-databases-and-users</link>
      <guid isPermaLink="false">simplifyd-changelog-postgres-databases-and-users</guid>
      <pubDate>Thu, 11 Jun 2026 09:00:00 GMT</pubDate>
      <description>One Postgres service can now host several databases and roles, each with its own credentials.</description>
      <content:encoded><![CDATA[<p>Instead of running a service per database, add extra databases and users to an existing Postgres service. Each user gets a generated password, surfaced as a ready-to-use connection string in the dashboard.</p><p>Ownership and grants are reconciled continuously, so a role you remove in the console is removed on the cluster too.</p>]]></content:encoded>
      <category>Data stores</category>
    </item>
    <item>
      <title>Why we built a cloud here</title>
      <link>https://simplifyd.com/blog/why-a-cloud-built-here</link>
      <guid isPermaLink="false">simplifyd-blog-why-a-cloud-built-here</guid>
      <pubDate>Thu, 28 May 2026 09:00:00 GMT</pubDate>
      <description>Every millisecond your users wait is a round trip to another continent. We think infrastructure for African products should sit on the same continent as the people using them.</description>
      <content:encoded><![CDATA[<p>If you build for users in Lagos, Nairobi or Accra and deploy to a region in Northern Virginia or Frankfurt, every request your users make crosses an ocean twice. That is not a configuration mistake — it is the default that most tooling quietly makes for you.</p><p>It shows up as latency you cannot optimise away in code. You can shave milliseconds off a query all week and lose them again on the way to the database.</p><h2>Physics is not a tuning problem</h2><p>You can cache aggressively at the edge, and you should. But the moment a request needs to write something, or read something a cache cannot serve, it goes back to wherever your database lives. No CDN fixes a write path.</p><p>Putting the whole stack — app, Postgres, Redis, Kafka, object storage — in the same place as your users is the only version of this that works.</p><h2>Paying in the currency you earn in</h2><p>The second problem has nothing to do with speed. Cloud bills arrive in dollars, on a card, at whatever the rate happens to be that month. For a business earning in naira, that turns a fixed infrastructure cost into a currency position nobody asked for.</p><p>We bill in naira and take local payment methods. Your infrastructure cost stops moving for reasons that have nothing to do with your infrastructure.</p><h2>What we are building</h2><ul><li>Managed Postgres, Redis and Kafka, with the defaults that fail quietly at small scale already fixed</li><li>S3-compatible object storage that existing tooling talks to without changes</li><li>Static sites, container deploys, and networking that includes real TCP and UDP proxying</li><li>An MCP server, so AI coding agents can deploy to us directly</li></ul><blockquote><p>Building for this market should not mean accepting worse latency, or a bill denominated in someone else’s currency.</p></blockquote><p>If you are running something here and paying an ocean of latency for it, we would like to hear what you are running.</p>]]></content:encoded>
      <category>Company</category>
    </item>
    <item>
      <title>Two-factor authentication</title>
      <link>https://simplifyd.com/changelog/totp-mfa</link>
      <guid isPermaLink="false">simplifyd-changelog-totp-mfa</guid>
      <pubDate>Tue, 19 May 2026 09:00:00 GMT</pubDate>
      <description>Protect your account with a TOTP authenticator app and a set of single-use recovery codes.</description>
      <content:encoded><![CDATA[<p>Enable two-factor authentication from account settings, scan the QR code with Google Authenticator, 1Password or any TOTP app, and confirm with a code. From then on, signing in asks for a second factor.</p><p>You are issued ten recovery codes at setup — store them somewhere safe. If you lose both your device and your codes, support can reset the factor for you.</p>]]></content:encoded>
      <category>Security</category>
    </item>
    <item>
      <title>CPU and memory metrics</title>
      <link>https://simplifyd.com/changelog/service-metrics</link>
      <guid isPermaLink="false">simplifyd-changelog-service-metrics</guid>
      <pubDate>Wed, 11 Mar 2026 09:00:00 GMT</pubDate>
      <description>Every service now has a metrics view showing CPU and memory usage over time.</description>
      <content:encoded><![CDATA[<p>We sample usage every minute and keep thirty days of history. Open the metrics tab on any service to see per-pod CPU and memory, over ranges from the last hour to the last month.</p>]]></content:encoded>
      <category>Observability</category>
    </item>
  </channel>
</rss>
