<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Flora Brandão</title>
    <description>The latest articles on DEV Community by Flora Brandão (@florabrandao).</description>
    <link>https://dev.to/florabrandao</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3829268%2Fefd30783-eff8-4377-b862-ab1045d5f0ad.jpg</url>
      <title>DEV Community: Flora Brandão</title>
      <link>https://dev.to/florabrandao</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/florabrandao"/>
    <language>en</language>
    <item>
      <title>Hosting unreachable web applications on Upsun 🔒</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Fri, 09 Oct 2026 11:27:27 +0000</pubDate>
      <link>https://dev.to/upsun/hosting-unreachable-web-applications-on-upsun-37of</link>
      <guid>https://dev.to/upsun/hosting-unreachable-web-applications-on-upsun-37of</guid>
      <description>&lt;p&gt;Exposing applications that should never answer requests from the open internet is a major security risk. Deciding how to lock down access without adding unnecessary architectural layers can be a real headache.&lt;/p&gt;

&lt;p&gt;Here is how to manage unreachable applications on Upsun:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The problem&lt;/strong&gt;: Certain internal applications must stay completely isolated from public internet requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The fix&lt;/strong&gt;: Choose between two main strategies: setting up a public route with restricted access, or configuring no public route at all.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why it matters&lt;/strong&gt;: Understanding these route constraints helps you balance security layers effectively without over-complicating your setup.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full article to see how to pick the right isolation strategy for your stack:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://developer.upsun.com/posts/how-it-works/how-to-host-a-website-that-isnt-publicly-reachable" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun-c9761871.mintlify.app%2F_mintlify%2Fapi%2Fog%2Fv2%3Fdivision%3DDocumentation%26title%3DHow%2Bto%2Bhost%2Ba%2Bwebsite%2Bthat%2Bisn%2527t%2Bpublicly%2Breachable%26description%3DSome%2Bapplications%2Bshould%2Bnever%2Banswer%2Ba%2Brequest%2Bfrom%2Bthe%2Bopen%2Binternet.%2BHere%2Bare%2Bthe%2Bways%2Bto%2Bmake%2Bone%2Bunreachable%2Bon%2BUpsun%252C%2Band%2Bhow%2Bto%2Bpick%2Bbetween%2Bthem.%26theme%3De9a18a3a9b3bd3c3a67e290e%26signature%3D9bab808089606ff026cb2a50e3a04adf1cebe69c4c2424d09d0c621cd01dd7ac" height="630" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://developer.upsun.com/posts/how-it-works/how-to-host-a-website-that-isnt-publicly-reachable" rel="noopener noreferrer" class="c-link"&gt;
            How to host a website that isn't publicly reachable - Upsun Developer
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Some applications should never answer a request from the open internet. Here are the ways to make one unreachable on Upsun, and how to pick between them.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdeveloper.upsun.com%2Fmintlify-assets%2F_mintlify%2Ffavicons%2Fupsun-c9761871%2FrMHAq1HO1s16sbdD%2F_generated%2Ffavicon%2Fandroid-chrome-192x192.png" width="192" height="192"&gt;
          developer.upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
    </item>
    <item>
      <title>Running apache airflow on hardened containers 🔒</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 07 Oct 2026 10:25:02 +0000</pubDate>
      <link>https://dev.to/upsun/running-apache-airflow-on-hardened-containers-4ckg</link>
      <guid>https://dev.to/upsun/running-apache-airflow-on-hardened-containers-4ckg</guid>
      <description>&lt;p&gt;Running Apache Airflow on a locked-down platform can be an engineering challenge when you need to balance container security and task isolation.&lt;/p&gt;

