<?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>AI tools forgot that software is a team sport 🤝</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Tue, 01 Sep 2026 14:04:36 +0000</pubDate>
      <link>https://dev.to/upsun/ai-tools-forgot-that-software-is-a-team-sport-13n5</link>
      <guid>https://dev.to/upsun/ai-tools-forgot-that-software-is-a-team-sport-13n5</guid>
      <description>&lt;p&gt;Individual AI tools make coding faster for one person, but they do not solve the work that happens between people. More AI-generated code just adds drag to the review queue.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The problem:&lt;/strong&gt; AI speeds up solo code creation, but pull request reviews, discussions, and architecture debates still cause bottlenecks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The fix:&lt;/strong&gt; Focus on structured workflows rather than standalone agents. Run agents in isolated sandboxes with explicit human approval gates for critical decisions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why it matters:&lt;/strong&gt; It brings product managers, designers, and security teams directly into the process. The review load spreads out instead of piling up on senior engineers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full article to see how teams are testing agent-run reviews and human-in-the-loop workflows:&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/software-team-sport-ai-tools/" 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%3D1090%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/software-team-sport-ai-tools/" rel="noopener noreferrer" class="c-link"&gt;
            Software is a team sport. Most AI tools forgot that.
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            AI made writing code fast. Upsun product manager Kateryna Dvornichenko on why team collaboration, not individual speed, is the real test for AI agents
          &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>Why the fastest teams standardize first 🏎️</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Tue, 01 Sep 2026 09:56:39 +0000</pubDate>
      <link>https://dev.to/upsun/why-the-fastest-teams-standardize-first-2gac</link>
      <guid>https://dev.to/upsun/why-the-fastest-teams-standardize-first-2gac</guid>
      <description>&lt;p&gt;Developers spend 40 to 60 percent of their time on non-coding, non-strategic toil like broken staging environments and environment drift. Ad hoc speed feels fast, but variability throttles overall throughput.&lt;/p&gt;

&lt;p&gt;Here is how standardizing the platform layer changes the daily workflow:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the core problem: Inconsistent deployment scripts and undocumented configurations create structural drag.&lt;/li&gt;
&lt;li&gt;Apply the platform fix: Automate standard paths for deployments, environment definitions, and security gates.&lt;/li&gt;
&lt;li&gt;Free up senior engineers: Stop turning senior devs into accidental DevOps leads so they can focus on core product decisions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Standardization acts like better brakes on a car. It provides the control needed to move faster safely.&lt;/p&gt;

&lt;p&gt;Check out the full article to read the complete breakdown:&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/why-fastest-teams-standardize-first/" 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%3D945%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/why-fastest-teams-standardize-first/" rel="noopener noreferrer" class="c-link"&gt;
            Why high-velocity teams standardize first | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            High-velocity teams standardize the path to production first. See why repeatable velocity beats ad hoc speed, and how it returns time to developers.
          &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>devops</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Why workflows are the primitive your engineering team is missing ⚙️</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Fri, 28 Aug 2026 12:26:43 +0000</pubDate>
      <link>https://dev.to/upsun/why-workflows-are-the-primitive-your-engineering-team-is-missing-2ko3</link>
      <guid>https://dev.to/upsun/why-workflows-are-the-primitive-your-engineering-team-is-missing-2ko3</guid>
      <description>&lt;p&gt;AI agents made writing code fast, but shipping product is still slow. The bottleneck has shifted from writing APIs to managing the manual rituals around code.&lt;/p&gt;

&lt;p&gt;Here is what is happening:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Engineers use multiple AI tools, but review queues still grow fast.&lt;/li&gt;
&lt;li&gt;Opening merge requests, triaging conflicts, and chasing reviews creates chaos.&lt;/li&gt;
&lt;li&gt;AI accelerates your good practices, but it also accelerates your messy processes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fix is treating the entire workflow as the core unit, not individual agents.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Move shared context to the cloud so humans and agents use one source of truth.&lt;/li&gt;
&lt;li&gt;Standardize terms across product, engineering, and design.&lt;/li&gt;
&lt;li&gt;Use structured steps, sandboxes, human approvals, and full audit logs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Focusing on workflows removes friction, cuts down on unnecessary meetings, and lets your team ship safely.&lt;/p&gt;

