<?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>Forem: Defang.io</title>
    <description>The latest articles on Forem by Defang.io (@defanglabs).</description>
    <link>https://forem.com/defanglabs</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3507031%2F3de79607-ae25-4f0c-9c03-3b3ae87b7f22.png</url>
      <title>Forem: Defang.io</title>
      <link>https://forem.com/defanglabs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/defanglabs"/>
    <language>en</language>
    <item>
      <title>A Different Way to Think About Deploying Containers to the Cloud</title>
      <dc:creator>Defang.io</dc:creator>
      <pubDate>Fri, 07 Nov 2025 17:28:01 +0000</pubDate>
      <link>https://forem.com/defanglabs/a-different-way-to-think-about-deploying-containers-to-the-cloud-2fa4</link>
      <guid>https://forem.com/defanglabs/a-different-way-to-think-about-deploying-containers-to-the-cloud-2fa4</guid>
      <description>&lt;p&gt;&lt;a href="https://x.com/harshsinghsv/status/1982796651971424391" rel="noopener noreferrer"&gt;This X thread&lt;/a&gt; begins with a big win: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;​You dockerized your entire app.  Your Node API, your React frontend, your Postgres DB all neatly packaged. Your &lt;code&gt;docker-compose&lt;/code&gt; file brings it all up perfectly on your machine. You feel like a genius.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then it talks about how reality hits when it’s time to run the same stack in production. Suddenly you need reliability, and scaling across multiple machines. You start asking questions you never considered during local development. Questions about service discovery, resilience, rolling updates, and all kinds of other stuff. So... what is the proposed solution?&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes
&lt;/h2&gt;

&lt;p&gt;The post proposes Kubernetes as a solution to all these problems when deploying containers. For those of you who don’t spend your time in the devops trenches, here’s a quick breakdown of what Kubernetes (often referred to as k8s) is and what it does. K8s is referred to as an orchestrator: it takes care of scheduling containers across many different machines in different configurations, moving them around when necessary, and making sure they’re running properly. It helps handle things like horizontal scaling, making sure containers have adequate resources, handling networking, and more.&lt;/p&gt;

&lt;p&gt;To get to a working deployment of the proposed app, though, you would probably need to learn at least a dozen different k8s concepts. Here’s a short list of what you might need: a &lt;a href="https://kubernetes.io/docs/concepts/workloads/pods/" rel="noopener noreferrer"&gt;Deployment&lt;/a&gt; to describe &lt;a href="https://kubernetes.io/docs/concepts/workloads/pods/" rel="noopener noreferrer"&gt;Pods&lt;/a&gt; in a &lt;a href="https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/" rel="noopener noreferrer"&gt;ReplicaSet&lt;/a&gt; along with a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/" rel="noopener noreferrer"&gt;Service&lt;/a&gt;, &lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/" rel="noopener noreferrer"&gt;Ingress&lt;/a&gt; and &lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/" rel="noopener noreferrer"&gt;Ingress Controller&lt;/a&gt; to hook up your domain. &lt;a href="https://helm.sh/" rel="noopener noreferrer"&gt;Helm&lt;/a&gt; to install &lt;a href="https://cert-manager.io/" rel="noopener noreferrer"&gt;Cert Manager&lt;/a&gt; so you can get SSL working. You’ll likely need to learn about plenty more along the way.&lt;/p&gt;

&lt;p&gt;Something you’ll noticed in the original post is that the author doesn’t mention the Postgres service from his app. That’s because in the majority of cases, it’s best to use the managed data stores offered by the cloud provider.&lt;/p&gt;

&lt;p&gt;One last note about Kubernetes is that despite it feeling like “standard” tooling that lays on top of cloud infrastructure, you have to keep in mind that each k8s distribution has quirks. So some thing in &lt;a href="https://aws.amazon.com/eks/" rel="noopener noreferrer"&gt;EKS&lt;/a&gt; might not work the same way in &lt;a href="https://cloud.google.com/kubernetes-engine?hl=en" rel="noopener noreferrer"&gt;GKE&lt;/a&gt;, &lt;a href="https://azure.microsoft.com/en-us/products/kubernetes-service" rel="noopener noreferrer"&gt;AKS&lt;/a&gt;, or &lt;a href="https://docs.digitalocean.com/products/kubernetes/" rel="noopener noreferrer"&gt;DOKS&lt;/a&gt;. That means it’s not going to be your silver bullet to writing once and then deploying to different cloud accounts (i.e. if you need to deploy to your customers’ accounts).&lt;/p&gt;

&lt;h2&gt;
  
  
  A Different Approach: Defang
&lt;/h2&gt;

&lt;p&gt;One of the key things to keep in mind about Kubernetes is that a lot of k8s concepts map onto underlying cloud infrastructure. For example, creating a Service in your k8s cluster may provision a load balancer in your cloud (outside your cluster). It’s not a 1-to-1 relationship, but it’s often necessary to understand. The real point is that it’s hugely complex, and to do it properly, you have to learn essentially as much as if you did a full cloud certification.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://defang.io" rel="noopener noreferrer"&gt;Defang&lt;/a&gt;, our approach to the original post’s problem is different. Docker Compose is more of a logical description of your application, expressing relationships between services, what’s exposed, etc. Our tool takes a standard Docker Compose file and &lt;strong&gt;turns it into cloud‑native infrastructure&lt;/strong&gt; on &lt;a href="https://defang.io/whitepapers/aws-defang/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt; or &lt;a href="https://defang.io/whitepapers/gcp-defang/" rel="noopener noreferrer"&gt;GCP&lt;/a&gt; based on some parameters. So when you’re ready to deploy, instead of typing your usual &lt;code&gt;docker compose up&lt;/code&gt;, you can type &lt;code&gt;defang compose up&lt;/code&gt; and be up and running in the cloud in minutes.&lt;/p&gt;