&lt;p&gt;Here is how to handle task isolation on hardened containers:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The problem:&lt;/strong&gt; Secure, locked-down containers cause your own process to disappear and force tough decisions around runtime variables and task isolation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The fix:&lt;/strong&gt; Write 30 lines of C to manage process execution and control the exact level of task isolation you need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why it matters:&lt;/strong&gt; Developers get to run Airflow on secure infrastructure without losing the specific workload boundaries required for their tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full article to see how to configure Apache Airflow on a hardened platform: &lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://developer.upsun.com/posts/how-it-works/airflow-on-a-locked-down-platform" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun-c9761871.mintlify.app%2Fmintlify-assets%2F_next%2Fimage%3Furl%3D%252F_mintlify%252Fapi%252Fog%253Fdivision%253DDocumentation%2526title%253DAirflow%252Bon%252Ba%252Blocked-down%252Bplatform%2526description%253DRunning%252BApache%252BAirflow%252Bon%252BUpsun%252527s%252Bhardened%252Bcontainers%252Btakes%252B30%252Blines%252Bof%252BC%252Band%252Ba%252Bdecision%252Babout%252Bhow%252Bmuch%252Btask%252Bisolation%252Byou%252Bactually%252Bwant%252Bback.%2526theme%253De9a18a3a9b3bd3c3a67e290e%26w%3D1200%26q%3D100" height="630" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://developer.upsun.com/posts/how-it-works/airflow-on-a-locked-down-platform" rel="noopener noreferrer" class="c-link"&gt;
            Airflow on a locked-down platform - Upsun Developer
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Running Apache Airflow on Upsun's hardened containers takes 30 lines of C and a decision about how much task isolation you actually want back.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdeveloper.upsun.com%2Fmintlify-assets%2F_mintlify%2Ffavicons%2Fupsun-c9761871%2FrMHAq1HO1s16sbdD%2F_generated%2Ffavicon%2Fandroid-chrome-192x192.png" width="192" height="192"&gt;
          developer.upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>containers</category>
    </item>
    <item>
      <title>Why AI coding tools moved your bottleneck ⚡</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Mon, 05 Oct 2026 15:46:25 +0000</pubDate>
      <link>https://dev.to/upsun/why-ai-coding-tools-moved-your-bottleneck-5c8c</link>
      <guid>https://dev.to/upsun/why-ai-coding-tools-moved-your-bottleneck-5c8c</guid>
      <description>&lt;p&gt;AI tools made code output surge, but shipping software still feels slow. Speeding up code creation just pushed the constraint downstream to reviews, approvals, and spec quality.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI increases pull request volume without expanding review capacity.&lt;/li&gt;
&lt;li&gt;Adding mandatory reviewers adds process friction without clearing the backlog.&lt;/li&gt;
&lt;li&gt;Better routing sends engineering, product, and security decisions to their actual owners in parallel queues.&lt;/li&gt;
&lt;li&gt;Explicit specs matter more now because AI agents build ambiguity literally without human judgment to fill gaps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fixing decision routing keeps your workflow moving without overloading your engineering team.&lt;/p&gt;

&lt;p&gt;Read the full write-up to see how to fix your post-coding bottleneck:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/where-the-ai-coding-bottleneck-goes-next/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1189%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/where-the-ai-coding-bottleneck-goes-next/" rel="noopener noreferrer" class="c-link"&gt;
            Where the AI coding bottleneck actually goes | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Individual coding got fast. Review, approval, and spec quality didn't. A practical guide to what to put in place before the backlog gets worse. 
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>code</category>
    </item>
    <item>
      <title>AI governance: security assurance for the cloud AI era 🔒</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Fri, 02 Oct 2026 14:32:02 +0000</pubDate>
      <link>https://dev.to/upsun/ai-governance-security-assurance-for-the-cloud-ai-era-2k8g</link>
      <guid>https://dev.to/upsun/ai-governance-security-assurance-for-the-cloud-ai-era-2k8g</guid>
      <description>&lt;p&gt;Chasing unsupported vendor claims and filling out endless security questionnaires during vendor reviews is a massive time sink. Standard ISO 27001 and SOC 2 reports cover access controls and encryption, but traditional compliance was never designed for AI governance questions like context, permissions, and human approval.&lt;/p&gt;

&lt;p&gt;Here is how to evaluate AI security and governance:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Look beyond traditional compliance to management standards built specifically for AI, such as ISO/IEC 42001.&lt;/li&gt;
&lt;li&gt;Embed core principles like risk assessment, human oversight, and traceability directly into your systems.&lt;/li&gt;
&lt;li&gt;Shift to governed operating models like Upsun Dispatch™ where AI agents and humans ship code together safely through defined workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gives your team a clear way to maintain development speed without sacrificing human control or auditability.&lt;/p&gt;

&lt;p&gt;Read the full article to explore how to evaluate AI-enabled providers:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/security-assurance-ai-era/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1119%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/security-assurance-ai-era/" rel="noopener noreferrer" class="c-link"&gt;
            Trust you can verify: security assurance for AI | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            See the independent evidence behind Upsun's security: ISO 27001, SOC 2 Type 2 audits, and how we're extending governance to AI with Upsun Dispatch
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Why shared context beats faster AI coding tools 🤖</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Thu, 01 Oct 2026 15:27:51 +0000</pubDate>
      <link>https://dev.to/upsun/why-shared-context-beats-faster-ai-coding-tools-3fg8</link>
      <guid>https://dev.to/upsun/why-shared-context-beats-faster-ai-coding-tools-3fg8</guid>
      <description>&lt;p&gt;Adopting AI coding agents often stalls at the review queue. Engineers generate code fast in isolation, but the rest of the team still has to understand, review, and integrate it.&lt;/p&gt;