&lt;p&gt;Read the full article to see how to shift your engineering stack from agent chaos to governed workflows:&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/workflows-not-agents-primitive/" 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%3D1072%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/workflows-not-agents-primitive/" rel="noopener noreferrer" class="c-link"&gt;
            Why AI workflows beat agents for engineering teams
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            AI agents write code fast, but reviews, handoffs, and other ceremonies still slow teams down. See why workflows, not agents, are the real unit of coordination.
          &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>[Event] Meet us at dotAI 🚀</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Thu, 27 Aug 2026 08:33:55 +0000</pubDate>
      <link>https://dev.to/upsun/event-meet-us-at-dotai-ig1</link>
      <guid>https://dev.to/upsun/event-meet-us-at-dotai-ig1</guid>
      <description>&lt;p&gt;Come meet us at dotAI 2026 at the Folies Bergère on September 17! &lt;/p&gt;

&lt;p&gt;Stop by our booth to participate in a fun experience where you can "Code it, build it, ship it." with your agent in a live digital experience by Upsun Dispatch™ and collect your limited edition Upsun Dispatch patch. 👀&lt;/p&gt;

&lt;p&gt;Meet the AI Engineering team, and learn how Upsun helps engineering teams build, deploy, and scale applications in the age of AI. Discover what it looks like when AI agents and human teams ship together, governed, traceable, and at scale. &lt;/p&gt;

&lt;p&gt;📅 September 17, 2026&lt;br&gt;
📍 Paris, France&lt;br&gt;
👉 Try it for free: &lt;a href="https://upsun.com/dispatch/" rel="noopener noreferrer"&gt;https://upsun.com/dispatch/&lt;/a&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://www.dotai.io/" 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%2Fstatic.wixstatic.com%2Fmedia%2F4091b6_1e8474591211461d99bbefc82f976f95~mv2.png%2Fv1%2Ffill%2Fw_2400%2Ch_1256%2Cal_c%2F4091b6_1e8474591211461d99bbefc82f976f95~mv2.png" height="419" class="m-0" width="800"&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://www.dotai.io/" rel="noopener noreferrer" class="c-link"&gt;
            dotAI | Artificial Intelligence conference in Europe
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Join dotAI, the world's brightest AI conference for AI builders and developers, September 17, 2026 in Paris. Get the latest news, features and best practices about Artificial Intelligence. 
          &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%2Fstatic.wixstatic.com%2Fmedia%2F38bc10_e310c581d1574b08bc6b81bd431ec9e8%257Emv2.png%2Fv1%2Ffill%2Fw_192%252Ch_192%252Clg_1%252Cusm_0.66_1.00_0.01%2F38bc10_e310c581d1574b08bc6b81bd431ec9e8%257Emv2.png" width="192" height="192"&gt;
          dotai.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
    </item>
    <item>
      <title>Why AI agent security starts where it runs, not how it behaves 🔐</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 26 Aug 2026 12:38:16 +0000</pubDate>
      <link>https://dev.to/upsun/why-ai-agent-security-starts-where-it-runs-not-how-it-behaves-1333</link>
      <guid>https://dev.to/upsun/why-ai-agent-security-starts-where-it-runs-not-how-it-behaves-1333</guid>
      <description>&lt;p&gt;Most teams run AI agents directly on local developer laptops without realization of the security risks. Combining untrusted data access, side effects, and local credentials creates a dangerous setup with zero central visibility or audit logs.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Shift from probabilistic guardrails to system level guarantees.&lt;/li&gt;
&lt;li&gt;Run agents inside isolated, ephemeral cloud sandboxes that reset after each run.&lt;/li&gt;
&lt;li&gt;Enforce least privilege access using scoped credentials and read-only tokens.&lt;/li&gt;
&lt;li&gt;Add explicit human approval steps for actions with persistent effects.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By containing the blast radius at the infrastructure level, you protect sensitive credentials even if a model hallucinates or faces a prompt injection attack.&lt;/p&gt;

&lt;p&gt;Check out the full article to dive deeper into building safe agent infrastructure:&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/agent-security-where-agents-run/" 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%2Fstatic%2F6096e6598fe4fca117728bb2254522b6%2FPink_021bab0962.png" height="419" class="m-0" width="800"&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/agent-security-where-agents-run/" rel="noopener noreferrer" class="c-link"&gt;
            Agent security starts with where the agent runs, not how it behaves
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Most engineering teams evaluate agent security by asking how the model behaves. Patrick Dawkins, Principal Software Engineer at Upsun, argues that it is the wrong question. The risk starts with where the agent runs and what it can reach from there.
          &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 managing decoupled stacks across four dashboards 🛠️</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 26 Aug 2026 08:35:28 +0000</pubDate>
      <link>https://dev.to/upsun/stop-managing-decoupled-stacks-across-four-dashboards-2g64</link>
      <guid>https://dev.to/upsun/stop-managing-decoupled-stacks-across-four-dashboards-2g64</guid>
      <description>&lt;p&gt;Managing environment variables across multiple cloud providers is a constant grind. You end up with out of date README files, preview environments calling production APIs, and CORS errors that only happen on subdomains.&lt;/p&gt;