&lt;p&gt;That command provisions the necessary compute resources, networking, load balancers, and more directly in your cloud account. It will also provision managed data stores using your cloud’s managed services, including Postgres, Redis, and MongoDB. The Defang CLI will also help you manage encrypted configuration like API keys properly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Extras for AI Developers
&lt;/h3&gt;

&lt;p&gt;Beyond all that, our tooling comes with features that machine‑learning and AI developers might appreciate. For example, it offers easy integration with &lt;a href="https://aws.amazon.com/bedrock/" rel="noopener noreferrer"&gt;AWS Bedrock&lt;/a&gt; and &lt;a href="https://cloud.google.com/vertex-ai" rel="noopener noreferrer"&gt;Google Vertex AI&lt;/a&gt;, streamlining workflows that rely on those services.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;​In the end, Kubernetes has its place. It provides powerful primitives and is the right choice for certain types of organizations and workloads. It’s particularly useful when you need to orchestrate complex distributed systems that need special permissions or require an understanding of the specific compute environment, etc. &lt;/p&gt;

&lt;p&gt;However, if your application can be accurately described by a Docker Compose file and is architected according to &lt;a href="https://12factor.net/" rel="noopener noreferrer"&gt;12 Factor principles&lt;/a&gt;, a Compose file is likely sufficient. In those cases, using Defang is likely the easiest way to get a &lt;strong&gt;secure, scalable deployment&lt;/strong&gt; without investing in a full Kubernetes setup. If you’re feeling overwhelmed by the never ending flexibility and complexity of k8s when you’re deploying containers, &lt;a href="https://defang.io" rel="noopener noreferrer"&gt;Defang&lt;/a&gt; might be worth checking out.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>kubernetes</category>
      <category>containers</category>
      <category>gcp</category>
    </item>
    <item>
      <title>FastAPI deployment Heroku vs AWS / GCP with Defang</title>
      <dc:creator>Defang.io</dc:creator>
      <pubDate>Thu, 23 Oct 2025 17:12:21 +0000</pubDate>
      <link>https://forem.com/defanglabs/fastapi-deployment-heroku-vs-defang-fgh</link>
      <guid>https://forem.com/defanglabs/fastapi-deployment-heroku-vs-defang-fgh</guid>
      <description>&lt;p&gt;​&lt;a href="https://fastapi.tiangolo.com/" rel="noopener noreferrer"&gt;FastAPI&lt;/a&gt;  is getting more and more popular, as is building agents. Developers building agentic systems are starting to turn to FastAPI as one of the more ergonomic web frameworks for building endpoints and then adding on a Model Context Protocol (MCP) layer so that AI agents can discover and invoke those endpoints as “tools”. For example, with  &lt;a href="https://github.com/tadata-org/fastapi_mcp" rel="noopener noreferrer"&gt;FastAPI-MCP&lt;/a&gt;  you can take an existing FastAPI application, attach  &lt;code&gt;mcp = FastApiMCP(app)&lt;/code&gt;  and  &lt;code&gt;mcp.mount()&lt;/code&gt;, and your endpoints become usable by an LLM-based agent with minimal extra work.&lt;/p&gt;

&lt;p&gt;But when it comes time to deploy your agent, how should you go about it?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt;  Heroku is great to start, but you pay for convenience with higher tiers, less control, and platform lock‑in. Defang keeps the Heroku‑like workflow but deploys your FastAPI app  &lt;strong&gt;into your own AWS or GCP account&lt;/strong&gt;  — you keep ownership, pay for cloud resources plus a Defang subscription, and ship with a single command.&lt;/p&gt;

&lt;h2&gt;
  
  
  What “shipping FastAPI” looks like on Heroku
&lt;/h2&gt;

&lt;p&gt;A common Heroku setup runs FastAPI with  &lt;strong&gt;Gunicorn&lt;/strong&gt;  and  &lt;strong&gt;Uvicorn workers&lt;/strong&gt;  via a Procfile, plus requirements.txt. A typical entry is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;web: gunicorn -k uvicorn.workers.UvicornWorker main:app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This pattern is popular because it uses Uvicorn as an ASGI worker under Gunicorn. It’s easy to get running, but your region choices and infrastructure are limited by the Heroku platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  What “shipping FastAPI” looks like on AWS/GCP with Defang
&lt;/h2&gt;

&lt;p&gt;Defang reads your  &lt;strong&gt;Docker Compose&lt;/strong&gt;  file to describe the app, then deploys it  &lt;strong&gt;to your own AWS or GCP account&lt;/strong&gt;  with one command. You define your services once and deploy them the same way each time, but you own the account and have direct control over networking and managed services.&lt;/p&gt;

&lt;p&gt;Try it locally with:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker compose up&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then deploy to your cloud:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;defang --provider=aws compose up  &lt;br&gt;
&lt;/code&gt;or&lt;br&gt;&lt;br&gt;
&lt;code&gt;defang --provider=gcp compose up&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Defang transforms Compose files into cloud resources (compute, networking, TLS, storage) and wires managed Postgres/Redis when needed.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why choose AWS/GCP + Defang over Heroku for FastAPI
&lt;/h2&gt;
&lt;h2&gt;
  
  
  Ownership &amp;amp; control
&lt;/h2&gt;

&lt;p&gt;Heroku abstracts infrastructure. Defang deploys into  &lt;strong&gt;your&lt;/strong&gt;  cloud account. You choose regions, networking, and compliance boundaries. Heroku does allow a region choice at app creation, but options are much more limited.&lt;/p&gt;
&lt;h2&gt;
  
  
  Cost basis
&lt;/h2&gt;