&lt;p&gt;The fix:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Put engineering, product, and marketing context in one shared monorepo&lt;/li&gt;
&lt;li&gt;Give human team members and AI agents access to the exact same documentation and vocabulary&lt;/li&gt;
&lt;li&gt;Maintain a strict glossary so AI models do not guess at ambiguous terms&lt;/li&gt;
&lt;li&gt;Optimize CI pipelines to keep review queues moving fast&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why it matters:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI agents stop making bad assumptions about architecture or deployment&lt;/li&gt;
&lt;li&gt;Context stops hiding in meetings or private channels&lt;/li&gt;
&lt;li&gt;Small decisions get unblocked instantly across the entire team&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full article to see how shared context keeps teams shipping:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/context-ai-coding-agents/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1110%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/context-ai-coding-agents/" rel="noopener noreferrer" class="c-link"&gt;
            Shared context for AI coding agents | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Upsun's engineers found that shared context for AI coding agents, one repo, shared docs, one glossary, does more for team speed than better tools.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
    </item>
    <item>
      <title>Stop wasting time on cloud architecture before checking feasibility 🚀</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 30 Sep 2026 14:07:21 +0000</pubDate>
      <link>https://dev.to/upsun/stop-wasting-time-on-cloud-architecture-before-checking-feasibility-8od</link>
      <guid>https://dev.to/upsun/stop-wasting-time-on-cloud-architecture-before-checking-feasibility-8od</guid>
      <description>&lt;p&gt;Cloud migrations routinely run over budget and behind schedule because teams underestimate capability gaps and hidden dependencies at the outset. Strategy is wasted effort if you do not know whether the move is even realistic right now.&lt;/p&gt;

&lt;p&gt;Here is how to figure it out:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run a quick five-question check with the workload owner before building target architectures or runbooks.&lt;/li&gt;
&lt;li&gt;Look for concrete triggers like contract renewals or data residency needs rather than a vague desire to reduce vendor lock-in.&lt;/li&gt;
&lt;li&gt;Identify the five main blockers early: provider dependencies, coupled tooling, single cutover risks, skill gaps, and missing triggers.&lt;/li&gt;
&lt;li&gt;Prefer staged, independently validated migrations over risky single-window cutovers without rollback paths.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Checking feasibility upfront saves your team from mistiming a major move and burning weeks on premature strategy.&lt;/p&gt;

&lt;p&gt;Read the full article to get the complete checklist:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/migration-feasibility-checklist/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1065%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/migration-feasibility-checklist/" rel="noopener noreferrer" class="c-link"&gt;
            Migration feasibility checklist for IT leaders | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Five questions IT leaders can answer in an afternoon to decide whether a cloud migration is feasible now, later, or blocked - before touching architecture
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>cloud</category>
    </item>
    <item>
      <title>Stop paying for idle containers when running AI agents 🤖</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 30 Sep 2026 09:08:44 +0000</pubDate>
      <link>https://dev.to/upsun/stop-paying-for-idle-containers-when-running-ai-agents-47nk</link>
      <guid>https://dev.to/upsun/stop-paying-for-idle-containers-when-running-ai-agents-47nk</guid>
      <description>&lt;p&gt;Running AI agents usually forces a bad trade-off. You either isolate them in a sandbox cut off from project data, or you pay to keep full containers idle while waiting on prompts.&lt;/p&gt;

&lt;p&gt;Task containers offer a different approach:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single-purpose execution: Define a task in your config.yaml to run exactly one command. Once the process exits, the container is removed.&lt;/li&gt;
&lt;li&gt;Full project access: Run tasks in preview environments with access to cloned production data and services instead of working in a blind sandbox.&lt;/li&gt;
&lt;li&gt;Zero idle costs: Billing only covers the exact seconds the command runs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It gives your agents real infrastructure to complete work, test changes, and spin down without wasting resources.&lt;/p&gt;

&lt;p&gt;Check out the full article to see how task containers work under the hood and how to set them up:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/task-containers-ai-agents/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1127%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/task-containers-ai-agents/" rel="noopener noreferrer" class="c-link"&gt;
            Task containers: infrastructure built for AI agents | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Upsun's task containers run once and disappear, giving AI agents access to production-like data without paying for idle infrastructure
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>agents</category>
    </item>
    <item>
      <title>Navigating build bersus buy in agentic engineering 🤖</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Tue, 29 Sep 2026 14:24:20 +0000</pubDate>
      <link>https://dev.to/upsun/navigating-build-bersus-buy-in-agentic-engineering-4kk0</link>
      <guid>https://dev.to/upsun/navigating-build-bersus-buy-in-agentic-engineering-4kk0</guid>
      <description>&lt;p&gt;Running local AI agents on laptops breaks the second you close your lid or step into a Wi-Fi dead zone. Beyond the personal frustration, it leaves engineering organizations with zero visibility or governance over what those agents actually executed.&lt;/p&gt;

