theNet by CLOUDFLARE

Jamstack puede revolucionar la forma de desarrollar los sitios web

Replantear el flujo de trabajo de creación de sitios web

Todas las organizaciones y desarrolladores quieren que sus sitios web se carguen rápidamente y que tengan un aspecto impecable en cualquier dispositivo. Incluso un ligero retardo en la carga puede hacer que los usuarios abandonen rápidamente una página, lo que reduce las conversiones del sitio web. La velocidad del sitio web también influye en la clasificación en los motores de búsqueda. A medida que el panorama de las amenazas se vuelve más complejo, con bots maliciosos de los que defenderse y datos de usuario que proteger contra los ciberdelincuentes, las organizaciones buscan formas de mejorar la seguridad de los sitios.

Tradicionalmente, desarrollar un sitio web que incluya velocidad, seguridad, disponibilidad y escalabilidad es una ardua tarea, y conlleva implicaciones negativas para el desarrollador. Debido a la disparidad entre la necesidad y la disponibilidad de recursos para desarrolladores, encontrar formas de mejorar el desarrollo de sitios web puede reducir la tensión para la organización y mejorar los resultados.

Una forma de hacerlo es eliminar del proceso de desarrollo las tareas que exigen mucho tiempo, entre las que se incluyen:

  • Garantizar que un sitio web pueda gestionar los picos de tráfico sin tiempo de inactividad, minimizando el gasto en infraestructura o en servicios en la nube.

  • Las sorpresas inesperadas que se pueden producir al actualizar las páginas y tener que reaccionar rápidamente cuando una página deja de funcionar o no se muestra correctamente

  • Unir las partes de back-end y de front-end de un sitio web

  • Los flujos de trabajo complejos, incluida la recopilación de opiniones de las partes interesadas

Las organizaciones pueden mitigar todos estos problemas con un nuevo enfoque arquitectónico al desarrollo de sitios web denominado Jamstack.


Añadir funciones dinámicas a sitios estáticos

Jamstack parte de la idea de un sitio estático. Se trata de crear previamente la mayor parte posible de un sitio web y de incorporar posteriormente elementos dinámicos para conseguir sitios rápidos con menos vectores de ataque. El término, que se acuñó en 2015 como "JAMstack", se deriva de:

  • J = JavaScript, el lenguaje de programación del sitio web

  • A = API, que permiten contenido dinámico en una página que de otro modo sería estática

  • M = Markup, que es el código HTML y CSS que proporciona instrucciones de formato al navegador

Con la combinación de estos tres elementos, Jamstack permite a los desarrolladores crear y mantener rápidamente sitios web que pueden proporcionarse eficazmente a los usuarios. El lanzamiento de un sitio estático que se representará correctamente para móvil, web y vídeo y basarse en las API para las funciones dinámicas acelera el proceso. Es posible conseguir una alta velocidad de página creando previamente la mayor parte posible de un sitio y utilizando después una red de distribución de contenido (CDN) para entregar la página a los usuarios de todo el mundo. Cuando un usuario visita un sitio web, ve una página ya representada suministrada por la CDN, sin necesidad de un servidor dedicado.

En particular, la naturaleza estática de la página no requiere que el contenido sea estático. Las API de terceros, como las que permiten iniciar sesión en un sitio con credenciales de Google o Facebook, permiten contenido dinámico como búsquedas, proceso de pagos y datos en tiempo real. Este enfoque modular permite flexibilidad y evita la dependencia del proveedor: es fácil reemplazar las distintas API a medida que cambia la tecnología y aparecen nuevas herramientas. La capacidad de integración con funciones sin servidor también contribuye a que los sitios Jamstack sean más dinámicos.

Sin necesidad de servidores de aplicaciones web ni servidores de bases de datos, las páginas Jamstack se adaptan bien a medida que aumenta el número de visitantes, lo que mejora tanto la experiencia del visitante como los resultados de la organización.

En esencia, un sitio Jamstack no tiene ningún back-end que un desarrollador deba gestionar. La naturaleza estática de la página significa que no hay ningún vínculo entre el sitio web y una base de datos, lo que reduce las vulnerabilidades de seguridad. Como todos los elementos del sitio se entregan desde la CDN o una API, los posibles atacantes no pueden acceder a los servidores de aplicaciones web ni a los servidores de bases de datos.