&lt;p&gt;With Defang you pay for AWS/GCP resources plus a Defang subscription (e.g., $10–$30/user/month). You avoid Heroku’s dyno pricing. For comparison, a Standard‑1X dyno on Heroku costs  &lt;a href="https://devcenter.heroku.com/articles/dyno-sizes#:~:text=Plan%20Memory%20,100x%20%241500%2060%20Yes" rel="noopener noreferrer"&gt;$25/month, and Performance‑M costs $250/month&lt;/a&gt;. Data services are add‑ons (an Essential‑0 Postgres instance is  &lt;a href="https://devcenter.heroku.com/articles/usage-and-billing#:~:text=Heroku%20Data%20Add,Costs" rel="noopener noreferrer"&gt;~$5/month&lt;/a&gt;). Heroku’s pricing is easy to understand but can be expensive at larger scales. Defang uses your cloud provider’s pay‑as‑you‑go model and supports  &lt;a href="https://defang.io/whitepapers/aws-defang/#:~:text=Cost%20Efficiency%3A%20By%20automating%20resource,would%20cost%20before%20you%20deploy" rel="noopener noreferrer"&gt;cost‑saving deployment modes&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Portability and lock‑in
&lt;/h2&gt;

&lt;p&gt;Heroku workflows can bind you to dynos and their add‑on ecosystem, making migration more involved. Defang uses standard containers and cloud services, so your Compose definition is portable across supported providers. Leaving Defang still requires replacing the automation we provide, but the configuration remains in Compose and everything is built with standard primitives from your chosen cloud.&lt;/p&gt;
&lt;h2&gt;
  
  
  Developer experience
&lt;/h2&gt;

&lt;p&gt;Heroku’s appeal is its deploy experience: commit, push, and it’s live. Defang preserves that simplicity with a Compose‑driven workflow and a one‑command deploy. Updating your app triggers a diff and apply, rather than a fresh manual setup each time.&lt;/p&gt;
&lt;h2&gt;
  
  
  Head‑to‑head considerations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Where it runs:&lt;/strong&gt;
&lt;strong&gt;Heroku&lt;/strong&gt;  deploys your app on its own platform in a region you choose at creation.
&lt;strong&gt;Defang&lt;/strong&gt;  deploys it in  &lt;strong&gt;&lt;em&gt;your AWS or GCP&lt;/em&gt;&lt;/strong&gt;  &lt;strong&gt;&lt;em&gt;account&lt;/em&gt;&lt;/strong&gt;, so you control networks, VPCs, policies, etc.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Deploy flow:&lt;/strong&gt;
&lt;strong&gt;Heroku&lt;/strong&gt;  uses a Procfile and recommends servers like Gunicorn or Uvicorn.
&lt;strong&gt;Defang&lt;/strong&gt;  uses your Compose file and runs defang compose up to provision services.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Databases &amp;amp; caching:&lt;/strong&gt;
&lt;strong&gt;Heroku&lt;/strong&gt;  allows you to attach add‑ons for Postgres or Redis.
&lt;strong&gt;Defang&lt;/strong&gt;  provisions managed Postgres (AWS RDS or GCP Cloud SQL) and Redis (Elasticache or Memorystore) directly in your account.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Costs at scale:&lt;/strong&gt;
&lt;strong&gt;Heroku&lt;/strong&gt;  pricing is tiered by dyno size; high performance dynos can reach $250–$1,500/month.
&lt;strong&gt;Defang&lt;/strong&gt;  charges a subscription and then you pay AWS/GCP usage, which is often lower than Heroku, especially with Spot or smaller instances.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Lock‑in:&lt;/strong&gt;
&lt;strong&gt;Heroku&lt;/strong&gt;’s dynos and add‑ons tie you to its platform.
&lt;strong&gt;Defang&lt;/strong&gt;  uses open formats and cloud primitives, making migration easier if you decide to run infrastructure yourself later.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Migrating a FastAPI app: Heroku → AWS/GCP
&lt;/h2&gt;

&lt;p&gt;Defang’s migration flow  &lt;strong&gt;inspects your Heroku app&lt;/strong&gt;,  &lt;strong&gt;generates a Compose file&lt;/strong&gt;,  &lt;strong&gt;provisions equivalents&lt;/strong&gt;  like Postgres/Redis on your cloud, then  &lt;strong&gt;deploys with one command&lt;/strong&gt;. In practice, this means:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Analyze&lt;/strong&gt;  dynos, environment variables and add‑ons on your Heroku app.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Generate&lt;/strong&gt;  a Compose definition that mirrors your services.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Build &amp;amp; Deploy&lt;/strong&gt;  the app on AWS or GCP with a single defang compose up.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No code rewrite is required.&lt;/p&gt;
&lt;h2&gt;
  
  
  Minimal snippets
&lt;/h2&gt;
&lt;h2&gt;
  
  
  Heroku (Procfile)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;web: gunicorn -k uvicorn.workers.UvicornWorker main:app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Heroku Dev Center recommends using a production server such as Gunicorn or Uvicorn. FastAPI typically runs with Uvicorn workers.&lt;/p&gt;
&lt;h2&gt;
  
  
  Defang (Compose File + CLI Commands)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;compose.yaml&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    services:  
      app:  
        build:  
          context: .  
          dockerfile: Dockerfile  
        ports:  
          - "8000:8000"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then deploy with&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    # Try locally  
    docker compose up  

    # Deploy to your cloud  
    defang --provider=aws compose up  
    # or  
    defang --provider=gcp compose up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Defang reads your Compose file and deploys, provisioning compute, networking and managed databases.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to pick which
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Heroku&lt;/strong&gt;  is ideal for quick prototypes or side projects where you accept platform limits and want an easy dyno-based deployment that you do not expect to scale much.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;AWS/GCP + Defang&lt;/strong&gt;  makes sense once costs, control and ownership matter: especially for production FastAPI apps that need specific regions, VPC configurations or compliance requirements.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it yourself
&lt;/h2&gt;