&lt;p&gt;The problem happens when components designed as one system are deployed as separate concerns. Moving to a single configuration file changes everything:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deterministic networking: services reach each other via fixed internal hostnames without hand-maintained environment variables.&lt;/li&gt;
&lt;li&gt;Environment isolation: preview environments get isolated instances of every app and database automatically wired together.&lt;/li&gt;
&lt;li&gt;Simplified operations: one deployment pipeline, centralized logs, and a single dashboard reduce operational overhead.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Defining your full stack in one config keeps your architecture and operational model aligned.&lt;/p&gt;

&lt;p&gt;Check out the full article to see how to simplify your multi-app setup:&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/decoupled-stack-single-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.com%2Fimage%3Fid%3D1038%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/decoupled-stack-single-platform/" rel="noopener noreferrer" class="c-link"&gt;
            Decoupled web stacks without four dashboards | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Stop juggling separate dashboards for your frontend, backend and workers. Upsun runs decoupled stacks as one project with built-in networking
          &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>How to stop cloud migrations from blowing the budget 🚀</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Tue, 25 Aug 2026 13:05:19 +0000</pubDate>
      <link>https://dev.to/upsun/how-to-stop-cloud-migrations-from-blowing-the-budget-4hdp</link>
      <guid>https://dev.to/upsun/how-to-stop-cloud-migrations-from-blowing-the-budget-4hdp</guid>
      <description>&lt;p&gt;Most cloud migrations fail in a predictable sequence. You scope the technical work, set a timeline, and start moving workloads. Then hidden dependencies surface mid-project, double-run costs explode, and the timeline stalls.&lt;/p&gt;

&lt;p&gt;According to the Flexera 2026 State of the Cloud Report, understanding application dependencies is cited as the single biggest migration challenge (54%).&lt;/p&gt;

&lt;p&gt;Here is how to fix the migration grind before moving a single workload:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assess before you commit: Map application dependencies, categorize workloads using the 6 Rs framework, and assign a clear owner to every workload.&lt;/li&gt;
&lt;li&gt;Sequence by risk, not speed: Start by retiring unnecessary workloads. Move isolated rehost workloads next to build confidence. Sequence refactor workloads by what depends on them.&lt;/li&gt;
&lt;li&gt;Define cutover criteria early: Set measurable performance thresholds, data integrity checks, and rollback conditions before starting parallel operation to avoid unnecessary double-run spend.&lt;/li&gt;
&lt;li&gt;Address internal resistance: Involve engineering teams early in categorization, provide clear answers on technology autonomy, and secure visible executive ownership.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full post for a deep dive into the 4-phase migration playbook and practical cutover strategies:&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/cloud-migration-playbook/" 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%3D1061%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/cloud-migration-playbook/" rel="noopener noreferrer" class="c-link"&gt;
            Cloud migration playbook: escape lock-in | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            A phased cloud migration playbook to escape vendor lock-in without disrupting delivery. Assess before you move, sequence by risk, and cut over with confidence
          &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 fighting multicloud complexity ☁️</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Mon, 24 Aug 2026 12:56:44 +0000</pubDate>
      <link>https://dev.to/upsun/stop-fighting-multicloud-complexity-58gb</link>
      <guid>https://dev.to/upsun/stop-fighting-multicloud-complexity-58gb</guid>
      <description>&lt;p&gt;Managing separate delivery pipelines, security configurations, and tools for AWS, Azure, and GCP adds massive operational overhead. This provider-specific complexity eats up 25 to 30% of total cloud TCO and slows down your shipping cycles.&lt;/p&gt;

&lt;p&gt;The fix is drawing a clear boundary. Standardize your delivery layer while keeping your services provider-specific.&lt;/p&gt;

&lt;p&gt;Why this matters for your workflow:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unified governance gives you an automatic, identical audit trail across all clouds.&lt;/li&gt;
&lt;li&gt;Identical deployment logic lets you systematize delivery and increase your speed.&lt;/li&gt;
&lt;li&gt;Decoupled pipelines protect your operations from individual provider outages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You do not need a big-bang migration. Start with your next new project, codify the configuration layer first, and move existing workloads opportunistically.&lt;/p&gt;

