Cloudflare, the Internet infrastructure and security company that powers 14% of the web, today announced an expanded version of Cloudflare Workers called Cloudflare Workers Unbound.
Unbound is an enhanced offering of Cloudflare Workers that removes some of the original resource constraints (around memory, CPU, and execution limits), offers a new pricing model, and includes a host of new features/capabilities to developers building applications at the edge.
Released three years ago, Cloudflare Workers provides a serverless execution environment that runs across all of the company’s edge infrastructure -- currently located in over 200 cities worldwide. The Cloudflare global footprint puts these serverless functions within 100ms of 99% of the developed world (and 95% of the entire world’s population). Based on a server-side implementation of the Service Worker API and an innovative use of Chrome’s V8 Isolates, Cloudflare Workers enables developers to deploy business logic with cold-start times today under 5ms. In the last quarter alone, Cloudflare has seen 20,000 new developers deploy code--written in JavaScript, Rust, and C--on the platform.
Cloudflare Workers is an example of one of the powerful options for developing logic in the Infrastructure Edge (or the space between the TelCo last mile and the cloud provider). In a space traditionally occupied by Content Delivery Networks and TelCo connectivity equipment, the Infrastructure Edge is seeing innovation in delivering advanced use cases around traffic routing, meeting regulation/compliance requirements, machine learning inferencing, and custom logic all executed before reaching a site’s origin (or the cloud provider/on-premise servers).
Under the original Cloudflare Worker release, CPU, memory, and code execution duration were restricted to support a flat-rate pricing model. While this pricing model continues to be supported (now under a new name of Cloudflare Worker Bundled), Cloudflare Worker Unbound is in direct response to developer requests to remove CPU/memory limits and allow longer execution times (will be approximately 15 minutes with Workers Unbound). To support the removal of the resource limits and longer running processes, a new pricing model has been introduced. The new pricing model is based on request number, bandwidth consumed, and execution time used. Matthew Prince (CEO Cloudflare) describes the new pricing to be half the price of similar serverless offerings from AWS, Google, and Azure.
In the press release announcing Workers Unbound, Cloudflare mentions “Zero millisecond cold starts.” Prince explained how this is achieved: “...when a request comes in that will be handled by a Cloudflare Worker the first thing we have to do is handle TLS negotiation. So we hooked in there.” TLS negotiation takes longer than the 5ms on average cold start time of a worker. So while TLS is being handled, Cloudflare’s control plane signals the actual worker to be called and warms it ahead of time. By the time the actual request arrives at the worker (following TLS negotiation), it has been warmed and effectively makes the net cold start for the Worker zero.
In addition to innovations like zero millisecond cold start times for serverless workloads, Cloudflare is working to remove code sizes limits by leveraging shared libraries, continuing to iterate on the developer experience offered by the Wrangler CLI, innovating with the security stance (such as collaborating with one of the teams that found the Spectre vulnerability to harden the Cloudflare security architecture and introduce proactive Spectre mitigations), and is supporting entirely new languages such as Python, Scala, and (even) COBOL on the platform. (When asked about the new language support, Prince commented that Cloudflare transpiles to JavaScript as part of the deployment process to enable multi-language support.)
Additional information on Cloudflare Workers Unbound (and the original release now called Cloudflare Workers Bundled) can be found by visiting the Cloudflare Workers Product page.