&lt;p&gt;You can see Defang in action with a  &lt;strong&gt;one‑click FastAPI deployment&lt;/strong&gt;. In a few minutes you’ll have FastAPI running in your own AWS or GCP account using the Heroku‑style workflow, no custom infra scripts required.&lt;/p&gt;

&lt;p&gt;👉  &lt;a href="https://portal.defang.io/redirect?url=https%3A%2F%2Fgithub.com%2Fnew%3Ftemplate_name%3Dsample-fastapi-template%26template_owner%3DDefangSamples%26name%3Ddefang-fastapi" rel="noopener noreferrer"&gt;Deploy FastAPI on Defang in one click&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is Defang more complex than Heroku?&lt;/strong&gt;  No. Defang is designed to feel like Heroku: simple CLI deploys, but under the hood it translates a Compose file into cloud resources. You get a similar workflow with more control. Currently we generate one for you, but we’re also working on completely removing the Compose file requirement where possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I migrate an existing Heroku FastAPI app without rewriting it?&lt;/strong&gt;  Yes. Defang analyzes your dynos, add‑ons and env vars, generates a Compose file, and provisions the equivalent services automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What about databases like Postgres or caching with Redis?&lt;/strong&gt;  On Heroku these are add‑ons. With Defang they are provisioned directly in your AWS/GCP account, using RDS/Cloud SQL for Postgres and Elasticache/Memorystore for Redis, so your data stays in your environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does pricing compare?&lt;/strong&gt;  Heroku charges a monthly or hourly fee per dyno and add‑on (e.g., $25/month for a Standard‑1X dyno). Defang charges a small subscription fee, and you pay the underlying cloud costs directly to your cloud provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why not just write Terraform or Kubernetes myself?&lt;/strong&gt;  You can, but that takes time and expertise. Defang provides a “define once → deploy anywhere” workflow; you can extend infrastructure later if you need more customization.&lt;/p&gt;

</description>
      <category>python</category>
      <category>heroku</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Deploy n8n to Your Cloud in Minutes with Defang</title>
      <dc:creator>Defang.io</dc:creator>
      <pubDate>Thu, 16 Oct 2025 17:59:47 +0000</pubDate>
      <link>https://forem.com/defanglabs/deploy-n8n-to-your-cloud-in-minutes-with-defang-1pk0</link>
      <guid>https://forem.com/defanglabs/deploy-n8n-to-your-cloud-in-minutes-with-defang-1pk0</guid>
      <description>&lt;p&gt;In early October 2025 &lt;a href="https://n8n.io/" rel="noopener noreferrer"&gt;n8n&lt;/a&gt; announced a huge &lt;strong&gt;US$180 million Series C&lt;/strong&gt; funding round.  Investors including Accel and NVentures valued the open‑source automation platform at &lt;strong&gt;US$2.5 billion&lt;/strong&gt;.  The reason is clear: n8n isn’t just a Zapier clone; it has evolved into a &lt;em&gt;platform for AI orchestration&lt;/em&gt;.  According to n8n’s founder, the current AI landscape oscillates between fully autonomous models and rigid rule‑based routing.  n8n strives to strike a balance by giving builders control over “how much autonomy to grant” and building in &lt;strong&gt;orchestration and coordination&lt;/strong&gt; so humans and agents work together.  Flexible deployment is part of that promise: teams can self‑host n8n on their own infrastructure to keep data private and to integrate sensitive systems while using external data and third-party services as well.&lt;/p&gt;

&lt;p&gt;Yet self‑hosting n8n isn’t trivial.  A typical production setup involves configuring PostgreSQL, handling SSL certificates, tuning databases and scaling containers.  Guidance from production‑grade self‑hosting guides point out that you have to handle all kinds of configuration across your database and services, and failures can lead to data loss or outages.  For teams without a dedicated DevOps engineer this can be a deal‑breaker.  That’s where &lt;strong&gt;Defang&lt;/strong&gt; comes in.  Defang wraps your Docker Compose project in cloud‑native infrastructure, handling secrets, networking and more for you.  In this post we’ll walk through the &lt;strong&gt;n8n sample template&lt;/strong&gt; and show how you can deploy a production‑ready n8n instance on your own AWS account in just a few commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why build with n8n?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexible AI workflow automation&lt;/strong&gt; – &lt;a href="https://n8n.io/" rel="noopener noreferrer"&gt;n8n&lt;/a&gt; lets you build multi‑step agents either by dragging nodes on a canvas or by writing code.  You’re free to integrate any large‑language model and over &lt;strong&gt;500 third‑party integrations&lt;/strong&gt;.  The platform explicitly supports running your own AI models and even hosting the entire stack on‑premises.  This flexibility is why organisations as different as Wayfair, Microsoft and the United Nations have adopted it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self‑host on your own terms&lt;/strong&gt; – by default n8n uses SQLite, but the project supports &lt;strong&gt;PostgreSQL&lt;/strong&gt; and other production databases. You can enable SSL, control connection pools and even run the editor behind your own domain. You can also supply a custom &lt;strong&gt;encryption key&lt;/strong&gt; so credentials stored in the database remain secure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Defang n8n template
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://defang.io/" rel="noopener noreferrer"&gt;Defang&lt;/a&gt; sample for n8n adapts the official n8n Docker Compose example to fit Defang’s deployment model.  At its core, the project contains two services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;PostgreSQL&lt;/strong&gt; container to persist workflow data.&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;n8n&lt;/strong&gt; container configured to connect to the database and expose the UI on port &lt;code&gt;5678&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Defang takes this Compose file and wires it into your chosen cloud provider.  Secrets such as the database password and encryption key are stored outside of Git using &lt;code&gt;defang config&lt;/code&gt;, and Defang provisions DNS, certificates and load balancers for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 – Generate the project
&lt;/h2&gt;