&lt;p&gt;Here is how to make practical build versus buy decisions across your agent stack:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Centralize execution inside temporary sandboxes so work continues reliably and audit logs remain intact.&lt;/li&gt;
&lt;li&gt;Avoid unconstrained local tools in favor of harness engineering that enforces permission boundaries.&lt;/li&gt;
&lt;li&gt;Treat infrastructure options as replaceable commodities by keeping your orchestration layer decoupled.&lt;/li&gt;
&lt;li&gt;Use off the shelf frontier models, but build internal evaluation frameworks to benchmark real performance and cost.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your team should buy standard infrastructure components and build only the evaluation logic and safety constraints that represent your actual product judgment.&lt;/p&gt;

&lt;p&gt;Read the full article to explore how these patterns apply at every layer of the stack:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/build-vs-buy-agentic-engineering/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1118%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/build-vs-buy-agentic-engineering/" rel="noopener noreferrer" class="c-link"&gt;
            Build vs. buy in agentic engineering | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            How Upsun engineers decided what to build and what to buy at each layer while creating Dispatch, its AI agent platform
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>agents</category>
    </item>
    <item>
      <title>Stop waiting on shared staging: Provision per-branch environments automatically 🚀</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Thu, 24 Sep 2026 15:44:38 +0000</pubDate>
      <link>https://dev.to/upsun/stop-waiting-on-shared-staging-provision-per-branch-environments-automatically-15n1</link>
      <guid>https://dev.to/upsun/stop-waiting-on-shared-staging-provision-per-branch-environments-automatically-15n1</guid>
      <description>&lt;p&gt;Shared staging servers are queues, not test beds. You push code and immediately wait for seed data to refresh, for someone to fix broken migrations, or for the server to free up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shared environments accumulate everyone's half-finished changes and reflect no single developer's work.&lt;/li&gt;
&lt;li&gt;Configurations quietly drift from production, causing tests to pass in staging and fail on release.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provision an isolated environment automatically as a direct byproduct of pushing a Git branch.&lt;/li&gt;
&lt;li&gt;Build environments from the exact same single declarative configuration file used by production.&lt;/li&gt;
&lt;li&gt;Promote the tested container image directly to production upon merging instead of triggering a rebuild.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ten active branches mean ten independent, production-aligned environments running in parallel.&lt;/li&gt;
&lt;li&gt;Environments automatically tear down when branches close, removing manual cleanup and keeping costs down.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full article for a detailed breakdown of how to eliminate staging bottlenecks:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/branch-preview-environments/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1114%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/branch-preview-environments/" rel="noopener noreferrer" class="c-link"&gt;
            Turn every branch into a production-like environment | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Stop queuing behind shared staging. Git-native environment provisioning gives every branch its own full, production-aligned environment the moment it's pushed — no manual setup required.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>staging</category>
    </item>
    <item>
      <title>Fixing multicloud chaos with policy guardrails ☁️</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Thu, 24 Sep 2026 09:04:11 +0000</pubDate>
      <link>https://dev.to/upsun/fixing-multicloud-chaos-with-policy-guardrails-50gc</link>
      <guid>https://dev.to/upsun/fixing-multicloud-chaos-with-policy-guardrails-50gc</guid>
      <description>&lt;p&gt;Running multiple cloud providers usually means managing separate consoles, disjointed identity models, and runbooks that silently drift out of sync.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; Rebuilding deployment, monitoring, and compliance workflows for every new cloud provider fragments your tooling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; Separate your application configuration from platform provisioning, and write governance guardrails directly as code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; Your code and security rules travel together across any cloud without multiplying operational complexity or audit debt.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full article to see how to structure portable, policy-aware environments:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/multicloud-portable-environments/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1062%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/multicloud-portable-environments/" rel="noopener noreferrer" class="c-link"&gt;
            Portable multicloud environments with guardrails | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Deploy one YAML config across AWS, Azure, Google Cloud and more, with governance guardrails that travel with your app. Multicloud control, no lock-in
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>cloud</category>
    </item>
    <item>
      <title>Stop multicloud sprawl before it ruins your on-call ☁️</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 23 Sep 2026 14:24:51 +0000</pubDate>
      <link>https://dev.to/upsun/stop-multicloud-sprawl-before-it-ruins-your-on-call-c90</link>
      <guid>https://dev.to/upsun/stop-multicloud-sprawl-before-it-ruins-your-on-call-c90</guid>
      <description>&lt;p&gt;When every cloud setup grows its own custom pipeline and runbook, operating model debt accumulates fast.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The grind:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Teams optimize for hosting capacity instead of delivery workflow&lt;/li&gt;
