1<!DOCTYPE html><html lang="en" class="geist_a8fa0c1a-module__MXp6vq__variable geist_mono_44a15786-module__TFZSCa__variable geist_a8fa0c1a-module__MXp6vq__className antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="https://cdn.simpleicons.org/openai/737373"/><link rel="preload" as="image" href="https://cdn.simpleicons.org/vercel"/><link rel="preload" as="image" href="https://cdn.simpleicons.org/anthropic/c2410c"/><link rel="preload" as="image" href="https://cdn.simpleicons.org/google/ca8a04"/><link rel="stylesheet" href="/_next/static/chunks/dd7b830295a7d76f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/1d064decab531487.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/42bbec399ef26bd0.js"/>
1<script src="/_next/static/chunks/fee8d241f6698635.js" async=""></script>
1<script src="/_next/static/chunks/6cf72fd878dce16b.js" async=""></script>
1<script src="/_next/static/chunks/df58c052710bc33f.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-bb869efcc2c89edb.js" async=""></script>
1<script src="/_next/static/chunks/e89db027249216a8.js" async=""></script>
1<script src="/_next/static/chunks/0a9f293e99116f13.js" async=""></script>
1<script src="/_next/static/chunks/d1bd3319f186a5e9.js" async=""></script>
1<script src="/_next/static/chunks/3512fd29dfc0cda1.js" async=""></script>
1<script src="/_next/static/chunks/2aff4a6db8a957a2.js" async=""></script>
1<script src="/_next/static/chunks/df33d3f4ad2d6c04.js" async=""></script>
1<script src="/_next/static/chunks/68e7b984035c4776.js" async=""></script>
1<meta name="next-size-adjust" content=""/><meta name="theme-color" content="transparent"/><title>The AI Cloud</title><meta name="description" content="The evolution of the cloud, from pages to agents, from problems to solutions, from closed AI to open AI"/><meta property="og:title" content="The AI Cloud"/><meta property="og:description" content="The evolution of the cloud, from pages to agents, from problems to solutions, from closed AI to open AI"/><meta property="og:image" content="https://rauchg.com/og/the-ai-cloud"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@rauchg"/><meta name="twitter:creator" content="@rauchg"/><meta name="twitter:title" content="The AI Cloud"/><meta name="twitter:description" content="The evolution of the cloud, from pages to agents, from problems to solutions, from closed AI to open AI"/><meta name="twitter:image" content="https://rauchg.com/og/the-ai-cloud"/><link rel="icon" href="/icon.png?icon.7e34900e.png" sizes="512x512" type="image/png"/>
1<script>(function n(){console.log(` 2 â â 3 âââ ââââ 4 ââââ ââââââ 5 âââââââââââââââââââ 6 âââââââââââââââââââââ 7 âââââââââââââââââââââââ 8 âââââââââââââââââââââââââ 9 âââââââââââââââââââââââââ 10 âââââââââââââââââââââââââââ 11 âââââââââââââââââââââââââââ 12 ââââââââââââââââââââââââââââ 13 âââââââââââââââââââââââââââââ 14 ââââââââââââââââââââââââââââ 15 âââââââââââââââââââââââââââ 16 ââââââââââââââââââââââââââ 17 âââââââââââââââââââââââââ 18 ââââââââââââââââââââââ 19 ââââââââââââââââââ 20 ââââââââââââ 21 `)})();</script>
21<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
21</head><body class="dark:text-gray-100 max-w-2xl m-auto"><div hidden=""><!--$--><!--/$--></div><main class="p-6 pt-3 md:pt-6 min-h-screen"><header class="flex mb-5 md:mb-10 items-center"><span class="text-md md:text-lg whitespace-nowrap font-bold"><a class="hover:bg-neutral-200 dark:hover:bg-neutral-700 p-2 rounded-2xl -ml-2 transition-[background-color]" href="/">Guillermo Rauch</a></span><nav class="text-xs grow justify-end items-center flex"><a class="group p-2" href="/about"><span class="group-hover:bg-neutral-200 dark:group-hover:bg-neutral-700 rounded-xl py-0.5 px-1.5 inline-flex">About</span></a><a href="https://x.com/rauchg" target="_blank" class="group inline-flex items-center p-2 rounded-sm transition-[background-color] whitespace-nowrap -mr-2"><span class="group-hover:bg-neutral-200 dark:group-hover:bg-neutral-700 rounded-xl py-0.5 px-1.5 inline-flex items-center gap-1"><svg viewBox="0 0 24 24" class="inline-flex fill-current" width="12" height="12"><g><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg><span>Follow me</span></span></a></nav></header><article class="text-gray-800 dark:text-gray-300 mb-10"><h1 class="text-2xl font-bold mb-1 dark:text-gray-100">The AI Cloud</h1><p class="font-mono flex text-xs text-neutral-500 dark:text-neutral-500"><span class="flex-grow"><span class="hidden md:inline"><span><a href="https://twitter.com/rauchg" class="hover:text-neutral-800 dark:hover:text-neutral-400" target="_blank">@rauchg</a></span><span class="mx-2">|</span></span><span>Oct 17, 2025<!-- --> (<!-- -->12m<!-- --> ago)</span></span><span class="pr-1.5"><span>51,961<!-- --> views</span></span></p><p class="my-5 [blockquote_&]:my-2">Vercel was born out of my frustration in 2015 that while the cloud enabled 22this seemingly infinite array of possibilities (and compute), the <em>pixels</em> 23on the web weren't getting significantly better. And neither was the experience 24of crafting them.</p> 25<p class="my-5 [blockquote_&]:my-2">The cloud promised to remove the burden of maintaining physical data centers 26and hardware, but ultimately we inherited much of that burden in digital form. 27DevOps, K8s, VPCs, CI/CD, IAM, CDNs, IaC...</p> 28<p class="my-5 [blockquote_&]:my-2">The time you should have spent on the pixels... was spent on the configs. The 29jobs you could have devoted to product and customers, were devoted to the setup 30of clusters and machines.</p> 31<p class="my-5 [blockquote_&]:my-2">Over the past 10 years, we've been fortunate to play a role in reversing this story. 32We led with developer experience, starting with frameworks 33and tools that, upon deployment, <em>generated</em> the infrastructure. React 34pioneered the concept that the DOM is the <em>output</em> of your state and data.</p> 35<p class="my-5 [blockquote_&]:my-2">We set out to make Vercel the <em>React of the Cloud</em>, where the hyperscaler 36primitives are outputs not to be directly manipulated, or jQueryed. And, 37in the process, we made a popular React framework too.</p> 38<p class="my-5 [blockquote_&]:my-2">The results: Next.js's seen 500M downloads over the past 12 months, which is 39more than in the entire 2016 to 2024 period. Vercel is crossing 1 billion 40application deployments. We now power two of the top 20 highest traffic 41web properties on the planet, like OpenAI and The Weather Company, while also 42serving millions of applications of all sizes, including 1-person 43companies making millions in ARR.</p> 44<p class="my-5 [blockquote_&]:my-2">But to win the next decade, Vercel must heed the advice of its hyperscaler 45predecessor and partner: it's always Day One.</p> 46<p class="my-5 [blockquote_&]:my-2">AI is eating the Web, and with it, the Web Services we're used to. There 47are three massive trends that are shaking up the web, the cloud, and 48software as a whole:</p> 49<ul class="my-5 list-none list-inside"> 50<li class=" 51 my-2 52 [ul_&]:relative 53 [ul_&]:pl-4 54 [ul_&]:before:text-gray-400 55 [ul_&]:before:content-['â'] 56 [ul_&]:before:mr-2 57 [ul_&]:before:absolute 58 [ul_&]:before:-ml-4 59 "><strong><a href="#pages-to-agents" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
59k:hover:border-white ">Pages to Agents</a></strong></li> 60<li class=" 61 my-2 62 [ul_&]:relative 63 [ul_&]:pl-4 64 [ul_&]:before:text-gray-400 65 [ul_&]:before:content-['â'] 66 [ul_&]:before:mr-2 67 [ul_&]:before:absolute 68 [ul_&]:before:-ml-4 69 "><strong><a href="#problems-to-solutions" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">Problems to Solutions</a></strong></li> 70<li class=" 71 my-2 72 [ul_&]:relative 73 [ul_&]:pl-4 74 [ul_&]:before:text-gray-400 75 [ul_&]:before:content-['â'] 76 [ul_&]:before:mr-2 77 [ul_&]:before:absolute 78 [ul_&]:before:-ml-4 79 "><strong><a href="#closed-to-open" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">Closed to Open</a></strong></li> 80</ul> 81<p class="my-5 [blockquote_&]:my-2">I believe this is a transcendental time for developers and users. 82We can either give up the web, proxy all our data and intent through 83one closed mega-app, or reinvent it together in the open.</p> 84<h2 class="group font-bold text-xl my-8 relative"><span class="relative"><a class=" 85 absolute 86 px-3 87 -left-[2rem] 88 invisible 89 [span:hover_&]:visible 90 font-mono 91 font-normal 92 text-gray-400 93 hover:text-gray-600 94 dark:text-gray-500 95 dark:hover:text-gray-400 96 " href="#pages-to-agents">#</a><a id="pages-to-agents" class=" 97 absolute 98 -top-[20px] 99 "></a>From pages to agents </span></h2> 100<p class="my-5 [blockquote_&]:my-2">The cloud was conceived as a democratization of Amazon.com. Developers 101demanded faster mechanisms to provision infrastructure than clunky 102data centers, and wanted to dream up new experiences of their own.</p> 103<p class="my-5 [blockquote_&]:my-2">Amazon.com is a set of pages. Very fast, dynamic, personalized pages. Emphasis 104on fast... something that, despite the rise of AWS, remained elusive to most and 105today underpins a lot of the success of the Vercel business. Customers like 106Under Armour, PetSmart, DoorDash, Nintendo, and Porsche partner with us because we 107help them work backwards from the customer experience, delivering fast pages 108and great product experiences, while we automate the infrastructure away.</p> 109<p class="my-5 [blockquote_&]:my-2">One of the key unlocks of this first wave of the web was that page speed correlated 110closely with conversion. Google rewards page speed with higher rankings, which 111creates a flywheel of more business, more conversion, more organic traffic.</p> 112<p class="my-5 [blockquote_&]:my-2">Pages got us here, but agents will get us there.</p> 113<p class="my-5 [blockquote_&]:my-2">When you Google something and you get 10 blue links, wouldn't it be 114great if <em>"someone"</em> opened 10 tabs, did a ton of reading, researched the facts, 115compared them, visualized them in a way that's relatable to you, considering 116your knowledge, memories, preferences?</p> 117<p class="my-5 [blockquote_&]:my-2">Well, that's just the definition of an agent, and something Google is already 118doing via AI Overviews, and in the process re-shuffling the traffic makeup 119of the internet. An agent is "just" a piece of software that's able to perform 120a bunch of steps on our behalf, intelligently, and deliver an outcome.</p> 121<p class="my-5 [blockquote_&]:my-2">Unlike pages, agents are not usually synchronous. They're never static. They can think 122for seconds, minutes, hours. Soon, days and weeks. Unlike pages, they don't follow 123a rigid set of data fetching and rendering instructions. They can write their 124own code and create tools on the fly to achieve their goals.</p> 125<p class="my-5 [blockquote_&]:my-2">This is making us rethink the services that make up the cloud.</p> 126<div class="relative my-12 lg:-mx-20 overflow-x-auto"><table class="w-full max-w-4xl mx-auto border-collapse border border-neutral-300 dark:border-neutral-700"><thead>
126<tr class="bg-neutral-100 dark:bg-neutral-900"><th class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-left font-semibold text-sm sm:text-base">Traditional Cloud</th><th class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-left font-semibold text-sm sm:text-base">AI Cloud</th></tr></thead><tbody><tr class="hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors"><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Static & semi-static UI<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400">One-shot responses</span></td><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Full dynamic & generative UI<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400"><a href="https://vercel.com/docs/functions/streaming-functions" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
126k:hover:border-white ">Streaming responses</a></span></td></tr><tr class="hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors"><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Framework for UI & Pages<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400">React / Next.js</span></td><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Framework for AI & Agents<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400"><a href="https://ai-sdk.dev" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">AI SDK</a></span></td></tr><tr class="hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors"><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">CDN of Pixels<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400">CloudFront</span></td><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">CDN of Tokens<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400"><a href="https://vercel.com/ai-gateway" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
126k:hover:border-white ">AI Gateway</a></span></td></tr><tr class="hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors"><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Compute for Human-written Code<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400">EC2</span></td><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Compute for Agent-written Code<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400"><a href="https://vercel.com/docs/vercel-sandbox" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">Sandbox</a></span></td></tr><tr class="hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors"><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Foreground Compute<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400">Quick / CPU-bound (Lambda)</span></td><td class="border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base">Background Compute<br/><span class="text-xs sm:text-sm text-gray-600 dark:text-gray-400">Long running / IO-bound (<a href="https://vercel.com/fluid" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
126k:hover:border-white ">Fluid</a>)</span></td></tr></tbody></table><p class="text-center mt-4 px-4 font-mono text-xs sm:text-sm text-gray-600 dark:text-gray-400">Traditional cloud services and frameworks are foundational â they're not going away</p></div> 127<p class="my-5 [blockquote_&]:my-2">Agents get closer to why we invented software to begin with. We wanted to 128scale expertise, make users more productive, make people's lives better. I believe 129every organization and individual should have the power to create and deploy their 130own. Instead of clinging onto the old web, we should pick up its lessons. Everyone 131has the freedom to own a domain and deploy to it.</p> 132<h2 class="group font-bold text-xl my-8 relative"><span class="relative"><a class=" 133 absolute 134 px-3 135 -left-[2rem] 136 invisible 137 [span:hover_&]:visible 138 font-mono 139 font-normal 140 text-gray-400 141 hover:text-gray-600 142 dark:text-gray-500 143 dark:hover:text-gray-400 144 " href="#problems-to-solutions">#</a><a id="problems-to-solutions" class=" 145 absolute 146 -top-[20px] 147 "></a>From problems to solutions </span></h2> 148<p class="my-5 [blockquote_&]:my-2">To wrestle with the complexity of building and deploying software, we invented an enormous 149ecosystem of tools, frameworks, and services.</p> 150<p class="my-5 [blockquote_&]:my-2">Frameworks have so far served two purposes. One, to abstract away the complexity of 151the underlying platform, codifying the best practices of expert developers and 152organizations that have gone before us.</p> 153<p class="my-5 [blockquote_&]:my-2">On Vercel, frameworks also serve an additional, critical purpose. They automate 154infrastructure through what we call Framework-defined Infrastructure (FdI). CI/CD, 155compute clusters, CDNs, caching systems, and more are seamlessly provisioned. Like 156a "cloud compiler" that turns your code into optimal infrastructure.</p> 157<p class="my-5 [blockquote_&]:my-2">The lifecycle of software is roughly "build and run". Build is the 158phase where you write code, test it, and prepare it for production. FdI has given 159us autonomy here.</p> 160<p class="my-5 [blockquote_&]:my-2">Run is the phase where your code is executed, serving users, processing data, 161and performing tasks. This is also where things can go wrong, slow down, or 162altogether break.</p> 163<p class="my-5 [blockquote_&]:my-2">The latter phase, run, is where we believe AI will allow us to attain the next 164level of cloud autonomy. An AI Cloud will be able to monitor, optimize, secure, 165and repair itself, without human intervention.</p> 166<p class="my-5 [blockquote_&]:my-2">Earlier this year, we introduced our <a href="https://vercel.com/changelog/vercel-agent-now-in-limited-beta" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
166k:hover:border-white ">Firewall Agent</a>, capable of responding to 167threats and providing high-quality investigations and mitigation strategies 168to human operators. 169Our <a href="https://vercel.com/agent" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">Code Review Agent</a> now analyzes every pull request by executing it in a 170secure sandbox and emulating the work of a dedicated, expert colleague 171who looks at your code with a healthy amount of skepticism. A (thorough and extensive) <em>vibe check</em> if 172you will.</p> 173<p class="my-5 [blockquote_&]:my-2">We believe that an agentic cloud will repair and optimize, not merely inform. 174Every application at scale today incurs gigantic costs associated with 175collecting telemetry and observability data, surfacing it in dashboards... 176hoping that humans will open them, prioritize issues, and fix them by hand.</p> 177<p class="my-5 [blockquote_&]:my-2">Fundamentally, we believe an AI Cloud shouldn't give you problem after problem 178(alerts, 5xx errors, latency spikes, traffic anomalies...). It should give you 179solutions: pull requests, recommendations, and automated actions.</p> 180<h2 class="group font-bold text-xl my-8 relative"><span class="relative"><a class=" 181 absolute 182 px-3 183 -left-[2rem] 184 invisible 185 [span:hover_&]:visible 186 font-mono 187 font-normal 188 text-gray-400 189 hover:text-gray-600 190 dark:text-gray-500 191 dark:hover:text-gray-400 192 " href="#closed-to-open">#</a><a id="closed-to-open" class=" 193 absolute 194 -top-[20px] 195 "></a>From closed to open </span></h2> 196<p class="my-5 [blockquote_&]:my-2">The promise of rethinking all software with AI is thrilling. I believe all 197applications and services will involve AI in some way, shape, or form. I 198believe the cloud itself will become agentic.</p> 199<p class="my-5 [blockquote_&]:my-2">As we reimagine the web and web services, we must ensure they remain open 200and decentralized. The beauty of the web is that anyone can own a domain, deploy 201to it, and link to anyone else. There's no "app review process", no "platform fee," 202and every protocol and format is open and documented.</p> 203<p class="my-5 [blockquote_&]:my-2">The first wave of AI has been dominated by closed models, proprietary SDKs, 204protocols, and centralized interfaces.</p> 205<p class="my-5 [blockquote_&]:my-2">Instead of a single agentic interface, we should have a web of agents. Instead 206of a single model SDK, we should embrace model choice. Our contribution here 207is the AI SDK, which not only abstracts over providers, it makes the developer 208experience even more delightful than the vendor-specific SDKs.</p> 209<p class="my-5 [blockquote_&]:my-2">Developers seem to agree, with the AI SDK package (<code class=" 210 [p_&]:text-sm 211 [p_&]:px-1 212 [p_&]:py-0.5 213 [p_&]:rounded-sm 214 [p_&]:bg-neutral-200 215 dark:[p_&]:bg-[#333] 216 ">ai</code>) on npm now being 217the second-largest AI package by downloads, second only to <code class=" 218 [p_&]:text-sm 219 [p_&]:px-1 220 [p_&]:py-0.5 221 [p_&]:rounded-sm 222 [p_&]:bg-neutral-200 223 dark:[p_&]:bg-[#333] 224 ">openai</code>:</p> 225<div class="jsx-26c8f78742c54f23 relative my-12 lg:-mx-20 overflow-x-auto focus:outline-none"><div class="jsx-26c8f78742c54f23 chart-container w-full max-w-4xl mx-auto border border-neutral-300 dark:border-neutral-700 p-3 sm:p-6 focus:outline-none"><div class="recharts-responsive-container" style="width:100%;height:400px;min-width:0"><div style="width:0;height:0;overflow:visible"></div></div><div class="flex flex-wrap justify-center gap-x-7 gap-y-3 mt-6"><a href="https://www.npmjs.com/package/openai" target="_blank" rel="noopener noreferrer" class="flex items-center gap-2 group"><img src="https://cdn.simpleicons.org/openai/737373" alt="openai" class="w-4 h-4"/><span class="font-mono text-xs whitespace-nowrap " style="color:#737373">`<span class="border-b border-transparent group-hover:border-dotted transition-colors" style="border-bottom-color:transparent">openai</span>
225`</span></a><a href="https://ai-sdk.dev" target="_blank" rel="noopener noreferrer" class="flex items-center gap-2 group"><img src="https://cdn.simpleicons.org/vercel" alt="ai" class="w-4 h-4 dark:invert dark:opacity-85"/><span class="font-mono text-xs whitespace-nowrap text-black dark:text-neutral-300">`<span class="border-b border-transparent group-hover:border-dotted transition-colors" style="border-bottom-color:transparent">ai</span>`</span></a><a href="https://www.npmjs.com/package/@anthropic-ai/sdk" target="_blank" rel="noopener noreferrer" class="flex items-center gap-2 group"><img src="https://cdn.simpleicons.org/anthropic/c2410c" alt="@anthropic-ai/sdk" class="w-4 h-4"/><span class="font-mono text-xs whitespace-nowrap " style="color:#dc2626">`<span class="border-b border-transparent group-hover:border-dotted transition-colors" style="border-bottom-color:transparent">@anthropic-ai/sdk</span>`</span></a><a href="https://www.npmjs.com/package/@google/genai" target="_blank" rel="noopener noreferrer" class="flex items-center gap-2 group"><img src="https://cdn.simpleicons.org/google/ca8a04" alt="@google/genai" class="w-4 h-4"/><span class="font-mono text-xs whitespace-nowrap " style="color:#eab308">`<span class="border-b border-transparent group-hover:border-dotted transition-colors" style="border-bottom-color:transparent">@google/genai</span>`</span></a></div></div><p class="jsx-26c8f78742c54f23 text-center mt-4 px-4 font-mono text-xs sm:text-sm text-gray-600 dark:text-gray-400"><a href="https://ai-sdk.dev" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
225k:hover:border-white ">AI SDK</a> is now the #2 largest SDK for AI in JS/TS, but, crucially, one that's model and provider agnostic</p></div> 226<p class="my-5 [blockquote_&]:my-2">The early success of MCP as the protocol connecting agents is a promising 227foundation of this new web, which won't be made up solely of pages. And 228more examples of open AI protocols are emerging, such as for 229commerce (<a href="https://www.agenticcommerce.dev/" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">Agentic Commerce Protocol</a>) and 230coding (<a href="https://agentclientprotocol.com/" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">Agent Client Protocol</a>).</p> 231<h2 class="group font-bold text-xl my-8 relative"><span class="relative"><a class=" 232 absolute 233 px-3 234 -left-[2rem] 235 invisible 236 [span:hover_&]:visible 237 font-mono 238 font-normal 239 text-gray-400 240 hover:text-gray-600 241 dark:text-gray-500 242 dark:hover:text-gray-400 243 " href="#conclusion">#</a><a id="conclusion" class=" 244 absolute 245 -top-[20px] 246 "></a>Conclusion </span></h2> 247<p class="my-5 [blockquote_&]:my-2">The internet of tomorrow will look very different. Users expect (and deserve!) more 248intelligent experiences, while increasingly relying on agents to 249solve their problems.</p> 250<p class="my-5 [blockquote_&]:my-2">This is true for developers, who offload problem-solving to agents. For 251framework and devtools builders, this means our job is no longer to 252empower and delight developers, but also their agents.</p> 253<p class="my-5 [blockquote_&]:my-2">It's also true for the cloud. The "hello world" experience of yesterday 254was a page, today it's an agent. The interface was clicking through UIs, 255today it's prompting, or just doing work behind the scenes. <a href="https://x.com/rauchg/status/1978585286130221336" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
255k:hover:border-white ">Surfacing 256insights and solutions</a>, not endless UI or problems.</p> 257<p class="my-5 [blockquote_&]:my-2">For all of us, <a href="https://v0.app" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">developers or not</a>, this is an opportunity to reinvent and reimagine the web 258and continue building it on open foundations.</p><!--$--><!--/$--></article></main><footer class="p-6 pt-3 pb-6 flex text-xs text-center mt-3 dark:text-gray-400 text-gray-500 font-mono"><div class="grow text-left">Guillermo Rauch (<a href="https://twitter.com/rauchg" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white ">@rauchg</a>)</div><div><a href="https://github.com/rauchg/blog" target="_blank" rel="noopener noreferrer" class="border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white ">Source</a></div></footer><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
258<script src="/_next/static/chunks/42bbec399ef26bd0.js" id="_R_" async=""></script>
258<script>(self.__next_f=self.__next_f||[]).push([0])</script>
258<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[28811,[\"/_next/static/chunks/e89db027249216a8.js\"],\"Logo\"]\n3:I[86796,[\"/_next/static/chunks/e89db027249216a8.js\",\"/_next/static/chunks/0a9f293e99116f13.js\",\"/_next/static/chunks/d1bd3319f186a5e9.js\",\"/_next/static/chunks/3512fd29dfc0cda1.js\",\"/_next/static/chunks/2aff4a6db8a957a2.js\"],\"\"]\n4:I[64532,[\"/_next/static/chunks/df33d3f4ad2d6c04.js\",\"/_next/static/chunks/68e7b984035c4776.js\"],\"default\"]\n5:I[70689,[\"/_next/static/chunks/df33d3f4ad2d6c04.js\",\"/_next/static/chunks/68e7b984035c4776.js\"],\"default\"]\nd:I[48705,[],\"default\"]\n:HL[\"/_next/static/chunks/dd7b830295a7d76f.css\",\"style\"]\n:HL[\"/_next/static/chunks/1d064decab531487.css\",\"style\"]\n"])</script>
258<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"H7kM9EJW0gEcPI3MVv58M\",\"c\":[\"\",\"2025\",\"the-ai-cloud\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(post)\",{\"children\":[\"2025\",{\"children\":[\"the-ai-cloud\",{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/dd7b830295a7d76f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/e89db027249216a8.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a8fa0c1a-module__MXp6vq__variable geist_mono_44a15786-module__TFZSCa__variable geist_a8fa0c1a-module__MXp6vq__className antialiased\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function n(){console.log(`\\n â â\\n âââ ââââ\\n ââââ ââââââ\\n âââââââââââââââââââ\\n âââââââââââââââââââââ\\n âââââââââââââââââââââââ\\n âââââââââââââââââââââââââ\\n âââââââââââââââââââââââââ\\n âââââââââââââââââââââââââââ\\n âââââââââââââââââââââââââââ\\n ââââââââââââââââââââââââââââ\\n âââââââââââââââââââââââââââââ\\n ââââââââââââââââââââââââââââ\\n âââââââââââââââââââââââââââ\\n ââââââââââââââââââââââââââ\\n âââââââââââââââââââââââââ\\n ââââââââââââââââââââââ\\n ââââââââââââââââââ\\n ââââââââââââ\\n `)})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"dark:text-gray-100 max-w-2xl m-auto\",\"children\":[[\"$\",\"main\",null,{\"className\":\"p-6 pt-3 md:pt-6 min-h-screen\",\"children\":[[\"$\",\"header\",null,{\"className\":\"flex mb-5 md:mb-10 items-center\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"nav\",null,{\"className\":\"text-xs grow justify-end items-center flex\",\"children\":[[\"$\",\"$L3\",null,{\"href\":\"/about\",\"className\":\"group p-2\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:bg-neutral-200 dark:group-hover:bg-neutral-700 rounded-xl py-0.5 px-1.5 inline-flex\",\"children\":\"About\"}]}],[\"$\",\"a\",null,{\"href\":\"https://x.com/rauchg\",\"target\":\"_blank\",\"className\":\"group inline-flex items-center p-2 rounded-sm transition-[background-color] whitespace-nowrap -mr-2\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:bg-neutral-200 dark:group-hover:bg-neutral-700 rounded-xl py-0.5 px-1.5 inline-flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"className\":\"inline-flex fill-current\",\"width\":12,\"height\":12,\"children\":[\"$\",\"g\",null,{\"children\":[\"$\",\"path\",null,{\"d\":\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\"}]}]}],[\"$\",\"span\",null,{\"children\":\"Follow me\"}]]}]}]]}]]}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\"
258:\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"$L6\",\"$L7\"]}]]}]]}],{\"children\":[\"$L8\",{\"children\":[\"$L9\",{\"children\":[\"$La\",{\"children\":[\"$Lb\",{},null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$Lc\",false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true}\n"])</script>
258<script>self.__next_f.push([1,"e:I[31154,[\"/_next/static/chunks/e89db027249216a8.js\"],\"Analytics\"]\n39:I[56847,[\"/_next/static/chunks/df33d3f4ad2d6c04.js\",\"/_next/static/chunks/68e7b984035c4776.js\"],\"ViewportBoundary\"]\n3b:I[56847,[\"/_next/static/chunks/df33d3f4ad2d6c04.js\",\"/_next/static/chunks/68e7b984035c4776.js\"],\"MetadataBoundary\"]\n3c:\"$Sreact.suspense\"\n6:[\"$\",\"footer\",null,{\"className\":\"p-6 pt-3 pb-6 flex text-xs text-center mt-3 dark:text-gray-400 text-gray-500 font-mono\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grow text-left\",\"children\":[\"Guillermo Rauch (\",[\"$\",\"a\",null,{\"href\":\"https://twitter.com/rauchg\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"@rauchg\"}],\")\"]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/rauchg/blog\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"Source\"}]}]]}]\n7:[\"$\",\"$Le\",null,{}]\n8:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0a9f293e99116f13.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$Lf\"]}]\n9:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\na:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
258<script>self.__next_f.push([1,"b:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"Vercel was born out of my frustration in 2015 that while the cloud enabled\\nthis seemingly infinite array of possibilities (and compute), the \",[\"$\",\"em\",null,{\"children\":\"pixels\"}],\"\\non the web weren't getting significantly better. And neither was the experience\\nof crafting them.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The cloud promised to remove the burden of maintaining physical data centers\\nand hardware, but ultimately we inherited much of that burden in digital form.\\nDevOps, K8s, VPCs, CI/CD, IAM, CDNs, IaC...\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The time you should have spent on the pixels... was spent on the configs. The\\njobs you could have devoted to product and customers, were devoted to the setup\\nof clusters and machines.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"Over the past 10 years, we've been fortunate to play a role in reversing this story.\\nWe led with developer experience, starting with frameworks\\nand tools that, upon deployment, \",[\"$\",\"em\",null,{\"children\":\"generated\"}],\" the infrastructure. React\\npioneered the concept that the DOM is the \",[\"$\",\"em\",null,{\"children\":\"output\"}],\" of your state and data.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"We set out to make Vercel the \",[\"$\",\"em\",null,{\"children\":\"React of the Cloud\"}],\", where the hyperscaler\\nprimitives are outputs not to be directly manipulated, or jQueryed. And,\\nin the process, we made a popular React framework too.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The results: Next.js's seen 500M downloads over the past 12 months, which is\\nmore than in the entire 2016 to 2024 period. Vercel is crossing 1 billion\\napplication deployments. We now power two of the top 20 highest traffic\\nweb properties on the planet, like OpenAI and The Weather Company, while also\\nserving millions of applications of all sizes, including 1-person\\ncompanies making millions in ARR.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"But to win the next decade, Vercel must heed the advice of its hyperscaler\\npredecessor and partner: it's always Day One.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"AI is eating the Web, and with it, the Web Services we're used to. There\\nare three massive trends that are shaking up the web, the cloud, and\\nsoftware as a whole:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"my-5 list-none list-inside\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"\\n my-2\\n [ul_\u0026]:relative\\n [ul_\u0026]:pl-4\\n [ul_\u0026]:before:text-gray-400\\n [ul_\u0026]:before:content-['â']\\n [ul_\u0026]:before:mr-2\\n [ul_\u0026]:before:absolute\\n [ul_\u0026]:before:-ml-4\\n \",\"children\":[\"$\",\"strong\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"#pages-to-agents\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"Pages to Agents\"}]}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"\\n my-2\\n [ul_\u0026]:relative\\n [ul_\u0026]:pl-4\\n [ul_\u0026]:before:text-gray-400\\n [ul_\u0026]:before:content-['â']\\n [ul_\u0026]:before:mr-2\\n [ul_\u0026]:before:absolute\\n [ul_\u0026]:before:-ml-4\\n \",\"children\":[\"$\",\"strong\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"#problems-to-solutions\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"Problems to Solutions\"}]}]}],\"\\n\",\"$L10\",\"\\n\"]}],\"\\n\",\"$L11\",\"\\n\",\"$L12\",\"\\n\",\"$L13\",\"\\n\",\"$L14\",\"\\n\",\"$L15\",\"\\n\",\"$L16\",\"\\n\",\"$L17\",\"\\n\",\"$L18\",\"\\n\",\"$L19\",\"\\n\",\"$L1a\",\"\\n\",\"$L1b\",\"\\n\",\"$L1c\",\"\\n\",\"$L1d\",\"\\n\",\"$L1e\",\"\\n\",\"$L1f\",\"\\n\",\"$L20\",\"\\n\",\"$L21\",\"\\n\",\"$L22\",\"\\n\",\"$L23\",\"\\n\",\"$L24\",\"\\n\",\"$L25\",\"\\n\",\"$L26\",\"\\n\",\"$L27\",\"\\n\",\"$L28\",\"\\n\",\"$L29\",\"\\n\",\"$L2a\",\"\\n\",\"$L2b\",\"\\n\",\"$L2c\",\"\\n\",\"$L2d\",\"\\n\",\"$L2e\",\"\\n\",\"$L2f\",\"\\n\",\"$L30\",\"\\n\",\"$L31\",\"\\n\",\"$L32\",\"\\n\",\"$L33\"],[\"$L34\",\"$L35\",\"$L36\",\"$L37\"],\"$L38\"]}]\n"])</script>
258<script>self.__next_f.push([1,"c:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L39\",null,{\"children\":\"$L3a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L3b\",null,{\"children\":[\"$\",\"$3c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L3d\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
258<script>self.__next_f.push([1,"41:I[92951,[\"/_next/static/chunks/e89db027249216a8.js\",\"/_next/static/chunks/0a9f293e99116f13.js\",\"/_next/static/chunks/d1bd3319f186a5e9.js\",\"/_next/static/chunks/3512fd29dfc0cda1.js\",\"/_next/static/chunks/2aff4a6db8a957a2.js\"],\"Chart\"]\n42:I[56847,[\"/_next/static/chunks/df33d3f4ad2d6c04.js\",\"/_next/static/chunks/68e7b984035c4776.js\"],\"OutletBoundary\"]\n10:[\"$\",\"li\",null,{\"className\":\"\\n my-2\\n [ul_\u0026]:relative\\n [ul_\u0026]:pl-4\\n [ul_\u0026]:before:text-gray-400\\n [ul_\u0026]:before:content-['â']\\n [ul_\u0026]:before:mr-2\\n [ul_\u0026]:before:absolute\\n [ul_\u0026]:before:-ml-4\\n \",\"children\":[\"$\",\"strong\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"#closed-to-open\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"Closed to Open\"}]}]}]\n11:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"I believe this is a transcendental time for developers and users.\\nWe can either give up the web, proxy all our data and intent through\\none closed mega-app, or reinvent it together in the open.\"}]\n12:[\"$\",\"h2\",null,{\"className\":\"group font-bold text-xl my-8 relative\",\"children\":[[\"$\",\"span\",\".0\",{\"className\":\"relative\",\"children\":[[\"$\",\"a\",null,{\"className\":\"\\n absolute\\n px-3\\n -left-[2rem]\\n invisible\\n [span:hover_\u0026]:visible\\n font-mono\\n font-normal\\n text-gray-400\\n hover:text-gray-600\\n dark:text-gray-500\\n dark:hover:text-gray-400\\n \",\"href\":\"#pages-to-agents\",\"children\":\"#\"}],[\"$\",\"a\",null,{\"id\":\"pages-to-agents\",\"className\":\"\\n absolute\\n -top-[20px]\\n \"}],\"From pages to agents \"]}]]}]\n13:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The cloud was conceived as a democratization of Amazon.com. Developers\\ndemanded faster mechanisms to provision infrastructure than clunky\\ndata centers, and wanted to dream up new experiences of their own.\"}]\n14:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Amazon.com is a set of pages. Very fast, dynamic, personalized pages. Emphasis\\non fast... something that, despite the rise of AWS, remained elusive to most and\\ntoday underpins a lot of the success of the Vercel business. Customers like\\nUnder Armour, PetSmart, DoorDash, Nintendo, and Porsche partner with us because we\\nhelp them work backwards from the customer experience, delivering fast pages\\nand great product experiences, while we automate the infrastructure away.\"}]\n15:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"One of the key unlocks of this first wave of the web was that page speed correlated\\nclosely with conversion. Google rewards page speed with higher rankings, which\\ncreates a flywheel of more business, more conversion, more organic traffic.\"}]\n16:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Pages got us here, but agents will get us there.\"}]\n17:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"When you Google something and you get 10 blue links, wouldn't it be\\ngreat if \",[\"$\",\"em\",null,{\"children\":\"\\\"someone\\\"\"}],\" opened 10 tabs, did a ton of reading, researched the facts,\\ncompared them, visualized them in a way that's relatable to you, considering\\nyour knowledge, memories, preferences?\"]}]\n18:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Well, that's just the definition of an agent, and something Google is already\\ndoing via AI Overviews, and in the process re-shuffling the traffic makeup\\nof the internet. An agent is \\\"just\\\" a piece of software that's able to perform\\na bunch of steps on our behalf, intelligently, and deliver an outcome.\"}]\n19:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Unlike pages, agents are not usually synchronous. They're never static. They can think\\nfor seconds, minutes, hours. Soon, days and weeks. Unlike pages, the"])</script>
258<script>self.__next_f.push([1,"y don't follow\\na rigid set of data fetching and rendering instructions. They can write their\\nown code and create tools on the fly to achieve their goals.\"}]\n1a:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"This is making us rethink the services that make up the cloud.\"}]\n"])</script>
258<script>self.__next_f.push([1,"1b:[\"$\",\"div\",null,{\"className\":\"relative my-12 lg:-mx-20 overflow-x-auto\",\"children\":[[\"$\",\"table\",null,{\"className\":\"w-full max-w-4xl mx-auto border-collapse border border-neutral-300 dark:border-neutral-700\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"bg-neutral-100 dark:bg-neutral-900\",\"children\":[[\"$\",\"th\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-left font-semibold text-sm sm:text-base\",\"children\":\"Traditional Cloud\"}],[\"$\",\"th\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-left font-semibold text-sm sm:text-base\",\"children\":\"AI Cloud\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"className\":\"hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors\",\"children\":[[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Static \u0026 semi-static UI\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":\"One-shot responses\"}]]}],[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Full dynamic \u0026 generative UI\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":[\"$\",\"a\",null,{\"href\":\"https://vercel.com/docs/functions/streaming-functions\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"Streaming responses\"}]}]]}]]}],[\"$\",\"tr\",null,{\"className\":\"hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors\",\"children\":[[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Framework for UI \u0026 Pages\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":\"React / Next.js\"}]]}],[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Framework for AI \u0026 Agents\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":[\"$\",\"a\",null,{\"href\":\"https://ai-sdk.dev\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"AI SDK\"}]}]]}]]}],[\"$\",\"tr\",null,{\"className\":\"hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors\",\"children\":[[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"CDN of Pixels\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":\"CloudFront\"}]]}],[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"CDN of Tokens\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":[\"$\",\"a\",null,{\"href\":\"https://vercel.com/ai-gateway\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"AI Gateway\"}]}]]}]]}],[\"$\",\"tr\",null,{\"className\":\"hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors\",\"children\":[[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Compute for Human-written Code\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":\"EC2\"}]]}],\"$L3e\"]}],\"$L3f\"]}]]}],\"$L40\"]}]\n"])</script>
258<script>self.__next_f.push([1,"1c:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Agents get closer to why we invented software to begin with. We wanted to\\nscale expertise, make users more productive, make people's lives better. I believe\\nevery organization and individual should have the power to create and deploy their\\nown. Instead of clinging onto the old web, we should pick up its lessons. Everyone\\nhas the freedom to own a domain and deploy to it.\"}]\n1d:[\"$\",\"h2\",null,{\"className\":\"group font-bold text-xl my-8 relative\",\"children\":[[\"$\",\"span\",\".0\",{\"className\":\"relative\",\"children\":[[\"$\",\"a\",null,{\"className\":\"\\n absolute\\n px-3\\n -left-[2rem]\\n invisible\\n [span:hover_\u0026]:visible\\n font-mono\\n font-normal\\n text-gray-400\\n hover:text-gray-600\\n dark:text-gray-500\\n dark:hover:text-gray-400\\n \",\"href\":\"#problems-to-solutions\",\"children\":\"#\"}],[\"$\",\"a\",null,{\"id\":\"problems-to-solutions\",\"className\":\"\\n absolute\\n -top-[20px]\\n \"}],\"From problems to solutions \"]}]]}]\n1e:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"To wrestle with the complexity of building and deploying software, we invented an enormous\\necosystem of tools, frameworks, and services.\"}]\n1f:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Frameworks have so far served two purposes. One, to abstract away the complexity of\\nthe underlying platform, codifying the best practices of expert developers and\\norganizations that have gone before us.\"}]\n20:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"On Vercel, frameworks also serve an additional, critical purpose. They automate\\ninfrastructure through what we call Framework-defined Infrastructure (FdI). CI/CD,\\ncompute clusters, CDNs, caching systems, and more are seamlessly provisioned. Like\\na \\\"cloud compiler\\\" that turns your code into optimal infrastructure.\"}]\n21:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The lifecycle of software is roughly \\\"build and run\\\". Build is the\\nphase where you write code, test it, and prepare it for production. FdI has given\\nus autonomy here.\"}]\n22:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Run is the phase where your code is executed, serving users, processing data,\\nand performing tasks. This is also where things can go wrong, slow down, or\\naltogether break.\"}]\n23:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The latter phase, run, is where we believe AI will allow us to attain the next\\nlevel of cloud autonomy. An AI Cloud will be able to monitor, optimize, secure,\\nand repair itself, without human intervention.\"}]\n24:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"Earlier this year, we introduced our \",[\"$\",\"a\",null,{\"href\":\"https://vercel.com/changelog/vercel-agent-now-in-limited-beta\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"Firewall Agent\"}],\", capable of responding to\\nthreats and providing high-quality investigations and mitigation strategies\\nto human operators.\\nOur \",[\"$\",\"a\",null,{\"href\":\"https://vercel.com/agent\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"Code Review Agent\"}],\" now analyzes every pull request by executing it in a\\nsecure sandbox and emulating the work of a dedicated, expert colleague\\nwho looks at your code with a healthy amount of skepticism. A (thorough and extensive) \",[\"$\",\"em\",null,{\"children\":\"vibe check\"}],\" if\\nyou will.\"]}]\n25:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"We believe that an agentic cloud will repair and op"])</script>
258<script>self.__next_f.push([1,"timize, not merely inform.\\nEvery application at scale today incurs gigantic costs associated with\\ncollecting telemetry and observability data, surfacing it in dashboards...\\nhoping that humans will open them, prioritize issues, and fix them by hand.\"}]\n26:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Fundamentally, we believe an AI Cloud shouldn't give you problem after problem\\n(alerts, 5xx errors, latency spikes, traffic anomalies...). It should give you\\nsolutions: pull requests, recommendations, and automated actions.\"}]\n27:[\"$\",\"h2\",null,{\"className\":\"group font-bold text-xl my-8 relative\",\"children\":[[\"$\",\"span\",\".0\",{\"className\":\"relative\",\"children\":[[\"$\",\"a\",null,{\"className\":\"\\n absolute\\n px-3\\n -left-[2rem]\\n invisible\\n [span:hover_\u0026]:visible\\n font-mono\\n font-normal\\n text-gray-400\\n hover:text-gray-600\\n dark:text-gray-500\\n dark:hover:text-gray-400\\n \",\"href\":\"#closed-to-open\",\"children\":\"#\"}],[\"$\",\"a\",null,{\"id\":\"closed-to-open\",\"className\":\"\\n absolute\\n -top-[20px]\\n \"}],\"From closed to open \"]}]]}]\n28:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The promise of rethinking all software with AI is thrilling. I believe all\\napplications and services will involve AI in some way, shape, or form. I\\nbelieve the cloud itself will become agentic.\"}]\n29:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"As we reimagine the web and web services, we must ensure they remain open\\nand decentralized. The beauty of the web is that anyone can own a domain, deploy\\nto it, and link to anyone else. There's no \\\"app review process\\\", no \\\"platform fee,\\\"\\nand every protocol and format is open and documented.\"}]\n2a:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The first wave of AI has been dominated by closed models, proprietary SDKs,\\nprotocols, and centralized interfaces.\"}]\n2b:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"Instead of a single agentic interface, we should have a web of agents. Instead\\nof a single model SDK, we should embrace model choice. Our contribution here\\nis the AI SDK, which not only abstracts over providers, it makes the developer\\nexperience even more delightful than the vendor-specific SDKs.\"}]\n2c:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"Developers seem to agree, with the AI SDK package (\",[\"$\",\"code\",null,{\"className\":\"\\n [p_\u0026]:text-sm\\n [p_\u0026]:px-1\\n [p_\u0026]:py-0.5\\n [p_\u0026]:rounded-sm\\n [p_\u0026]:bg-neutral-200\\n dark:[p_\u0026]:bg-[#333]\\n \",\"children\":\"ai\"}],\") on npm now being\\nthe second-largest AI package by downloads, second only to \",[\"$\",\"code\",null,{\"className\":\"\\n [p_\u0026]:text-sm\\n [p_\u0026]:px-1\\n [p_\u0026]:py-0.5\\n [p_\u0026]:rounded-sm\\n [p_\u0026]:bg-neutral-200\\n dark:[p_\u0026]:bg-[#333]\\n \",\"children\":\"openai\"}],\":\"]}]\n2d:[\"$\",\"$L41\",null,{}]\n2e:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"The early success of MCP as the protocol connecting agents is a promising\\nfoundation of this new web, which won't be made up solely of pages. And\\nmore examples of open AI protocols are emerging, such as for\\ncommerce (\",[\"$\",\"a\",null,{\"href\":\"https://www.agenticcommerce.dev/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"Agentic Commerce Protocol\"}],\") and\\ncoding (\",[\"$\",\"a\",null,{\"href\":\"https://agentclientprotocol.com/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"Agent Client Protocol\"}],\").\"]}]\n2f:[\"$\",\"h2\",null,{\"className\":\"g"])</script>
258<script>self.__next_f.push([1,"roup font-bold text-xl my-8 relative\",\"children\":[[\"$\",\"span\",\".0\",{\"className\":\"relative\",\"children\":[[\"$\",\"a\",null,{\"className\":\"\\n absolute\\n px-3\\n -left-[2rem]\\n invisible\\n [span:hover_\u0026]:visible\\n font-mono\\n font-normal\\n text-gray-400\\n hover:text-gray-600\\n dark:text-gray-500\\n dark:hover:text-gray-400\\n \",\"href\":\"#conclusion\",\"children\":\"#\"}],[\"$\",\"a\",null,{\"id\":\"conclusion\",\"className\":\"\\n absolute\\n -top-[20px]\\n \"}],\"Conclusion \"]}]]}]\n30:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"The internet of tomorrow will look very different. Users expect (and deserve!) more\\nintelligent experiences, while increasingly relying on agents to\\nsolve their problems.\"}]\n31:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":\"This is true for developers, who offload problem-solving to agents. For\\nframework and devtools builders, this means our job is no longer to\\nempower and delight developers, but also their agents.\"}]\n32:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"It's also true for the cloud. The \\\"hello world\\\" experience of yesterday\\nwas a page, today it's an agent. The interface was clicking through UIs,\\ntoday it's prompting, or just doing work behind the scenes. \",[\"$\",\"a\",null,{\"href\":\"https://x.com/rauchg/status/1978585286130221336\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"Surfacing\\ninsights and solutions\"}],\", not endless UI or problems.\"]}]\n33:[\"$\",\"p\",null,{\"className\":\"my-5 [blockquote_\u0026]:my-2\",\"children\":[\"For all of us, \",[\"$\",\"a\",null,{\"href\":\"https://v0.app\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"developers or not\"}],\", this is an opportunity to reinvent and reimagine the web\\nand continue building it on open foundations.\"]}]\n34:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1d064decab531487.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n35:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d1bd3319f186a5e9.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n36:[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/3512fd29dfc0cda1.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n37:[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/2aff4a6db8a957a2.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n38:[\"$\",\"$L42\",null,{\"children\":[\"$\",\"$3c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@43\"}]}]\n"])</script>
258<script>self.__next_f.push([1,"3e:[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Compute for Agent-written Code\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":[\"$\",\"a\",null,{\"href\":\"https://vercel.com/docs/vercel-sandbox\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dark:hover:border-white \",\"children\":\"Sandbox\"}]}]]}]\n3f:[\"$\",\"tr\",null,{\"className\":\"hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors\",\"children\":[[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Foreground Compute\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":\"Quick / CPU-bound (Lambda)\"}]]}],[\"$\",\"td\",null,{\"className\":\"border border-neutral-300 dark:border-neutral-700 px-3 sm:px-6 py-3 text-sm sm:text-base\",\"children\":[\"Background Compute\",[\"$\",\"br\",null,{}],[\"$\",\"span\",null,{\"className\":\"text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":[\"Long running / IO-bound (\",[\"$\",\"a\",null,{\"href\":\"https://vercel.com/fluid\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"border-b text-gray-600 border-gray-300 transition-[border-color] hover:border-gray-600 dark:text-white dark:border-stone-600 dar
258k:hover:border-white \",\"children\":\"Fluid\"}],\")\"]}]]}]]}]\n40:[\"$\",\"p\",null,{\"className\":\"text-center mt-4 px-4 font-mono text-xs sm:text-sm text-gray-600 dark:text-gray-400\",\"children\":\"Traditional cloud services and frameworks are foundational â they're not going away\"}]\n"])</script>
258<script>self.__next_f.push([1,"3a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"transparent\"}]]\n"])</script>
258<script>self.__next_f.push([1,"44:I[5855,[\"/_next/static/chunks/df33d3f4ad2d6c04.js\",\"/_next/static/chunks/68e7b984035c4776.js\"],\"IconMark\"]\n3d:[[\"$\",\"title\",\"0\",{\"children\":\"The AI Cloud\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The evolution of the cloud, from pages to agents, from problems to solutions, from closed AI to open AI\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"The AI Cloud\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"The evolution of the cloud, from pages to agents, from problems to solutions, from closed AI to open AI\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:image\",\"content\":\"https://rauchg.com/og/the-ai-cloud\"}],[\"$\",\"meta\",\"5\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:site\",\"content\":\"@rauchg\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:creator\",\"content\":\"@rauchg\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:title\",\"content\":\"The AI Cloud\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:description\",\"content\":\"The evolution of the cloud, from pages to agents, from problems to solutions, from closed AI to open AI\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:image\",\"content\":\"https://rauchg.com/og/the-ai-cloud\"}],[\"$\",\"link\",\"11\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.7e34900e.png\",\"sizes\":\"512x512\",\"type\":\"image/png\"}],[\"$\",\"$L44\",\"12\",{}]]\n43:null\n"])</script>
258<script>self.__next_f.push([1,"45:I[99358,[\"/_next/static/chunks/e89db027249216a8.js\",\"/_next/static/chunks/0a9f293e99116f13.js\"],\"Header\"]\n"])</script>
258<script>self.__next_f.push([1,"f:[\"$\",\"article\",null,{\"className\":\"text-gray-800 dark:text-gray-300 mb-10\",\"children\":[[\"$\",\"$L45\",null,{\"posts\":[{\"id\":\"the-ai-cloud\",\"date\":\"Oct 17, 2025\",\"title\":\"The AI Cloud\",\"views\":51961,\"viewsFormatted\":\"51,961\"},{\"id\":\"making-the-web-faster\",\"date\":\"June 23, 2021\",\"title\":\"Making the web. Faster.\",\"views\":107336,\"viewsFormatted\":\"107,336\"},{\"id\":\"next-for-vercel\",\"date\":\"December 16, 2020\",\"title\":\"Next for Vercel\",\"views\":63049,\"viewsFormatted\":\"63,049\"},{\"id\":\"books-people-reread\",\"date\":\"August 2, 2020\",\"title\":\"Books people re-read\",\"views\":42686,\"viewsFormatted\":\"42,686\"},{\"id\":\"develop-preview-test\",\"date\":\"June 11, 2020\",\"title\":\"Develop, preview, test\",\"views\":35461,\"viewsFormatted\":\"35,461\"},{\"id\":\"static-hoisting\",\"date\":\"May 2, 2020\",\"title\":\"Static hoisting\",\"views\":41446,\"viewsFormatted\":\"41,446\"},{\"id\":\"an-ode-to-code-golf\",\"date\":\"April 26, 2020\",\"title\":\"An ode to code golf\",\"views\":20370,\"viewsFormatted\":\"20,370\"},{\"id\":\"vercel\",\"date\":\"April 21, 2020\",\"title\":\"Vercel\",\"views\":58870,\"viewsFormatted\":\"58,870\"},{\"id\":\"2019-in-review\",\"date\":\"January 2, 2020\",\"title\":\"2019 in review\",\"views\":68886,\"viewsFormatted\":\"68,886\"},{\"id\":\"its-hard-to-forego-efficiency\",\"date\":\"March 28, 2017\",\"title\":\"It's hard to forego efficiency\",\"views\":48615,\"viewsFormatted\":\"48,615\"},{\"id\":\"2016-in-review\",\"date\":\"January 6, 2017\",\"title\":\"2016 in review\",\"views\":47255,\"viewsFormatted\":\"47,255\"},{\"id\":\"addressable-errors\",\"date\":\"February 4, 2016\",\"title\":\"Addressable errors\",\"views\":23590,\"viewsFormatted\":\"23,590\"},{\"id\":\"pure-ui\",\"date\":\"July 13, 2015\",\"title\":\"Pure UI\",\"views\":707099,\"viewsFormatted\":\"707,099\"},{\"id\":\"ecmascript-6\",\"date\":\"February 22, 2015\",\"title\":\"ECMAScript 6\",\"views\":129132,\"viewsFormatted\":\"129,132\"},{\"id\":\"7-principles-of-rich-web-applications\",\"date\":\"November 4, 2014\",\"title\":\"7 principles of rich web applications\",\"views\":740679,\"viewsFormatted\":\"740,679\"}]}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
258</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.