&lt;p&gt;Start by installing the Defang CLI.  The CLI lets you scaffold a sample and deploy it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
&lt;span class="c"&gt;# Install the CLI (mac/linux - see https://docs.defang.io/docs/getting-started for Windows++)&lt;/span&gt;
&lt;span class="nb"&gt;.&lt;/span&gt; &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;curl &lt;span class="nt"&gt;-Ls&lt;/span&gt; https://s.defang.io/install&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="c"&gt;# Generate the n8n project in an empty folder&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; ~/my-projects
defang generate

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;During generation you can search for &lt;strong&gt;n8n&lt;/strong&gt; and give your project a name.  This creates a directory containing the Compose file and a &lt;code&gt;README.md&lt;/code&gt; with instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 – Configure secrets
&lt;/h2&gt;

&lt;p&gt;n8n uses a database password and an encryption key to secure credentials.  Defang stores these values in your cloud’s parameter store.  The sample exposes the following environment variables:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Variable&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;th&gt;Recommended value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;POSTGRES_PASSWORD&lt;/td&gt;
&lt;td&gt;Password for the Postgres database&lt;/td&gt;
&lt;td&gt;Generate a random value with defang config set POSTGRES_PASSWORD --random docs.defang.io&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;N8N_ENCRYPTION_KEY&lt;/td&gt;
&lt;td&gt;Key used by n8n to encrypt credentials&lt;/td&gt;
&lt;td&gt;Generate a random value with defang config set N8N_ENCRYPTION_KEY --random&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DB_POSTGRESDB_SSL_ENABLED&lt;/td&gt;
&lt;td&gt;Enables SSL when connecting to the database&lt;/td&gt;
&lt;td&gt;true in production; false in local dev&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED&lt;/td&gt;
&lt;td&gt;Whether to reject unauthorized certs&lt;/td&gt;
&lt;td&gt;false when using Amazon RDS without custom certificates, true locally&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To configure these secrets run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;​# Configure Defang  
export DEFANG_PROVIDER=aws 
export AWS_PROFILE=defang-lab # put in a valid profile from your aws config 

defang config set POSTGRES_PASSWORD --random 
defang config set N8N_ENCRYPTION_KEY --random  
defang config set DB_POSTGRESDB_SSL_ENABLED=true  
defang config set DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you plan to deploy into your own AWS account, authenticate with the AWS CLI (by setting environment variables like &lt;code&gt;AWS_PROFILE&lt;/code&gt;) before running Defang.  You can also run the sample in the Defang Playground without any provider configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 – Deploy
&lt;/h2&gt;

&lt;p&gt;Deploying is a single command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
&lt;span class="c"&gt;# Deploy to your AWS account (assuming your env vars from the &lt;/span&gt;
&lt;span class="c"&gt;# previous step are still in place.&lt;/span&gt;

defang compose up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Defang reads your Compose file, replaces any &lt;code&gt;${VAR}&lt;/code&gt; references with values from the Defang config, and spins up resources.  Under the hood Defang provisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An &lt;strong&gt;ECS&lt;/strong&gt; task (or equivalent) to run the n8n container.&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;RDS&lt;/strong&gt; instance to host PostgreSQL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route 53&lt;/strong&gt; entries for both internal service discovery and public access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TLS certificates&lt;/strong&gt; and load balancers to terminate HTTPS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By comparison, manual self‑hosting would require you to set up Docker Compose on an EC2 instance, configure volumes and manage updates yourself.  Defang automates that complexity and manages secrets using the provider’s secret manager.&lt;/p&gt;

&lt;p&gt;After a few minutes the CLI will print the URL of your n8n instance.  It will look something like &lt;code&gt;https://n8n--5678.n8n.myusername.defang.app&lt;/code&gt;.  Open it in your browser.  n8n will prompt you for a username and password; you can skip personalisation if you don’t need it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4 – Create credentials in n8n
&lt;/h2&gt;

&lt;p&gt;One of the most powerful features of n8n is its credential system.  Credentials (e.g., OAuth for Google, Slack tokens, API keys) are stored encrypted in the database using the &lt;code&gt;N8N_ENCRYPTION_KEY&lt;/code&gt; you set earlier.  When adding a credential in the n8n UI you’ll see environment variables like &lt;code&gt;N8N_HOST&lt;/code&gt; and &lt;code&gt;N8N_PORT&lt;/code&gt; pre‑filled.  These variables initially contain the service name (e.g., &lt;code&gt;n8n:5678&lt;/code&gt;), but Defang automatically resolves them to the public DNS of your deployed service.  Simply accept the suggested URL when configuring OAuth redirect URIs in Google or other providers.&lt;/p&gt;

&lt;p&gt;For example, to configure Gmail you would:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Click &lt;strong&gt;Try a prebuilt agent → Email Triage Agent&lt;/strong&gt; in the n8n UI.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Create new credential&lt;/strong&gt; for Gmail.&lt;/li&gt;
&lt;li&gt; Copy the callback URL shown (it should match the domain Defang created) into your Google Cloud OAuth configuration.&lt;/li&gt;
&lt;li&gt; Complete the OAuth flow and test the agent.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What’s happening in AWS?
&lt;/h2&gt;