&lt;p&gt;Check out our article to see how to implement portable environments with policy guardrails:&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/standardize-app-delivery-aws-azure-gcp/" 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%3D1060%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/standardize-app-delivery-aws-azure-gcp/" rel="noopener noreferrer" class="c-link"&gt;
            Standardize app delivery across AWS, Azure, and GCP | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Separate pipelines per provider drain up to 30% of cloud TCO. Standardize the delivery layer once across AWS, Azure, and GCP- without a big-bang migration
          &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>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Bridging the AI context gap with MCP 🌐</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Fri, 21 Aug 2026 12:56:15 +0000</pubDate>
      <link>https://dev.to/upsun/bridging-the-ai-context-gap-with-mcp-11ap</link>
      <guid>https://dev.to/upsun/bridging-the-ai-context-gap-with-mcp-11ap</guid>
      <description>&lt;p&gt;Ever ask your AI coding assistant to optimize a query only for it to generate bugs because it cannot see your actual database size or infrastructure state? Missing context is the real enemy.&lt;/p&gt;

&lt;p&gt;By tunneling a Model Context Protocol (MCP) server into your Upsun cloud environment through the CLI, you can bridge this gap safely.&lt;/p&gt;

&lt;p&gt;How it improves your workflow:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connects local tools like Cursor or Claude Code to live, isolated preview environments.&lt;/li&gt;
&lt;li&gt;Grounds AI suggestions in real schemas and environment variables without manual credential handling.&lt;/li&gt;
&lt;li&gt;Uses secure, encrypted connections so production data replicas remain protected.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the full article to see how to set it up in minutes:&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/mcp-server-ai-ide-context/" 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%3D1066%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/mcp-server-ai-ide-context/" rel="noopener noreferrer" class="c-link"&gt;
            Close the AI context gap in your IDE | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Local AI IDEs see your code but not your cloud. Host an MCP server on Upsun to give Cursor, Claude Code and more real infrastructure context
          &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>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>Can you trust the X-Client-IP header? 🌐</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Thu, 20 Aug 2026 12:41:36 +0000</pubDate>
      <link>https://dev.to/upsun/can-you-trust-the-x-client-ip-header-1je</link>
      <guid>https://dev.to/upsun/can-you-trust-the-x-client-ip-header-1je</guid>
      <description>&lt;p&gt;Determining a visitor's real IP address gets messy when your application sits behind a CDN. Relying blindly on the remote IP often means you are just logging the CDN's edge server instead of the actual client.&lt;/p&gt;

&lt;p&gt;Here is how we handle client IP verification on Upsun:  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt;&lt;br&gt;
The remote IP belongs to the CDN, not the actual visitor. This breaks accurate logging and security auditing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; &lt;br&gt;
Upsun inherently retains the real visitor IP behind platforms like Fastly, Cloudflare, and CloudFront using the X-Client-IP header. If you use a different CDN, you must set the header unconditionally and strictly verify who is talking to your servers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; &lt;br&gt;
Establishing a clear chain of trust ensures your application logs accurate user data without exposing your infrastructure to header spoofing.&lt;/p&gt;

