Trabajadores de Cloudflare

Funciones rápidas sin servidor alojadas por CDN de Cloudflare

Funciones sin servidor en la red perimetral

Cloudflare tiene un conjunto completo de productos basados en la nube que le ofrecen un "backend-as-a-service", y Cloudflare Workers es una parte importante de este conjunto. Los trabajadores de Cloudflare son funciones sin servidor, escritas en Javascript (o preferiblemente, Typecript) que se alojan en un entorno Node.js impulsado por el motor V8. Puede escribirlos localmente e implementarlos a través de la CLI "wrangler" o desarrollarlos directamente en la nube.

// This is a minimal example for a
// serverless function hosed by
// Cloudflare. You define this code
// in a JS-file and upload it via the
// 'wrangler'-CLI.

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  return new Response("Hello world")
}

Si escuchas hablar de "funciones sin servidor" aquí por primera vez, aquí tienes una explicación rápida. Las funciones sin servidor son, literalmente, funciones que encapsulan la lógica empresarial de su servicio y que están alojadas en la nube. La principal ventaja es que no tiene que perder ni un segundo de su tiempo en hospedar, parchear y mantener un servidor usted mismo. Simplemente "cargue" sus funciones y estarán disponibles globalmente en unos minutos.

Cloudflare promueve particularmente la velocidad de sus productos, ya que controla una red de entrega de contenido muy grande, con muchos puntos finales en todo el planeta. Por supuesto, esta CDN también se aprovecha para los trabajadores de Cloudflare.

Cómo distribuir su backend por todo el mundo

Cada vez que implementa sus Cloudflare Workers, se comparten y actualizan en muchas ubicaciones en todo el mundo. Esto permite a Cloudflare enrutar las solicitudes entrantes al punto final siempre más cercano para invocar sus funciones sin servidor, lo que reduce el retraso de la red a unos pocos milisegundos. Este enrutamiento realizado por Cloudflare es transparente al realizar solicitudes: el enrutamiento y la carga del saldo se realizan en segundo plano automáticamente.

Para comprender mejor la topología de la arquitectura de Cloudflare Worker, aquí hay un desglose de nivel alto a bajo:

Como se mencionó, Cloudflare tiene una CDN que consta de muchos servidores en diferentes ubicaciones del mundo.
Una sola ubicación consta de muchos servidores que procesan las solicitudes entrantes
Al acercarnos a un solo servidor, vemos que esta máquina ejecuta el llamado "tiempo de ejecución de los trabajadores", que funciona con el motor Javascript V8
Finalmente, su función sin servidor es solo un "aislado" dentro de este tiempo de ejecución; un solo tiempo de ejecución puede albergar miles de funciones simultáneamente

Un dato particularmente importante: cada trabajador de Cloudflare que implemente tiene su propia memoria, aislada de todos los demás procesos. Esto asegura que sus datos sean realmente accesibles solo por su instancia.

Cuándo usar Cloudflare Workers y cuándo no

Los trabajadores de Cloudflare suenan muy emocionantes y definitivamente vale la pena probarlos, incluso si ya tiene aplicaciones existentes que usan funciones sin servidor de otros proveedores. Sin embargo, esto también podría señalar la razón principal por la que el producto de Cloudflare es más difícil de adoptar: muchos servicios, como Next.js combinado con Vercel o Firebase de Google, también ofrecen este tipo de soluciones. Si actualmente usa sus productos, cambiarse a Cloudflare no tiene mucho sentido.

Pero si está comenzando un nuevo proyecto, vale la pena considerar usar Cloudflare Workers como su backend. Su uso es prácticamente ilimitado en términos de casos de uso. Además, Cloudflare ofrece una amplia gama de otros servicios que pueden adaptarse a sus necesidades.

Sugerencias

Relacionados

Adenda

Idiomas