&lt;p&gt;When you look into your AWS console you’ll see how Defang maps Compose concepts into native services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The n8n container runs as a task in an &lt;strong&gt;ECS cluster&lt;/strong&gt;.  You can view logs and scale up tasks just like any Fargate workload.&lt;/li&gt;
&lt;li&gt;PostgreSQL runs in &lt;strong&gt;Amazon RDS&lt;/strong&gt;.  You’ll find a managed database with backups, encryption and metrics enabled.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route 53&lt;/strong&gt; hosts two DNS zones: a private zone used for internal service discovery (so the n8n service can reach the database via its Compose hostname) and a public zone for your application’s domain.  Defang automatically creates &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;CNAME&lt;/code&gt; records for you.&lt;/li&gt;
&lt;li&gt;For local development you can run &lt;code&gt;docker compose -f compose.dev.yaml up&lt;/code&gt;, which starts both services on your machine and exposes n8n at &lt;code&gt;http://localhost:5678&lt;/code&gt; &lt;a href="https://raw.githubusercontent.com/DefangSamples/sample-n8n-template/main/README.md#:~:text=To%2520run%2520the%2520application%2520locally,use%2520the%2520development%2520compose%2520file" rel="noopener noreferrer"&gt;.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This infrastructure makes it easy to go from a prototype to a production cloud deployment without hand‑crafting Terraform or Pulumi scripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Go further: build AI agents with n8n
&lt;/h2&gt;

&lt;p&gt;With your self‑hosted n8n instance running, you can start building agentic workflows.  The platform lets you combine code and UI: write JavaScript or Python directly in nodes, merge branches, call LLMs and integrate arbitrary APIs.  You can also take advantage of n8n’s new &lt;strong&gt;Evaluations&lt;/strong&gt; and &lt;strong&gt;Data Tables&lt;/strong&gt; features to experiment with prompts and persist structured data.&lt;/p&gt;

&lt;p&gt;Because you’re self‑hosting, your data never leaves your environment.  You can connect n8n to internal services (databases, ticketing systems, CRMs) without exposing them to a third‑party SaaS.  At the same time, Defang handles networking, certificates and more for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The combination of &lt;a href="https://n8n.io/" rel="noopener noreferrer"&gt;n8n&lt;/a&gt; and &lt;a href="https://defang.io/" rel="noopener noreferrer"&gt;Defang&lt;/a&gt; gives you the best of both worlds: a powerful AI orchestration platform and a painless way to run it in your own cloud.  n8n’s recent funding round underlines how important orchestration and coordination are for real‑world AI applications, while Defang’s deployment model removes the DevOps burden.  By generating the n8n sample, configuring a handful of secrets and running &lt;code&gt;defang compose up&lt;/code&gt;, you can stand up an instance of n8n in your AWS account in minutes.&lt;/p&gt;

&lt;p&gt;We’d love to see what you build.  Clone the sample, deploy it to your cloud of choice and share your workflows with the community.  Whether you’re triaging emails, automating incident response or orchestrating agents, this template is a solid foundation.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloud</category>
      <category>aws</category>
      <category>agents</category>
    </item>
    <item>
      <title>Beyond Heroku: Owning Your Deployments</title>
      <dc:creator>Defang.io</dc:creator>
      <pubDate>Mon, 29 Sep 2025 11:26:30 +0000</pubDate>
      <link>https://forem.com/defanglabs/beyond-heroku-owning-your-deployments-5clh</link>
      <guid>https://forem.com/defanglabs/beyond-heroku-owning-your-deployments-5clh</guid>
      <description>&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/9ER_T7_fUlU"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;When you launch a new app, convenience rules. Platforms like Heroku offer a beautifully simple way to push code and see it live in minutes. You don’t need to think about servers, networks or databases. You just deploy. That’s why so many of us start there.&lt;/p&gt;

&lt;p&gt;But convenience has a cost. As your product grows, you want more control over performance and security. You want to integrate your own services, tune the infrastructure and optimize your spend. Heroku’s dyno‑based pricing, which starts around $25/month for a modest dyno and climbs to hundreds of dollars for high‑performance dynos, can become prohibitive for serious production workloads. And while Heroku abstracts away the underlying cloud, that abstraction also means you can’t fine‑tune the way your application runs.&lt;/p&gt;

&lt;p&gt;This trade‑off eventually becomes untenable. Teams need the simplicity of a platform like Heroku &lt;em&gt;and&lt;/em&gt; the power and trust of running inside their own AWS account. This post unpacks why migrating off Heroku matters, highlights the friction points when you try to move to AWS yourself, and shows how the &lt;strong&gt;Defang CLI&lt;/strong&gt; bridges the gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Heroku vs. AWS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Heroku is a Platform‑as‑a‑Service very focused on simplicity and ease of use, while AWS offers a huge array of extremely powerful services that can be difficult to navigate alone. What you get from Heroku is the ability to deploy your application with a simple git push, scale by adding dynos and pick from a marketplace of add‑ons. But you miss out on much of the power of AWS, like the ability to organize and network services the way you want, the ability to deploy in a huge number of regions, their reliability, and much of the control you need to be called enterprise-ready. AWS also tends to be more cost effective as you scale and offers a wide variety of scalable storage options including Postgres, MongoDB, Redis, and more.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Pricing and scale&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Heroku’s pricing is tied to dynos. Eco dynos cost about $5/month for 1,000 hours, while standard dynos run $25–$50/month and performance dynos jump to $250–$1,500/month. Those numbers are predictable, but if your traffic spikes or you need more compute, your dyno bill scales quickly. Databases and Redis add‑ons are also billed per gigabyte, adding to the total cost.&lt;/p&gt;