&lt;p&gt;Check out the full technical write-up to see how to securely log real client IPs behind any CDN:&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/can-you-trust-the-x-client-ip-header" 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%2526appearance%253Dsystem%2526title%253DCan%252Byou%252Btrust%252Bthe%252BX-Client-IP%252Bheader%25253F%2526description%253DWhy%252Bthe%252BX-Client-IP%252Bheader%252Bon%252BUpsun%252Bholds%252Bthe%252Breal%252Bvisitor%252BIP%252Bbehind%252BFastly%25252C%252BCloudflare%25252C%252Band%252BCloudFront%25252C%252Band%252Bhow%252Bto%252Blog%252Breal%252Bclient%252BIPs%252Bbehind%252Bany%252Bother%252BCDN.%2526logoLight%253Dhttps%25253A%25252F%25252Fmintcdn.com%25252Fupsun-c9761871%25252FWSCgazBk0GWUPP4l%25252Flogo%25252FUpsun-dev-center-light.svg%25253Ffit%25253Dmax%252526auto%25253Dformat%252526n%25253DWSCgazBk0GWUPP4l%252526q%25253D85%252526s%25253Dc35e42815c3d17de292fb0a86d41aa5f%2526logoDark%253Dhttps%25253A%25252F%25252Fmintcdn.com%25252Fupsun-c9761871%25252FWSCgazBk0GWUPP4l%25252Flogo%25252FUpsun-dev-center-dark.svg%25253Ffit%25253Dmax%252526auto%25253Dformat%252526n%25253DWSCgazBk0GWUPP4l%252526q%25253D85%252526s%25253D6bdea7a02f9b19da987e3502457d1ce8%2526primaryColor%253D%2525236046ff%2526lightColor%253D%252523BFB5FF%2526backgroundLight%253D%252523F7F8F8%2526backgroundDark%253D%2525230E1113%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/can-you-trust-the-x-client-ip-header" rel="noopener noreferrer" class="c-link"&gt;
            Can you trust the X-Client-IP header? - Upsun Developer
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Why the X-Client-IP header on Upsun holds the real visitor IP behind Fastly, Cloudflare, and CloudFront, and how to log real client IPs behind any other CDN.
          &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>cdn</category>
      <category>security</category>
    </item>
    <item>
      <title>Why individual AI adoption Is breaking your team cycle time 🛑</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Thu, 20 Aug 2026 08:30:22 +0000</pubDate>
      <link>https://dev.to/upsun/why-individual-ai-adoption-is-breaking-your-team-cycle-time-586m</link>
      <guid>https://dev.to/upsun/why-individual-ai-adoption-is-breaking-your-team-cycle-time-586m</guid>
      <description>&lt;p&gt;Your developers are opening pull requests faster than ever, but actual software delivery has slowed down.&lt;/p&gt;

&lt;p&gt;The problem is that writing code was never your team bottleneck. The real constraint is everything downstream like code review, testing, and compliance checks.&lt;/p&gt;

&lt;p&gt;Here is what happens when you introduce local AI coding tools into a workflow built for human-paced development:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI assistants flood the review queue with unreviewed code without increasing your capacity to process it.&lt;/li&gt;
&lt;li&gt;Senior engineers spend hours reverse-engineering massive multi-file diffs that arrive without a clear trail of intent.&lt;/li&gt;
&lt;li&gt;Reviewers face massive pressure to just trust the compiler, which increases long-term risk.&lt;/li&gt;
&lt;li&gt;Local generation makes demonstrating compliance for frameworks like ISO 27001 incredibly difficult because there is no shared record of architectural reasoning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fix is not more tooling or restricting AI. We need to move AI automation off individual laptops and into a shared, visible layer so the entire workflow moves faster together.&lt;/p&gt;

&lt;p&gt;Check out the full article:&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/why-ai-adoption-is-slowing-your-team/" 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%3D1047%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/why-ai-adoption-is-slowing-your-team/" rel="noopener noreferrer" class="c-link"&gt;
            Why AI adoption is slowing your team | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Faster AI coding doesn't mean faster delivery. See why individual AI adoption creates review bottlenecks, and how a shared audit trail fixes it
          &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>Why features pass QA and still break in production 🛠️</title>
      <dc:creator>Flora Brandão</dc:creator>
      <pubDate>Wed, 19 Aug 2026 12:50:38 +0000</pubDate>
      <link>https://dev.to/upsun/why-features-pass-qa-and-still-break-in-production-3fml</link>
      <guid>https://dev.to/upsun/why-features-pass-qa-and-still-break-in-production-3fml</guid>
      <description>&lt;p&gt;Ever run a database migration that passes local tests in milliseconds, only to watch it lock a production table with millions of rows for 90 seconds during peak traffic? Mock data and fixtures validate that your code handles the expected case, but they cannot replicate the complexity, volume, and entropy of a real production database.&lt;/p&gt;

&lt;p&gt;Here is how byte-level data cloning fixes the gap:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It creates a faithful copy of the production database state at the storage layer.&lt;/li&gt;
&lt;li&gt;It captures real-world data entropy like orphaned records and query statistics.&lt;/li&gt;
&lt;li&gt;Automated sanitization hooks mask personal information before it reaches your preview environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Testing against data that matches production scale means a sign-off actually reflects reality.&lt;/p&gt;

&lt;p&gt;Check out the full technical write-up to see how you can bring production complexity safely into your development workflow. &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/production-data-testing-vs-mock-data/" 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%3D1052%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/production-data-testing-vs-mock-data/" rel="noopener noreferrer" class="c-link"&gt;
            Why features pass QA but fail in production | Upsun
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Mock data hides bugs that only appear at scale. See how byte-level production data cloning and sanitization give developers a real test surface, safely
          &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>devops</category>
      <category>database</category>
    </item>
  </channel>
</rss>
