paint-brush
Sin servidor en el borde: una descripción general rápidapor@phongnn
1,721 lecturas
1,721 lecturas

Sin servidor en el borde: una descripción general rápida

por Phong Nguyen5m2022/07/26
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Con plataformas informáticas perimetrales como Cloudflare Workers y Deno Deploy, los desarrolladores pueden escribir middleware y backends rápidos y económicos. Edge computing es un cambio de juego que ha permitido una nueva generación de marcos de trabajo de pila completa como Remix y Fresh. Puede usar estos marcos para desarrollar e implementar aplicaciones directamente en el perímetro. Además, la computación perimetral se puede usar indirectamente a través de plataformas como Netlify y Vercel.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Sin servidor en el borde: una descripción general rápida
Phong Nguyen HackerNoon profile picture

Uno de los temas más emocionantes en el desarrollo de interfaz de usuario recientemente es la computación de borde. Ser capaz de ejecutar código en el borde es una nueva capacidad que cambiará radicalmente la forma en que escribimos aplicaciones. Este artículo tiene como objetivo proporcionar una breve descripción general de la informática perimetral sin servidor, por qué es beneficiosa y cómo puede usarla.

¿Qué es la informática perimetral sin servidor?

Hasta hace poco, cuando hablábamos del borde, generalmente pensábamos en las redes de entrega de contenido (CDN), que almacenan en caché activos estáticos como HTML, archivos CSS, imágenes, videos, etc. en cientos de servidores en todo el mundo. Debido a que los contenidos están cerca de los usuarios, el acceso es muy rápido. La informática perimetral sin servidor amplía esta idea al permitir que los desarrolladores ejecuten código en el perímetro sin tener que administrar ningún servidor. Edge Computing ofrece a los desarrolladores una nueva ubicación para su código junto con las dos opciones tradicionales, a saber, en el backend y en el dispositivo.

¿Cuáles son las plataformas informáticas de borde más notables?

Las dos plataformas de las que más se habla estos días son Cloudflare Workers y Deno Deploy . En el nivel alto, tienen muchas similitudes:


  • Ambos son tiempos de ejecución de JavaScript que utilizan el motor V8. Deno tiene un compilador incorporado que le permite tratar a TypeScript como un primer idioma. Con Cloudflare Workers, también puede escribir código en TypeScript o cualquier otro lenguaje que compile en JavaScript , como Python, PHP, Dart o Scala.
  • Ambos admiten WebAssembly , lo que significa que puede ejecutar código escrito en lenguajes compilados como C, C++ o Rust a una velocidad casi nativa.
  • Ambos tiempos de ejecución se basan en aislamientos de V8 para multiusuario.
  • Ambos implementan estándares web como Fetch API, Streams API, etc.
  • API similar en la que necesita escribir una función de controlador que tome una solicitud y devuelva una respuesta de forma asíncrona.
  • Ambos admiten transmisión y WebSockets.


Por otro lado, la diferencia más evidente entre las dos plataformas es que Deno Deploy no ofrece ninguna solución de almacenamiento, mientras que Cloudflare Workers tiene Durable Objects para almacenamiento consistente y Workers KV para almacenamiento de baja latencia con eventual consistencia.

¿Por qué computación perimetral sin servidor?

Edge computing se usa con mayor frecuencia para implementar middleware, que son scripts simples que reescriben URL, redirigen solicitudes o manipulan cookies y encabezados. Por ejemplo, puede realizar pruebas A/B sirviendo diferentes versiones de una página según el valor de una cookie. Puede admitir la localización, lo que significa que los usuarios de diferentes países pueden ver contenido diferente. También puede otorgar o bloquear el acceso a ciertas páginas según el estado de autenticación del usuario.


Si bien los casos de uso anteriores pueden ser manejados por el backend y/o el cliente, el uso de la computación perimetral es mucho más óptimo en términos de rendimiento y simplicidad. Si implementa pruebas A/B o localización en el cliente, es posible que tenga un paquete de gran tamaño y una interfaz de usuario parpadeante. Por otro lado, la implementación de esta funcionalidad en el backend generalmente requiere la configuración del servidor y da como resultado respuestas lentas.