&lt;p&gt;AWS uses a pay‑as‑you‑go model: you pay for the exact resources you use, whether on‑demand compute, reserved instances or spot capacity. This model can be far cheaper at scale, especially if you commit to reserved or savings plans, but it also introduces complexity. Besides compute, you need to factor in elastic IPs, data transfer, load balancers and NAT gateways. AWS rewards expertise: you can optimize costs but only if you understand its pricing levers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why leave Heroku?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For many teams, Heroku is the right starting point. But there are clear inflection points when it makes sense to graduate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Escalating costs&lt;/strong&gt;. &lt;br&gt;
As your user base grows, dyno bills rise exponentially. At some point, the predictable price premium no longer justifies the convenience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance and scalability demands&lt;/strong&gt;. &lt;br&gt;
High‑traffic applications need flexible scaling and the ability to choose instance sizes and storage types. Heroku’s dyno types can be limiting for CPU‑ or memory‑intensive workloads.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Compliance and data sovereignty&lt;/strong&gt;. &lt;br&gt;
Customers in regulated industries often require apps to run in their own cloud account and under their own compliance controls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Customization&lt;/strong&gt;. &lt;br&gt;
You might need to integrate bespoke networking, private databases or other services not available as Heroku add‑ons. AWS’s vast ecosystem of more than 240 services makes these integrations possible.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yet the path off Heroku isn’t trivial. Re‑platforming often means rewriting your application to use AWS services directly, building new CI/CD pipelines, managing IAM roles and provisioning infrastructure by hand. That’s a big lift for developers who just want to ship features.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Migration in minutes: how the Defang CLI works&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In our recent video (“&lt;em&gt;How to migrate from Heroku to AWS in 5 minutes!&lt;/em&gt;”), we demonstrated a Django + Postgres app running on Heroku. The goal: deploy it into our own AWS account without rewriting anything. Here’s how it works:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Import your Heroku app.&lt;/strong&gt; &lt;br&gt;
After installing and logging into the Defang CLI, run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;defang init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then select &lt;code&gt;Migrate from Heroku&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Defang connects to the Heroku API, inspects your app’s dynos, add‑ons and configuration variables, and generates a Docker Compose file. It translates Procfile commands into services and records dependencies like Postgres and Redis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review the Compose file.&lt;/strong&gt; &lt;br&gt;
You should always examine the generated compose.yaml. You can adjust ports or remove unnecessary services. In the demo we changed the exposed port to 8000 and confirmed everything looked reasonable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Select your cloud.&lt;/strong&gt; &lt;br&gt;
We authenticated against AWS and selected a profile (&lt;code&gt;AWS_PROFILE=defang-lab&lt;/code&gt;). In Defang, you set a provider with an environment variable &lt;code&gt;DEFANG_PROVIDER=aws&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You can either export these, or pass them to each command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;AWS_PROFILE=defang-lab DEFANG_PROVIDER=aws defang &amp;lt;command&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Or you can set them as environment variables:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;export AWS_PROFILE=defang-lab DEFANG_PROVIDER=aws&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set your secrets.&lt;/strong&gt; &lt;br&gt;
You then run &lt;code&gt;defang config set&lt;/code&gt; to provide any secrets (database user, password, database name) that were previously stored in Heroku. These secrets are encrypted at rest and passed securely to your services deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deploy with one command.&lt;/strong&gt; &lt;br&gt;
Finally, execute:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;defang up&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Defang provisions an ECS cluster, RDS database, VPC, security groups, DNS records, load balancer, and more for your application. It also provisions a release service to handle migrations and brings up your web service once the database is ready. Eventually you get a public URL for your working application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verify and scale.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The entire migration took roughly five minutes from start to finish, with zero changes to application code. Instead of rewriting our Django settings or learning the intricacies of ECS, we let Defang automate the heavy lifting.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why this matters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The migration from Heroku to AWS delivers two critical advantages that matter most to growing teams: &lt;strong&gt;cost savings&lt;/strong&gt; and &lt;strong&gt;power and flexibility&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As we covered earlier, Heroku's dyno pricing can quickly escalate from $25/month to hundreds or even thousands as you scale. AWS's pay-as-you-go model, combined with reserved instances and spot capacity, can reduce your infrastructure costs by 60-80% at scale (depends on your use case). You pay only for what you use, when you use it.&lt;/p&gt;

&lt;p&gt;More importantly, you gain access to AWS's full ecosystem of 240+ services. Need a specific instance type for CPU-intensive workloads? Custom networking for multi-region deployments? Advanced monitoring and logging? On Heroku, you're limited to what's available in their add-on marketplace. On AWS, you can integrate any service, tune performance at the infrastructure level, and architect solutions that simply aren't possible on a PaaS.&lt;/p&gt;

&lt;p&gt;For some teams, there's also the benefit of deploying into customer cloud accounts for compliance and data sovereignty requirements. &lt;/p&gt;

&lt;p&gt;Defang bridges this gap by giving you Heroku-like simplicity with AWS power.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Try it yourself&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If your team is outgrowing Heroku or you need to bring your application into your customers’ cloud, give our migration workflow a spin. Install the Defang CLI, run defang init migrate-from-heroku, and watch your app come to life in AWS. You can find more details in our &lt;a href="https://docs.defang.io/docs/tutorials/migrating-from-heroku" rel="noopener noreferrer"&gt;official migration guide&lt;/a&gt;. We’d love to hear what you deploy and what features you’d like us to add next.&lt;/p&gt;

</description>
      <category>heroku</category>
      <category>aws</category>
      <category>devops</category>
      <category>containers</category>
    </item>
    <item>
      <title>Deployments in the Agentic Era</title>
      <dc:creator>Defang.io</dc:creator>
      <pubDate>Tue, 16 Sep 2025 16:44:51 +0000</pubDate>
      <link>https://forem.com/defanglabs/deployments-in-the-agentic-era-1m2h</link>
      <guid>https://forem.com/defanglabs/deployments-in-the-agentic-era-1m2h</guid>
      <description>&lt;p&gt;If you want people to adopt your AI product, the deployment story has to be as strong as the features.&lt;/p&gt;

