Cloudflare Workers vs Koyeb

Not all, “Focus on your code, we got the rest,” solutions are the same. Discover the difference between Koyeb and Cloudflare Workers with this (not so) vendor-neutral comparison and see how Koyeb is revolutionizing serverless.

Serverless providers claim “Write your code, and push it on our serverless platform”, but are all platforms equal? Platforms are purposefully designed and optimized to run different types of workloads. While some are built to support small, short-lived, functions, others are created to support larger workloads including full-fledged containers.

Cloudflare Workers is great for small functions that will perform fast by running at Edge, such as functions that customize content for end-users depending on their locations. However, due to Cloudflare Workers' limitations that we will cover below, you cannot run everything there.

Koyeb is great for full-stack applications: web applications, microservices, APIs, cron jobs, and more. We created this page to illustrate the differences between Koyeb and Cloudflare Workers and ultimately help you decide if Koyeb is the best fit for your workload. If you want to run more than a function @Edge, then we think you should give Koyeb a test drive.

To learn more about using functions and containers in your deployment strategy, check out our post Cloud Computing and Serverless Architectures: What are FaaS and CaaS?

Features

Types of services: Koyeb allows you to deploy and run web apps, APIs, event-driven functions, workers, and cron jobs. Cloudflare Workers can be used to host functions at Edge and cron jobs.

CI/CD: Koyeb automatically builds and deploys your app each time you git push with native continuous deployment and continuous integration features. As for Cloudflare Workers, CI/CD is not built-in to the technology, you'll need to use a third-party tool.

Private network, service mesh and service discovery: Koyeb automatically provides each application a secure private network that comes with built-in service discovery and service mesh. All services are automatically load-balanced and reachable through a dedicated DNS entry and the built-in service mesh enables secure inter-service communication. Cloudflare Workers do not run in a private network with a service mesh or service discovery. Moreover, communication between Workers is not possible if the Workers are in different zones.

Computing power: Cloudflare Workers' limits CPU time to 10ms per request on the free plan and at 30s with a paid plan. Koyeb is more flexible as there is no CPU time limit per request. On Koyeb, you can have up to 16 High-End vCPU per request, while you have no control on Cloudflare Workers.

Memory: Cloudfare Workers' memory is fixed at 128MB. If Cloudflare Workers receive requests that require more than this limit, requests will be canceled. In contrast, Koyeb can sustain large memory requirements, and you can decide how much RAM you need for your workloads. Koyeb offers up to 16GB of RAM for each request and we can even provide more RAM for large workloads.

SSD Storage: Cloudflare Workers doesn't provide local SSD storage for file processing. On Koyeb you can get up to 160GB of high-performance local SSD storage for temporary caching or file processing purposes.

Autohealing: Koyeb offers built-in TCP health checks on all applications you deploy. The platform also lets you define additional HTTP health checks to ensure your applications are running properly, and automatically respawn them if they become unresponsive. On the other hand, troubleshooting an unhealthy application is your responsibility with Cloudflare Workers.

Autoscaling: Koyeb and Cloudflare Workers are both serverless: auto-scaling and load balancing are built-in, and you don't pay for capacity you don’t need. Traffic is automatically routed and load-balanced across servers. Sleep well as your code scales effortlessly.

Global edge network: Global edge networks deliver content to users across the globe with low latency by serving content that is cached at edge locations. Koyeb’s global edge network provides native load-balancing, TLS encryption, and caching. Both Cloudflare Workers and Koyeb run global edge networks.

Developer experience

  • Deployment methods: Koyeb supports git-driven deployment and Docker deployment from any container registry whereas Cloudflare Workers does not support Docker or git-driven deployment.
  • Ease of Use: You can use the Koyeb CLI or the Console to deploy on Koyeb. With git-driven deployment, simply put your code in a GitHub repository and push it to Koyeb. Koyeb will automatically detect the language of your service, then build and deploy it for you. In comparison, the learning curve is steeper with Cloudflare Workers. You will need to read their Workers' specific documentation to understand how to deploy your code.
  • Languages support: Koyeb supports many runtimes including Node.js, Python, Go, Ruby, Rust, Java, Clojure, Scala, and PHP. Plus, since you can run any container image on Koyeb, Koyeb virtually supports any language as long as you can put it into a container. In comparison, Cloudflare Workers supports JavaScript and WebAssembly languages, or WASM. You will need to check out their guides to use WASM compiled languages with Cloudflare Workers.
  • CLI: The Koyeb CLI lets you programmatically interact with the Koyeb Console directly from your terminal. Cloudflare Workers also has a CLI, it's called Wrangler.
  • Rollback: Koyeb's built-in versioning lets your rollback easily, which lets you deploy new features faster and fearlessly. Cloudflare Workers does not support rollbacks.
  • Koyeb Secrets: Koyeb provides a secure mechanism to securely store, re-use, and retrieve sensitive information like passwords or API tokens in your apps.