Sin embargo, Edge Computing es mucho más que middleware. De hecho, incluso puede usar la computación perimetral para reemplazar su backend por completo. Muchos marcos de trabajo de pila completa, por ejemplo, Remix y Fresh, ahora le permiten escribir funciones que acceden a las bases de datos directamente y representan HTML en el perímetro. Al hacerlo, probablemente no necesite desarrollar una API como solía hacer en el pasado. (Pero si desea servir una API RESTful o incluso una API GraphQL en el perímetro, también puede hacerlo).


Pero, ¿por qué debería considerar reemplazar su backend con computación perimetral sin servidor? Hay varias razones para eso. En primer lugar, debido a que no tiene servidor, no hay que preocuparse por el mantenimiento del servidor ni por el escalado automático. En segundo lugar, es mucho más rápido que los backends tradicionales porque se ejecuta muy cerca de los usuarios y, en comparación con las plataformas normales de función como servicio, la informática perimetral tiene poco o ningún arranque en frío . Y en tercer lugar, es más económico que las opciones sin servidor convencionales porque las plataformas informáticas perimetrales utilizan tecnologías más livianas, como los aislamientos V8 (a diferencia de las máquinas virtuales o los contenedores) para la tenencia múltiple, lo que les permite utilizar los recursos de manera más eficiente y manejar una gran cantidad de recursos. más solicitudes.

¿Cómo usar la computación perimetral?

Si está utilizando una plataforma como Netlify o Vercel para implementar aplicaciones web, es muy sencillo optar por la informática perimetral. Por ejemplo, puede usar Edge Functions de Netlify (que se basa en Deno Deploy) o Edge Middleware de Vercel (que probablemente se ejecuta sobre Cloudflare Workers). Cuando implementa una aplicación Next.js (desde la versión 12.2) en Vercel o Netlify, puede configurar algunas o todas las páginas para usar el tiempo de ejecución perimetral para la representación del servidor (esta capacidad se denomina Edge SSR ).


Si no realiza la implementación en Netlify, Vercel o una plataforma similar, se recomienda que utilice un marco de trabajo de pila completa nativo de borde e implemente su aplicación directamente en el servicio informático de borde de su elección. Por ejemplo, puede desarrollar su aplicación con el marco Fresh y publicarla en Deno Deploy. Otro ejemplo es el marco Remix que proporciona adaptadores tanto para Cloudflare Workers como para Deno Deploy (junto con muchos otros objetivos de implementación).


Si no desea utilizar un marco de trabajo de pila completa, puede desarrollar su frontend y backend por separado. Con Cloudflare, puede servir su frontend y activos estáticos con páginas o sitios de trabajadores . Con Deno Deploy, puede servir activos estáticos desde el sistema de archivos . En cuanto al backend, probablemente desee utilizar un marco HTTP como Sunder (si se dirige a Cloudflare Workers), oak , Router o Sift (si se dirige a Deno Deploy).

¿Cuáles son los inconvenientes de Edge Computing?

Si bien la computación perimetral es perfecta para implementar secuencias de comandos de middleware, si desea implementar todo el backend con él, debe tener en cuenta los límites de la plataforma de destino en cuanto al tiempo de ejecución de la CPU, la memoria, el tamaño del paquete, etc. Puede encontrar información detallada sobre los límites de Cloudflare Workers aquí y Deno Deploy aquí .

Conclusión

En resumen, con plataformas informáticas de vanguardia como Cloudflare Workers y Deno Deploy, los desarrolladores pueden escribir middleware y backends que son rápidos y económicos. Edge computing es un cambio de juego que ha permitido una nueva generación de marcos de trabajo de pila completa como Remix y Fresh. Puede usar estos marcos para desarrollar e implementar aplicaciones directamente en el perímetro. Además, la computación perimetral se puede usar indirectamente a través de plataformas como Netlify y Vercel.


Es sólo el comienzo. En un futuro cercano, podemos esperar que se desarrollen muchos más marcos, bibliotecas y herramientas para el perímetro. Con suerte, este artículo ha despertado su interés y le ha brindado información de alto nivel sobre la computación perimetral para que pueda comenzar a explorar su potencial.