
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Wed, 15 Apr 2026 22:49:22 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Announcing Cloudflare Workers Unbound for General Availability]]></title>
            <link>https://blog.cloudflare.com/workers-unbound-ga/</link>
            <pubDate>Wed, 14 Apr 2021 13:00:00 GMT</pubDate>
            <description><![CDATA[ Since the Workers Unbound beta announcement last year, we’ve been hard at work tuning our systems to prepare for the public launch for Workers Unbound. We’ve seen enormous demand from developers, customers, and the Cloudflare community at large.  ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Since the Workers Unbound beta announcement last year, we’ve been hard at work tuning our systems to prepare for the public launch for Workers Unbound. We’ve seen enormous demand from developers, customers, and the Cloudflare community at large. We’ve been inspired to see our users develop a wide range of use cases, from enterprise features to entirely new applications and unlock creativity with personal projects.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3gNJxq5oKyyLQxsiWDTzLe/abe5bfdd4de49ceadca64e6185c38b46/image4-2.png" />
            
            </figure><p>Workers Unbound is intended for applications that need long execution times. Today, we are making our extended CPU limits of up to 30 seconds for HTTP requests generally available to customers on the Workers Paid plan. Please note that you will still be able to access Bundled Workers, which are capped at 50 milliseconds, by toggling your Workers at a per script level.</p><p>In addition, we are offering a <a href="https://www.cloudflare.com/workers-unbound-beta/">private beta</a> for Cron Triggers of up to 15 minutes for those who need even longer execution times. HTTP Workers are triggered by HTTP requests as part of the Fetch API, whereas Cron Workers are scheduled jobs invoked by <a href="https://developers.cloudflare.com/workers/platform/cron-triggers#:~:text=Cron%20Triggers%20allow%20users%20to,up%2Dto%2Ddate%20data.">Cron Triggers</a>. Our aim with this release is to allow customers to bring all of their intensive workloads to Workers and access the benefits of our edge network, without having to worry about computation limits.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5NhHiWWU9dlJSIAl6LITEg/10dd6e99b7239cf208fd0c79e847ed1b/unnamed--2-.gif" />
            
            </figure><p>The feedback has been fantastic and we’re excited to see that our work to extend compute limits to unlock new use cases is resonating with our community (please join our Discord server <a href="https://discord.gg/c2eACA4qXA">here</a>)!  We want Workers Unbound to be the choice that developers turn to for any workload that might otherwise be run on traditional serverless platforms like AWS Lambda  — and we’re thrilled to see that the message is resonating.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4XkkETlZ6pn1p60dxcjczh/99ecda993c55c35f4600811793eb3602/image6-3.png" />
            
            </figure>
    <div>
      <h3>Slashing egress pricing</h3>
      <a href="#slashing-egress-pricing">
        
      </a>
    </div>
    <p>Workers Unbound aims to be the cheapest general purpose computing platform, and we’ve made changes to our pricing plan to solidify that position. As <a href="/introducing-workers-unbound/">announced</a> during the beta, the Workers Unbound pricing model includes charges for duration and egress as well as requests, but we will not include any additional charges as other providers do, such as API Gateway or <a href="https://www.cloudflare.com/cloudflare-vs-cloudfront/">CloudFront</a>.</p><p>Over the course of development, we also heard your feedback on the cost of egress. We know that these costs are top of mind for developers who need to do intensive storage and transfer operations. In response to that, we have cut our egress in half from \$0.09 per GB to \$0.045 per GB.</p><p>Furthermore, we increased the usage that is included in our $5 a month cost, detailed below. Now, as a part of the Workers Paid plan, we will give you more usage for the same rate.</p><p>We know that cost can be a major pain point for other serverless providers, and we want to make sure that developers using Workers Unbound can spend more time building applications with cutting edge technologies and less time worrying about their bill. You can read more about our pricing in these <a href="https://developers.cloudflare.com/workers/platform/limits">docs</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/745kDWgFXRQRJz1HQDTtBV/6a9917b166351ce46d1a1b7d0c006ed4/image2-8.png" />
            
            </figure>
    <div>
      <h3>Serverless as a building block for application development</h3>
      <a href="#serverless-as-a-building-block-for-application-development">
        
      </a>
    </div>
    <p>Back in 2017, when we launched the Workers platform, we opted to tackle the lower latency use cases first. This approach helped us serve our existing customers, who wanted to modify Cloudflare products they were already using, like <a href="https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/">WAF</a> and who usually required little time to execute. We retained the ability to adjust the CPU time limit in special cases. Sometimes we did this for customers with specific needs, and often those customers were our own teams at Cloudflare building on Workers. As these requests became more and more frequent, we began to see the real-world practicality of offering higher compute limits to the general market. Our beta program has helped validate this hypothesis.</p><p>We’ve seen some of our early access Unbound testers use the platform for more complex compute use cases like genomic analysis. Dr. Robert Aboukhalil, a software engineer and bioinformatics specialist, used Workers Unbound to build an API that simulates DNA sequencing data, requesting subsets of a reference genome and streaming it back to the user. To power those simulations, he compiled wgsim, an open source genomics tool for simulating sequence reads from a reference genome, from C to WebAssembly using biowasm. Next, he used the human genome referenced hosted on the public repo of the <a href="https://www.internationalgenome.org/">1,000 Genomes Project</a> as a starting point to apply random modifications to simulate errors introduced during the experiment. You can read more about his explorations in this <a href="https://robaboukhalil.medium.com/serverless-genomics-c412f4bed726">blog</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7KTRC1CfbklEdFLt6DMVFD/1fc51c483890926fd6d8734e66cc0b9d/image1-15.png" />
            
            </figure><blockquote><p>In Dr. Aboukhalil’s own words: "Cloudflare Workers Unbound and KV are well-suited for complex workloads such as powering genomics analysis. For example, I was able to build an API that simulates DNA sequencing data. Workers was well suited as it features 0 ms initialization time (i.e. no “cold starts”), runs at the edge (i.e. in a data center close to your users), and has a pricing model that doesn’t require a degree in quantum physics to understand."</p></blockquote><p>We’ve also seen that Workers Unbound can be a critical part of scaling applications at large enterprise companies. Thomson Reuters used Workers Unbound to build EverCache, a cache implementation designed to improve efficiency and load times across thousands of their partner websites.</p><blockquote><p>According to Randy Kleinhuizen, an architect at Thomson Reuters, "We use Cloudflare Workers Unbound and Workers KV to reduce the burden on our origin servers and pre-populate our cache. We are early users of Unbound's long running Workers, and the simple integration with Workers KV has made it easy to use, with consistent performance and reliability."</p></blockquote><p>Furthermore, our testers have taught us that Workers Unbound is a powerful environment for sandboxing and experimentation. Customers who originally used our platform for more simple use cases are able to expand by testing out ideas, prototyping and building out optimizations with Unbound.</p><blockquote><p>As we heard from Kenn North, principal product manager at National Instruments, "Workers has been our go-to tool for scaling and tuning ni.com. We first started using Workers for redirects, and then began using Workers Unbound once we realized it could be a powerful tool for other features such as detecting the location of users and adjusting the experience accordingly. We started experimenting with using includes for deploying common header and footer HTML across the site, and currently we are improving routing, image optimization, and page caching. Our development team loves having the ability to experiment with building new features on top of Workers."</p></blockquote>
    <div>
      <h3>Getting Started with Workers Unbound</h3>
      <a href="#getting-started-with-workers-unbound">
        
      </a>
    </div>
    <p>Starting today, Workers Unbound is available to anyone with a Cloudflare Workers Paid subscription. Navigate to the Workers <a href="https://dash.cloudflare.com/?account=workers/plans">dashboard</a>, click "Change" under the Default Usage Model section, and follow the prompts to enable Unbound on your account. You can also change the Usage Model for individual Workers under the Settings tab of each Worker.</p><p>Once enabled, Unbound can also be used through wrangler, the command-line tool for deploying Workers. First, make sure to <a href="https://developers.cloudflare.com/workers/cli-wrangler/install-update">update</a> wrangler to release 1.15.1 or later. Then, configure the usage model of your Worker by setting the usage_model field in your wrangler.toml to either "bundled" or "unbound".</p><p>As a reminder, the “bundled” usage model gives you access to our original Workers model with up to 50ms of compute time. The model “unbound” opts you into the higher execution limits with the pricing listed above. If you don't specify a usage model, new Workers scripts will use the default usage model set through the dashboard.</p><p>If you want to try Workers Unbound today, please take a look at this template, licensed under the MIT license, and give it a whirl!</p>
            <pre><code>// Try running this script first with Usage Model: Bundled
// see how far it can count.
//
// Then update the script's Usage Model to Unbound to see
// how much further it can go!
//
// note: 1st requests on a connection in Bundled mode
// might get higher cpu allocation than average requests.
 
addEventListener('fetch', event =&gt; {
 event.respondWith(handleEvent(event))
})
 
async function handleEvent(event) {
 let { readable, writable } = new TransformStream()
 let countingIsDone = countToOneTrillion(writable)
 event.waitUntil(countingIsDone)
 
 // start streaming response while still counting
 return new Response(readable, {
   status: 200,
   headers: {
     'Content-Type': 'text/plain; charset=utf8',
     'X-Content-Type-Options': 'nosniff',
   },
 })
}
 
async function countToOneTrillion(writableStream) {
 // This is an example of a cpu-heavy long running task.
 //
 // Try your own example here instead!
 // Fractal Generator? ML model training?
 
 const million = 1000000
 const intro = `Hello World!
Let's count to one trillion:
(we'll stop when cpu limits are exceeded)
 
`
 const writer = writableStream.getWriter()
 const encoder = new TextEncoder()
 await writer.write(encoder.encode(intro))
 
 for (let i = 1; i &lt;= million * million; i++) {
   if (i % (2 * million) == 0) {
     // send an update to client every 2M cycles
     const count = i / million
     const line = `${count} million\n`
     await writer.write(encoder.encode(line))
   }
 }
 await writer.close()
 return
}</code></pre>
            <p>We hope you give Workers Unbound a try - and if you have any feedback or questions please let us know on our Discord server <a href="https://discord.gg/c2eACA4qXA">here</a>! If you are interested in signing up for the beta program for 15 minute Cron Workers, please contact us with <a href="https://www.cloudflare.com/workers-unbound-beta/">this form</a>.</p> ]]></content:encoded>
            <category><![CDATA[Developer Week]]></category>
            <category><![CDATA[Developers]]></category>
            <category><![CDATA[Serverless]]></category>
            <category><![CDATA[Cloudflare Workers]]></category>
            <category><![CDATA[Product News]]></category>
            <category><![CDATA[Workers Unbound]]></category>
            <category><![CDATA[Developer Platform]]></category>
            <guid isPermaLink="false">13zQI0LBFxOfPGAFmSqRUe</guid>
            <dc:creator>Nancy Gao</dc:creator>
        </item>
        <item>
            <title><![CDATA[Introducing Cron Triggers for Cloudflare Workers]]></title>
            <link>https://blog.cloudflare.com/introducing-cron-triggers-for-cloudflare-workers/</link>
            <pubDate>Mon, 28 Sep 2020 13:03:00 GMT</pubDate>
            <description><![CDATA[ Today the Cloudflare Workers team is thrilled to announce the launch of Cron Triggers. Before now, Workers were triggered purely by incoming HTTP requests but starting today you’ll be able to set a scheduler to run your Worker on a timed interval.  ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Today the Cloudflare Workers team is thrilled to announce the launch of Cron Triggers. Before now, Workers were triggered purely by incoming HTTP requests but starting today you’ll be able to set a scheduler to run your Worker on a timed interval. This was a highly requested feature that we know a lot of developers will find useful, and we’ve heard your feedback after Serverless Week.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3mFhv1takzwesEPBhMsxsd/4f2162b8ede8529ce6a9607d84f1dc46/image3-11.png" />
            
            </figure><p>We are excited to offer this feature at no additional cost, and it will be available on both the Workers free tier and the paid tier, now called Workers Bundled. Since it doesn’t matter which city a Cron Trigger routes the Worker through, we are able to maximize Cloudflare’s distributed system and send scheduled jobs to underutilized machinery. Running jobs on these quiet machines is both efficient and cost effective, and we are able to pass those cost savings down to you.</p>
    <div>
      <h3>What is a Cron Trigger and how might I use such a feature?</h3>
      <a href="#what-is-a-cron-trigger-and-how-might-i-use-such-a-feature">
        
      </a>
    </div>
    
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3eADieBYFbQMVWlUr0ot2P/e98c625f6bd5379db621ac68d55a6b75/image2-1.gif" />
            
            </figure><p>In case you’re not familiar with Unix systems, the cron pattern allows you to schedule jobs to run periodically at fixed intervals or at scheduled times. Cron Triggers in the context of Workers allow users to set time-based invocations for the job. These Workers happen on a recurring schedule, and differ from traditional Workers in that they do not fire on HTTP requests.</p><p>Most developers are familiar with the cron pattern and its usefulness across a wide range of applications. Pulling the latest data from APIs or running regular integration tests on a preset schedule are common examples of this.</p><blockquote><p>"We're excited about Cron Triggers. Workers is crucial to our stack, so using this feature for live integration tests will boost the developer experience." - Brian Marks, Software Engineer at Bazaarvoice</p></blockquote>
    <div>
      <h3>How much does it cost to use Cron Triggers?</h3>
      <a href="#how-much-does-it-cost-to-use-cron-triggers">
        
      </a>
    </div>
    <p>Triggers are included at no additional cost! Scheduled Workers count towards your request cap for both the free tier and Workers Bundled, but rest assured that there will be no hidden or extra fees. Our competitors charge extra for cron events, or in some cases offer a very limited free tier. We want to make this feature widely accessible and have decided not to charge on a per-trigger basis. While there are no limits for the number of triggers you can have across an account, note that there is a limit of 3 triggers per Worker script for this feature. You can read more about limits on Workers plans in this <a href="https://developers.cloudflare.com/workers/platform/limits">documentation</a>.</p>
    <div>
      <h3>How are you able to offer this feature at no additional cost?</h3>
      <a href="#how-are-you-able-to-offer-this-feature-at-no-additional-cost">
        
      </a>
    </div>
    <p>Cloudflare supports a massive distributed system that spans the globe with 200+ cities. Our nodes are named for the IATA airport code that they are closest to. Most of the time we run Workers close to the request origin for performance reasons (ie SJC if you are in the Bay Area, or CDG if you are lucky enough to be in Paris <a href="https://emojipedia.org/emoji/%F0%9F%A5%90/">?</a><a href="https://emojipedia.org/wine-glass/#:~:text=Red%20wine%20served%20in%20a%20stemmed%20glass.&amp;text=Wine%20Glass%20was%20approved%20as,to%20Emoji%201.0%20in%202015.">?</a><a href="https://emojipedia.org/cheese-wedge/#:~:text=A%20wedge%20of%20yellow%2Dorange,to%20Emoji%201.0%20in%202015.">?</a>).  In a typical HTTP Worker, we do this because we know that performance is of material importance when someone is waiting for the response.</p><p>In the case of Cron Triggers, where the user is running a task on a timed basis, those performance needs are different. A few milliseconds of extra latency do not matter as much when the user isn’t actively waiting for the response. The nature of the feature gives us much more flexibility on where to run the job, since it doesn’t have to necessarily be in a city close to the end user.</p><p>Cron Triggers are run on underutilized machines to make the best use of our capacity and route traffic efficiently. For example, a job scheduled from San Francisco at 7pm Pacific Time might be sent to Paris because it’s 4am there and traffic across Europe is low.  Sending traffic to these machines during quiet hours is very efficient, and we are more than happy to pass those cost savings down to you. Aside from this scheduling optimization, Workers that are called by Cron Triggers behave similarly to and have all of the same performance and security benefits as typical HTTP Workers.</p>
    <div>
      <h3>What’s happening below the hood?</h3>
      <a href="#whats-happening-below-the-hood">
        
      </a>
    </div>
    <p>At a high level, schedules created through our API create records in our database. These records contain the information necessary to execute the Worker on the given cron schedule. These records are then picked up by another service which continuously evaluates the state of our edge and distributes the schedules among cities. Once the schedules have been distributed to the edge, a service running in the node polls for changes to the schedules and makes sure they get sent to our runtime at the appropriate time.</p><p>If you want to know more details about how we implemented this feature, please refer to the <a href="/cron-triggers-for-scheduled-workers/">technical blog</a>.</p>
    <div>
      <h3>What’s coming next?</h3>
      <a href="#whats-coming-next">
        
      </a>
    </div>
    <p>With this feature, we’ve expanded what’s possible to build with Workers, and further simplified the developer experience. While Workers previously only ran on web requests, we believe the future of edge computing isn’t strictly tied to HTTP requests and responses.  We want to introduce more types of Workers in the future.</p><p>We plan to expand out triggers to include different types, such as data or event-based triggers. Our goal is to give users more flexibility and control over when their Workers run. Cron Triggers are our first step in this direction. In addition, we plan to keep iterating on Cron Triggers to make edge infrastructure selection even more sophisticated and optimized -- for example, we might even consider triggers that allow our users to run in the most energy-efficient data centers.</p>
    <div>
      <h3>How to try Cron Triggers</h3>
      <a href="#how-to-try-cron-triggers">
        
      </a>
    </div>
    <p>Cron triggers are live today! You can try it in the Workers dashboard by creating a new Worker and setting up a Cron Trigger.</p> ]]></content:encoded>
            <category><![CDATA[Serverless]]></category>
            <category><![CDATA[Product News]]></category>
            <category><![CDATA[Cloudflare Workers]]></category>
            <category><![CDATA[Birthday Week]]></category>
            <guid isPermaLink="false">5bg0BDu8yMY3G6XzltFy2i</guid>
            <dc:creator>Nancy Gao</dc:creator>
        </item>
        <item>
            <title><![CDATA[Introducing Workers Unbound]]></title>
            <link>https://blog.cloudflare.com/introducing-workers-unbound/</link>
            <pubDate>Mon, 27 Jul 2020 11:00:00 GMT</pubDate>
            <description><![CDATA[ Today, we are excited to announce the next phase of this with the launch of our new platform, Workers Unbound, without restrictive CPU limits in a private beta. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>We launched Cloudflare Workers® in 2017 with the goal of building the development platform that we wished we had. We want to enable developers to build great software while Cloudflare manages the overhead of configuring and maintaining the infrastructure. Workers are with you from the first line of code, to the first application, all the way to a globally scaled product. By making our Edge network programmable and providing servers in 200+ locations around the world, we offer you the power to execute on even the biggest ideas.</p><p>Behind the scenes at Cloudflare, we’ve been steadily working towards making development on the Edge even more powerful and flexible. Today, we are excited to announce the next phase of this with the launch of our new platform, Workers Unbound, without restrictive CPU limits in a private beta (sign up for details <a href="https://www.cloudflare.com/workers-unbound-beta/">here</a>).</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2jQ86X9qoEKfdA1rHg2xd2/bf79311419d3cfa6563d01d8bdba3474/image2-9-3.png" />
            
            </figure>
    <div>
      <h3>What is Workers Unbound? How is it different from Cloudflare Workers?</h3>
      <a href="#what-is-workers-unbound-how-is-it-different-from-cloudflare-workers">
        
      </a>
    </div>
    <p>Workers Unbound is like our classic Cloudflare Workers (now referred to as Workers Bundled), but for applications that need longer execution times. We are extending our CPU limits to allow customers to bring all of their workloads onto Workers, no matter how intensive. It eliminates the choice that developers often have to make, between running fast, simple work on the Edge or running heavy computation in a centralized cloud with unlimited resources.</p><p>This platform will unlock a new class of intensive applications with heavy computation burdens like image processing or complex algorithms. In fact, this is a highly requested feature that we’ve previously unlocked for a number of our enterprise customers, and are now in the process of making it widely available to the public.</p><p>Workers Unbound is built to be a general purpose computing platform, not just as an alternative to niche edge computing offerings. We want to be more compelling for any workload you'd previously think to run on traditional, centralized serverless platforms — faster, more affordable, and more flexible.</p>
    <div>
      <h3>Neat! How can I try it?</h3>
      <a href="#neat-how-can-i-try-it">
        
      </a>
    </div>
    <p>We are excited to offer Workers Unbound to a select group of developers in a private beta. Please reach out via this <a href="https://www.cloudflare.com/workers-unbound-beta/">form</a> with some details about your use case, and we’ll be in touch! We’d love to hear your feedback and can’t wait to see what you build.</p>
    <div>
      <h3>What’s going on behind the scenes?</h3>
      <a href="#whats-going-on-behind-the-scenes">
        
      </a>
    </div>
    <p><a href="https://www.cloudflare.com/learning/serverless/what-is-serverless/">Serverless</a> as it’s known today is constrained by being built on top of old paradigms. Most serverless platforms have inherited containers from their cloud computing origins. Cloudflare has had the opportunity to rethink serverless by building on the Edge and making this technology more performant at scale for complex applications.</p><p>We reap performance benefits by running code on <a href="https://v8docs.nodesource.com/node-0.8/d5/dda/classv8_1_1_isolate.html">V8 Isolates</a>, which are designed to start very quickly with minimal cold start times. Isolates are a technology built by the Google Chrome team to power the JavaScript engine in the browser, and they introduce a new model for running multi-tenant code. They provide lightweight contexts that group variables with the code allowed to mutate them.</p><p>Isolates are far more lightweight than containers, a central tenet of most other serverless providers’ architecture. Containers effectively run a virtual machine, and there’s a lot of overhead associated with them. That, in turn, makes it very hard to run the workload outside a centralized environment.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1GMRxjfSybfSIYGYmzpEiH/a36b5bafa3d383f794d1262b6d06e3f3/isolates-model_2x.png" />
            
            </figure><p>Moreover, a single process on Workers can run hundreds or thousands of isolates, making switching between them seamless. That means it is possible to run code from many different customers within a single operating system process. This low runtime overhead is part of the story of how Workers scales to support many tenants.</p><p>The other part of the story is code distribution. The ability to serve customers from anywhere in the world is a key difference between an edge-based and a region-based serverless paradigm, but it requires us to ship customer code to every server at once. Isolates come to the rescue again: we embed V8 with the same standard JavaScript APIs you can find in browsers, meaning a serverless edge application is both lightweight and performant. This means we can distribute Worker scripts to every server in every datacenter around the world, so that any server, anywhere, can serve requests bound for any customer.</p>
    <div>
      <h3>How does this affect my bill?</h3>
      <a href="#how-does-this-affect-my-bill">
        
      </a>
    </div>
    <p>Performance at scale is top of mind for us because improving performance on our Edge means we can pass those cost savings down to you. We pay the overhead of a JavaScript runtime once, and then are able to run essentially limitless scripts with almost no individual overhead.</p><p>Workers Unbound is a truly cost-effective platform when compared to AWS Lambda. With serverless, you should only pay for what you use with no hidden fees. Workers will not charge you for hidden extras like <a href="https://www.cloudflare.com/learning/security/api/what-is-an-api-gateway/">API gateway</a> or DNS request fees.</p><p>Serverless Pricing Comparison*</p><table><tr><td><p>
</p></td><td><p><b>Workers Unbound</b></p></td><td><p><b>AWS Lambda</b></p></td><td><p><b>AWS Lambda @ Edge</b></p></td></tr><tr><td><p>Requests (per MM requests)</p></td><td><p>$0.15</p></td><td><p>$0.20 - $0.28</p></td><td><p>$0.60</p></td></tr><tr><td><p>Duration (per MM GB-sec)</p></td><td><p>$12.50</p></td><td><p>$16.67 - $22.92</p></td><td><p>$50.01</p></td></tr><tr><td><p>Data Transfer (per egress GB)</p></td><td><p>$0.09</p></td><td><p>$0.09 - $0.16</p></td><td><p>$0.09 - $0.16</p></td></tr><tr><td><p>API Gateway (per MM requests)</p></td><td><p>$0</p></td><td><p>$3.50 - $4.68</p></td><td><p>CloudFront pricing</p></td></tr><tr><td><p>DNS Queries (per MM requests)</p></td><td><p>$0</p></td><td><p>$0.40</p></td><td><p>$0.40</p></td></tr></table><p><i>* Based on pricing disclosed on aws.amazon.com/lambda/pricing as of July 24, 2020. AWS’ published duration pricing is based on 1 GB-sec, which has been multiplied by one million on this table for readability. AWS price ranges reflect different regional pricing. All prices rounded to the nearest two decimal places. Data Transfer for AWS is based on Data Transfer OUT From Amazon EC2 to Internet above 1 GB / month, for up to 9.999 TB / month. API Gateway for AWS is based on Rest APIs above 1MM/month, for up to 333MM/month. Both the Workers Unbound and AWS Lambda services provide 1MM free requests per month and 400,000 GB-seconds of compute time per month. DNS Queries rate for AWS is based on the listed price for up to 1 Billion queries / month.</i></p>
    <div>
      <h3>How much can I save?</h3>
      <a href="#how-much-can-i-save">
        
      </a>
    </div>
    <p>To put our numbers to the test, we deployed a <a href="https://github.com/Electroid/serverless-compare">hello world</a> GraphQL server to both Workers and Lambda. The median execution time on Lambda was 1.54ms, whereas the same workload took 0.90ms on Workers. After crunching the numbers and factoring in all the opaque fees that AWS charges (including API Gateway to allow for requests from the Internet), we found that using Workers Unbound can save you up to 75% -- and that’s just for a hello world! Imagine the cost savings when you’re running complex workloads for millions of users.</p><p>You might be wondering how we’re able to be so competitive. It all comes down to efficiency. The lightweight nature of Workers allows us to do the same work, but with less platform overhead and resource consumption. The execution times from this <a href="https://github.com/Electroid/serverless-compare">GraphQL hello world test are shown below and put platform providers’ overhead on display</a>. Since the test is truly a hello world, the variation is explained by architectural differences between providers (e.g. <a href="/cloud-computing-without-containers/">isolates v. containers</a>).</p><p>GraphQL hello world Execution Time (ms) across Serverless Platforms*</p><table><tr><td><p>
</p></td><td><p><b>Cloudflare Workers</b></p></td><td><p><b>AWS Lambda</b></p></td><td><p><b>Google Cloud Functions</b></p></td><td><p><b>Azure Functions</b></p></td></tr><tr><td><p>Min</p></td><td><p>0.58</p></td><td><p>1.22</p></td><td><p>6.16</p></td><td><p>5.00</p></td></tr><tr><td><p>p50</p></td><td><p>0.90</p></td><td><p>1.54</p></td><td><p>10.41</p></td><td><p>21.00</p></td></tr><tr><td><p>p90</p></td><td><p>1.24</p></td><td><p>7.45</p></td><td><p>15.93</p></td><td><p>110.00</p></td></tr><tr><td><p>p99</p></td><td><p>3.32</p></td><td><p>57.51</p></td><td><p>20.25</p></td><td><p>207.96</p></td></tr><tr><td><p>Max</p></td><td><p>16.39</p></td><td><p>398.54</p></td><td><p>31933.18</p></td><td><p>2768.00</p></td></tr></table><p><i>* The 128MB memory tier was used for each platform. This testing was run in us-east for AWS, us-central for Google, and us-west for Azure. Each platform test was run at a throughput of 1 request per second over the course of an hour. The execution times were taken from each provider's logging system.</i></p><p>These numbers speak for themselves and highlight the efficiency of the Worker’s architecture. On Workers, you don’t just get faster results, you also benefit from the cost savings we pass onto you.</p>
    <div>
      <h3>When can I use it?</h3>
      <a href="#when-can-i-use-it">
        
      </a>
    </div>
    <p>Workers Unbound is a major change to our platform, so we’ll be rolling it out slowly and tweaking it over time. If you’d like to get early access or want to be notified when it’s ready, sign up for details <a href="https://www.cloudflare.com/workers-unbound-beta/">here</a>!</p><p>We’ve got some exciting announcements to share this week. Stay tuned for the rest of Serverless Week!</p> ]]></content:encoded>
            <category><![CDATA[Cloudflare Workers]]></category>
            <category><![CDATA[Serverless]]></category>
            <category><![CDATA[Serverless Week]]></category>
            <category><![CDATA[Product News]]></category>
            <category><![CDATA[Developers]]></category>
            <category><![CDATA[Developer Platform]]></category>
            <guid isPermaLink="false">4F0YZ7aERnA3xpNec9Diza</guid>
            <dc:creator>Nancy Gao</dc:creator>
        </item>
    </channel>
</rss>