&lt;p&gt;Over the past few decades, the software industry has gone through multiple major transitions. Each one reshaped not only how products are delivered, but also how they are trusted.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the &lt;strong&gt;Client-Server Era&lt;/strong&gt; (circa 2000)&lt;strong&gt;,&lt;/strong&gt; apps like SAP and PeopleSoft were purchased and deployed by the customer in their own "on-prem" environment. The customer was in control, but also took on the operational complexity of everything from procuring and deploying hardware to the system software and the apps themselves.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;SaaS Era&lt;/strong&gt; (circa 2010s), apps such as Salesforce and Workday ran in the provider's cloud and were delivered through the browser. While this simplified operations for the customer, it also meant that the customer data was trapped in these applications, with sometimes ambiguous data ownership and usage rules.&lt;/li&gt;
&lt;li&gt;Today, we are entering the &lt;strong&gt;Agentic Era&lt;/strong&gt;. Agentic apps promise to deliver an unprecedented productivity boost, but to do so, they need access to the most sensitive business data: conversations, documents, decisions. Customers do not want to transfer such data to an unknown and untrusted external provider's environment. Instead, they expect these products to run inside &lt;em&gt;their&lt;/em&gt; cloud accounts (whether it be &lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;, &lt;a href="https://cloud.google.com/" rel="noopener noreferrer"&gt;GCP&lt;/a&gt;, or any other), with &lt;em&gt;their&lt;/em&gt; compliance, and under &lt;em&gt;their&lt;/em&gt; security controls.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fej4y3qe3nmj4fux2ro36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fej4y3qe3nmj4fux2ro36.png" alt="Diagram showing shift from Client-Server to SaaS to Agentic Era, with Defang enabling secure cloud deployments." width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is not a small adjustment. It is the foundation of how the next generation of software will be trusted and adopted.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why the Agentic Era Changes the Rules&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;AI products are not like SaaS tools. They do not just manage workflows, they ingest and act on the crown jewels of a business. To succeed in this environment, three conditions must hold true:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data stays with the customer&lt;/strong&gt;: no leaking sensitive content outside their environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployments work across clouds&lt;/strong&gt;: &lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;, &lt;a href="https://cloud.google.com/" rel="noopener noreferrer"&gt;GCP&lt;/a&gt;, &lt;a href="https://azure.microsoft.com/en-us/" rel="noopener noreferrer"&gt;Azure&lt;/a&gt;, or wherever the customer operates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security and compliance are built in&lt;/strong&gt;: IAM, networking, and policies set up correctly from day one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not a technical detail. It is the trust layer that determines whether adoption happens at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;ekai's Example&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://yourekai.com/" rel="noopener noreferrer"&gt;ekai&lt;/a&gt; is an AI digital twin that boosts productivity by capturing meetings, surfacing action items, and acting as a Slack companion. To be trusted, it has to run inside the customer's cloud account.&lt;/p&gt;

&lt;p&gt;ekai needed a single deployment solution that could run on any cloud and deliver a consistent, reliable experience with the same features everywhere. Like many AI builders, they faced the challenge of providing secure, compliant deployments across &lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;, &lt;a href="https://cloud.google.com/" rel="noopener noreferrer"&gt;GCP&lt;/a&gt;, and other environments without spending weeks on custom DevOps for each customer.&lt;/p&gt;

&lt;p&gt;That is where Defang came in.&lt;/p&gt;

&lt;p&gt;With Defang, ekai defines its application once in Docker Compose. Defang turns that definition into a production-ready deployment inside the customer's own cloud account. Compute, storage, networking, IAM roles, security groups, and even managed LLMs are provisioned automatically, following best practices for each cloud.&lt;/p&gt;

&lt;p&gt;What used to take weeks of engineering now happens in hours. More importantly, every deployment is secure, compliant, and customer-owned.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Defang was the ideal choice for us. We simply describe ekai as a Docker Compose application, and Defang takes care of everything else. From compute and storage to IAM roles and managed LLMs, Defang ensures our deployments are secure, scalable, and cloud-native. That is a huge benefit for us and for our customers."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ash Tiwari, Founder &amp;amp; CEO, &lt;a href="https://yourekai.com/" rel="noopener noreferrer"&gt;ekai&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Defang and the Agentic Era&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;ekai is not an isolated case. It is a preview of what the Agentic Era demands. As AI products move deeper into mission-critical workflows, deployment will decide adoption.&lt;/p&gt;

&lt;p&gt;Defang exists to make this possible.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define your app once, no matter the framework: &lt;a href="https://www.crewai.com/" rel="noopener noreferrer"&gt;CrewAI&lt;/a&gt;, &lt;a href="https://www.langchain.com/langgraph" rel="noopener noreferrer"&gt;LangGraph&lt;/a&gt;, &lt;a href="https://microsoft.github.io/autogen/stable//index.html" rel="noopener noreferrer"&gt;AutoGen&lt;/a&gt;, &lt;a href="https://strandsagents.com/latest/" rel="noopener noreferrer"&gt;Strands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Deploy to any cloud in a single step&lt;/li&gt;
&lt;li&gt;Keep customer data inside customer environments&lt;/li&gt;
&lt;li&gt;Align deployments with cloud-native best practices automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just as SaaS platforms unlocked a decade of cloud adoption, Defang is the foundation for customer-owned AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Takeaway&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In the Agentic Era, trust is the product. The next wave of AI adoption will be decided not by features, but by where and how products run. Companies that respect data ownership and deliver secure, cloud-native deployments will earn trust and scale. Those that do not will be left behind.&lt;/p&gt;

&lt;p&gt;Defang is the invisible infrastructure making this era possible.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloud</category>
      <category>zerotrust</category>
      <category>compliance</category>
    </item>
  </channel>
</rss>