Cuando una organización crea un sitio web con este enfoque, no hay servidores que mantener ni entornos de preparación que crear, por lo que hay menos necesidad de recursos DevOps complejos. La simplicidad de Jamstack significa que hay menos partes móviles que en un sitio tradicional y, por tanto, menos margen de error. Gracias a esta desvinculación entre el front-end y el back-end, los sitios Jamstack son más rápidos de lanzar y más fiables.

Otra ventaja de la configuración estática es que es sencillo volver a una versión anterior de una página. Esto es posible gracias al concepto de implementaciones atómicas, en las que todo el sitio se actualiza a la vez, creando una nueva versión. Con Jamstack, los desarrolladores tienen más libertad para experimentar y evitar el agotador proceso de prueba y error de los sitios tradicionales. Si algo no se representa de la forma esperada, es fácil revertir todo el sitio a una versión anterior.


Reunir un conjunto de herramientas Jamstack

Las herramientas, los procesos y las prácticas recomendadas de Jamstack evolucionan rápidamente. Un aspecto importante de su uso es que puedes seguir abierto a la experimentación y al seguimiento de los nuevos desarrollos. Es fácil empezar a utilizarlo, ya que Jamstack se integra con los flujos de trabajo existentes y muchas organizaciones ya han establecido relaciones con proveedores de tecnologías clave, lo que acelera el proceso de toma de decisiones. Estas tecnologías incluyen:

  • CDN: para entregar páginas desde ubicaciones próximas a los usuarios, un requisito para conseguir un rendimiento rápido.

  • Generador de sitios estáticos (SSG): para generar el sitio utilizando datos y plantillas sin procesar, automatizando el proceso de codificación de las páginas y garantizando que ya están creadas y listas para los usuarios.

  • Sistema de gestión de contenidos (CMS): para actuar como repositorio de contenidos. Un CMS para un sitio web Jamstack se describe como "sin interfaz gráfica", lo que significa que el contenido se almacena fuera de la base de código y se entrega a través de las API para una visualización fluida en distintos dispositivos.


Ampliar el valor de Jamstack

Todavía estamos en los primeros años de maduración de Jamstack, y no todas las implementaciones tienen la misma eficacia. Por ejemplo, muchas plataformas Jamstack se alojan en centros de datos centralizados, lo que ralentiza el rendimiento en relación con la entrega de sitios desde el perímetro. Algunos también cobran más por añadir usuarios de desarrollador, lo que desincentiva la colaboración entre equipos grandes y puede dar lugar a precios impredecibles.

Cloudflare está resolviendo estos problemas y también está buscando formas de mejorar la seguridad en el proceso de colaboración, como por ejemplo mediante el uso de enlaces protegidos de vista previa compartida. Cloudflare Pages es una plataforma de implementación Jamstack que hace que el proceso de desarrollo y alojamiento de un sitio sea tan sencillo como escribir código y ejecutar git push. A partir de ahí, Pages se encarga de la implementación en la red perimetral global de Cloudflare, donde los sitios funcionan a milisegundos de los usuarios de todo el mundo. Se ha creado pensando en los desarrolladores del front-end, e incluye, entre otros, minimizar las configuraciones y mejorar la colaboración para acelerar la iteración.

Las principales ventajas de Cloudflare Pages son:

  • Colaboradores gratuitos ilimitados, con acceso seguro a las vistas previas

  • Webhooks para implementaciones automáticas

  • Analítica web gratuita integrada

  • La capacidad de crear API personalizadas mediante la integración de Cloudflare Workers, una plataforma global sin servidor que proporciona escalado automático

  • Una CDN global con centros de datos en más de 250 ciudades

Este artículo forma parte de un conjunto de publicaciones sobre las últimas tendencias y temas que afectan a los responsables de la toma de decisiones sobre tecnología en la actualidad.


CONCLUSIONES CLAVE

Después de leer este artículo podrás entender:

  • Cómo Jamstack puede mejorar la experiencia de los desarrolladores

  • Cómo este enfoque arquitectónico simplifica la capacidad de respuesta del sitio en el móvil, la web y el vídeo

  • Por qué los sitios Jamstack se pueden lanzar con rapidez


Recursos relacionados



Más información sobre este tema

Para ver los resultados de la comparación de Cloudflare con otras ocho plataformas de desarrollo en el perímetro de la nube, descarga el informe Forrester New Wave™: Edge Development Platforms, Q4 2021.

¿Quieres recibir un resumen mensual de la información más solicitada de Internet?