&lt;li&gt;Separate cloud providers bring fragmented pipelines, audit processes, and dashboards&lt;/li&gt;
&lt;li&gt;Duplicated operational overhead ends up costing more than the cloud bill&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Treat cloud providers as deployment targets sitting under one delivery layer&lt;/li&gt;
&lt;li&gt;Define applications, declare policies, and establish workflows once&lt;/li&gt;
&lt;li&gt;Keep the developer workflow identical regardless of where the workload runs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;&lt;br&gt;
Using a single, consistent delivery layer eliminates sprawl at the source and keeps your delivery process fast and auditable.&lt;/p&gt;

&lt;p&gt;Read the full article for a practical walkthrough on fitting app delivery into a multicloud operating model:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://upsun.com/blog/multicloud-operating-model/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Fimage%3Fid%3D1063%26type%3Dblog-posts%26size%3Dsocial" height="628" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://upsun.com/blog/multicloud-operating-model/" rel="noopener noreferrer" class="c-link"&gt;
            Multicloud operating model: a practical guide | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Multicloud operating models fragment over time. Learn the four signs of sprawl and how a single delivery layer keeps governance and ops consistent
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun.com%2Ffavicon-32x32.png%3Fv%3Dcdd6ef938d75e3c80c7f4330f35ea20d" width="32" height="32"&gt;
          upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>cloud</category>
    </item>
    <item>
      <title>Why Let's Encrypt renewals fail 🔒</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 23 Sep 2026 09:01:53 +0000</pubDate>
      <link>https://dev.to/upsun/why-lets-encrypt-renewals-fail-5foc</link>
      <guid>https://dev.to/upsun/why-lets-encrypt-renewals-fail-5foc</guid>
      <description>&lt;p&gt;Failed certificate renewals are a classic engineering grind that can quietly break your site. The HTTP-01 challenge usually fails due to subtle routing and infrastructure misconfigurations.&lt;/p&gt;

&lt;p&gt;Here is what breaks your renewals:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; Forgotten AAAA IPv6 records, restrictive CAA policies, or CDN features like Cloudflare Bot Fight Mode blocking challenge requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; Ensure your request path correctly forwards challenge traffic and set up early alerts for renewal failures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; Understanding how the HTTP-01 challenge moves through your stack prevents surprise downtime and saves you from emergency SSL debugging.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full technical write-up to learn more about troubleshooting certificate renewals:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://developer.upsun.com/posts/how-it-works/why-lets-encrypt-certificate-renewals-fail" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fupsun-c9761871.mintlify.app%2Fmintlify-assets%2F_next%2Fimage%3Furl%3D%252F_mintlify%252Fapi%252Fog%253Fdivision%253DDocumentation%2526title%253DWhy%252BLet%252527s%252BEncrypt%252Bcertificate%252Brenewals%252Bfail%2526description%253DCertificate%252Brenewals%252Bfail%252Bfor%252Ba%252Bhandful%252Bof%252Brecurring%252Breasons.%252BHere%252527s%252Bhow%252Bthe%252BHTTP-01%252Bchallenge%252Bworks%252Band%252Bwhat%252Bbreaks%252Bit%25252C%252Bfrom%252BIPv6%252Brecords%252Bto%252BCDN%252Brules.%2526theme%253De9a18a3a9b3bd3c3a67e290e%26w%3D1200%26q%3D100" height="630" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://developer.upsun.com/posts/how-it-works/why-lets-encrypt-certificate-renewals-fail" rel="noopener noreferrer" class="c-link"&gt;
            Why Let's Encrypt certificate renewals fail - Upsun Developer
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Certificate renewals fail for a handful of recurring reasons. Here's how the HTTP-01 challenge works and what breaks it, from IPv6 records to CDN rules.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdeveloper.upsun.com%2Fmintlify-assets%2F_mintlify%2Ffavicons%2Fupsun-c9761871%2FrMHAq1HO1s16sbdD%2F_generated%2Ffavicon%2Fandroid-chrome-192x192.png" width="192" height="192"&gt;
          developer.upsun.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>encrypt</category>
    </item>
  </channel>
</rss>
