Todo se realiza en el borde. Entonces, tu código se implementa en cientos de centros de datos, al igual que tu almacenamiento. Las solicitudes son muy económicas. Nuestro plan gratuito te ofrece millones de solicitudes al mes. Admite WebSocket. Por lo tanto, puedes elegir, según la aplicación que estés construyendo, entre una respuesta HTTP y una conexión WebSocket. Podemos realizar renderizado HDL en el borde, pero podemos realizar análisis HDL en el borde, lo cual veremos en nuestro ejemplo, y tenemos dos ofertas distintas para tener algún estado de la aplicación o algún almacenamiento que puede ser muy rápido para ti también.
Antes de comenzar a construir, quiero explicar algunos de los términos de servicio de
Cloudflare para aquellos que no están familiarizados, porque voy a utilizar sus nombres de productos oficiales a partir de ahora. Cuando me refiero a
Cloudflare Workers, me refiero a nuestra plataforma sin servidor, donde implementas tu código, que llamamos un trabajador. Se ejecuta en el borde, lo que significa que se ejecuta en todos nuestros centros de datos, y tiene el formato de recibir una solicitud y devolver una respuesta. Tenemos un producto llamado KV. Ese es nuestro almacén de valores clave que también se ejecuta en el borde. Es muy rápido para leer, ya que tus datos, el valor y la clave, estarán en todos los centros de datos, pero es eventualmente consistente, lo que significa que si lo actualizas, si lo haces correctamente, tardará un poco en propagarse a todos los servidores del borde. También tenemos objetos duraderos, que es otra oferta de almacenamiento. Estos son objetos
JavaScript persistentes, por lo que persisten en el disco y son una única instancia, por lo que las lecturas son un poco más lentas, pero abren un abanico de posibilidades para trabajar con muchos datos dinámicos. Y por último, tenemos un producto llamado
HTML Rewriter, que es un analizador
HTML que se ejecuta en el borde, por lo que no solo puedes renderizar
HTML, como convertir Markdown a
HTML, que siempre has podido hacer, sino que también puedes analizar el
HTML y realizar cambios dinámicos. Cualquier cambio que realizarías con
React, como if-else, puedes hacerlo con nuestro
HTML Rewriter. Así que algo para reflexionar antes de comenzar. Si te pidieran construir un blog y necesitaras que fuera realmente rápido, con un buen rendimiento, pero también quisieras tener algunas de las características agradables de
WordPress, como una sección de publicaciones populares, un contador de Me gusta en cada publicación o la capacidad de agregar comentarios, ¿qué conjunto de herramientas elegirías? ¿Optarías instantáneamente por una aplicación dinámica completa, como una instancia de
WordPress o algún tipo de CMS? ¿O intentarías armar algo, tal vez con un alojamiento de sitio estático, más algunas funciones sin servidor y tratar de unirlo todo?
Nuestro flujo de trabajo que vamos a utilizar hoy es tomar cualquier plantilla de sitio estático, como Jekyll, Hugo, Eleventy,
Gatsby, cualquier cosa que produzca un montón de archivos
HTML. Incluso puedes escribir los archivos
HTML tú mismo, realmente no importa. Instala la
CLI de
Cloudflare, que se llama Wrangler, y luego vamos a inicializar un proyecto de sitio de trabajador y publicarlo. Entonces, ¿qué es un sitio de trabajador? Cuando piensas en alojar estos sitios estáticos, como GitHub Pages, Netlify,
Cloudflare Pages, la idea básica es que tomas tu proyecto de GitHub o tu proyecto de Bitbucket y lo apuntas a uno de estos servicios, y de alguna manera, detrás de escena, el servicio ejecuta una compilación, recopila todos tus sitios estáticos y comienza un servidor web, y ahora cuando vas a esa URL, te dirige. Sabes, solo detrás de escena, está haciendo todo lo que esperarías, ¿verdad? Y así, hay muchas formas de lograr esto, pero una forma de hacerlo, si quisieras construir tu propia experiencia, sería utilizando sitios de trabajador. Y lo que hará es tomar esa carpeta llena de archivos
HTML y colocar cada archivo
HTML en
Cloudflare KV, nuestro almacén de valores clave. Entonces, si tienes un about.html, creará una nueva entrada en KV, el título será about.html y el valor será el
HTML real dentro de ese archivo. Y hará eso para todos tus archivos, por lo que terminarás con un montón de almacenes KV. El nombre de cada uno es el nombre del archivo y el valor es el propio
HTML, y luego también generará un trabajador de
JavaScript simple, que simplemente escuchará todo el tráfico entrante, extraerá esa ruta, ese nombre de archivo y lo buscará en KV y lo servirá. Entonces, puedes ver que después de que tomé ese proyecto base de 11T, ejecuté sitios de trabajador y luego lo implementé, y puedes ver que tengo, este es mi panel de control de KV. Y en mi panel de control de KV, puedo ver todos los nombres de mis archivos como las claves, y los valores son el
HTML real o
CSS.