Performance

The Koyeb Serverless Engine runs directly on top of high-end bare metal servers and uses the latest generations of Intel and AMD high-end CPUs. All workloads on Koyeb are transparently deployed in MicroVMs thanks to the lightweight virtualization provided by Firecracker.

From container orchestration with Nomad to Firecracker lightweight virtualization and Kuma for service mesh control planes, Koyeb was purpose-built to run serverless workloads. Learn more about the technologies powering Koyeb with The Koyeb Serverless Engine: from Kubernetes to Nomad, Firecracker, and Kuma.

Security: While Cloudflare isolates workloads using V8 isolates, Koyeb runs containerized workloads in secure Firecracker MicroVMs. Koyeb’s isolation technology with Firecracker provides strong security and runs workloads on high-performing bare metal machines.

Learn more about the benefits of Firecracker and how the technology works.

Regional deployment control: On Koyeb, you can control in which regions your code runs. Cloudflare Workers does not let you choose or exclude regions which can be a severe issue for compliance.

Timeouts and limitations: Cloudflare Workers has a timeout of 50 ms with a 30-second duration for additional compute time on the paid plan. Workers are built for function-like workloads, so workers should execute within that time limit. In comparison, workloads on Koyeb can have long operations running in the background, meaning your code can do whatever it needs to do, say calculate something for 30 minutes, and it will not time out.

Customer support

Cloudflare Workers: For those using the free plan, there are Cloudflare Workers community channels. Paid tiers provide the option to submit support tickets, while paying for business & enterprise plans enable the possibility to chat with CloudFlare engineers.

Koyeb: All Koyeb users can join the Koyeb community Slack to exchange directly with other users and the Koyeb team. Koyeb offers an email contact and 99.9% uptime SLA with its Start-Up plan and 24x7x365 support with its Enterprise plan.

Pricing

Koyeb and Cloudflare Workers' prices are expressed in different ways:

  • Cloudflare Workers' pricing model is based on the number of requests your function-like workloads handle and on the time each request takes to be processed.
  • Koyeb provides a per second linear pricing model based on the computing resources your application uses and the amount of network bandwidth it consumes. The number of requests is unlimited.

Free Plan

RequestsPer request limitCPU
Cloudflare Workers100,000 / day10 ms CPU time limit128MB RAM
KoyebUnlimitedUp to 120 secUp to 2 CPU
Key limitationsCloudflare Workers' free planKoyeb's free plan
Number of subrequests50Unlimited
Script/Image size1MB1GB
Number of Scripts/Services30 scripts32 services (2 Apps with up to 16 Services each)

While Cloudflare gatekeeps certain features or imposes limits across paid tiers, all of Koyeb's native features are included whether using the free or a paid tier.

Business Plans

For production usage, Koyeb and Cloudflare offerings are significantly different:

  • Cloudflare offers 2 paid plans that revolve around the number of requests and request duration limits
  • Koyeb offers a linear pricing model based on actual usage of computing resources (CPU/RAM/SSD)

We will focus on:

  • Cloudflare Workers Unbound plan as we believe the 50ms limit of the bundled plan is not appropriate for production
  • Koyeb's pay-per-use plan which provides up to 2GB of RAM per service
Cloudflare Workers - Unbound PlanKoyeb
Requests$0.15 / millionIncluded
Duration$12.50 / million GB-s$4 / million GB-s
Network Bandwidth"Normal" traffic according to ToS$0.04/GB for outbound traffic

Koyeb provides a variety of instance sizes with different CPU, RAM, and SSD allocations, so you can select and optimize computing resources for your workloads. This option does not exist with Cloudflare workers as all Cloudflare Workers are limited to 128 MB of memory.

Conclusion

We built Koyeb to provide developers with the fastest way to deploy their apps globally. The built-in features we provide aim to create a true serverless experience that powers the necessary underlying infrastructure of your apps and speeds up the time between a feature idea and its reality.

Join us over on Slack to let us know if you think something is missing in this comparison or if you think there is an error in our side of the story!