Arquitectura web moderna para portales corporativos

DESARROLLO WEB, INFRAESTRUCTURA.
[Imag]Estrategia de contenidos para sitios web

La arquitectura web moderna hace referencia a la evolución que se ha presentado en el desarrollo web, donde se volvió obsoleta la creación de sitios web monolíticos, los que solo sirven para comunicar información sin ofrecer interacción con los usuarios. 

Los sitios web modernos son más escalables, más fáciles de mantener y más sencillos de desarrollar que los sitios web monolíticos.

En la arquitectura moderna, las páginas web le ofrecen a los usuarios una participación activa y sus modelos horizontales de desarrollo hace que mantener y soportar cambios y altas frecuencias de acceso sea mucho más sencillo.

Actualmente tenemos sitios web desacoplados que ofrecen múltiples servicios de una manera más ágil. Esto se hace a través del uso en sus arquitecturas de microservicios, ya sea a través de estructuras headless o serverless.

El proceso de crear una arquitectura web moderna para un sitio corporativo

Al planear la arquitectura de un sitio web corporativo tenemos en cuenta, entre otras, las siguientes consideraciones:

  • ¿Qué servicios se van a usar?

  • ¿Cómo abordarlos respecto al desarrollo y a los ambientes “reales” de uso, tanto a nivel de pruebas como de usuario final?

  • ¿Cuáles esquemas de datos, o modelo de datos, se van a utilizar?

El modelo de contenido es lo primero que se define y en esta parte participa todo el equipo de desarrollo.

Esto nos permite planear más eficazmente la arquitectura de un portal web corporativo, manejar una mayor rapidez en las entregas y ser más eficientes en la comunicación dentro del equipo. 

A partir de ahí, para renovar un portal web, inicialmente es importante enfocar el desarrollo en los microservicios y desarrollar sobre ellos. Por ejemplo, en el caso de una búsqueda, se usan distintos servicios que ayudan a mejorar la experiencia de usuario.

Aunque el usuario que navega la página no vea la diferencia, internamente se utilizan por ejemplo servicios especializados en búsquedas, y no se maneja esa información directamente en bases de datos.

De igual forma, para mantener archivos estáticos existen servicios en la nube que están especializados en esta área. En la forma antigua se haría de formas que podrían recargar el servidor y consumir su capacidad, por ejemplo en el manejo de imágenes. Hoy en día hay servicios que funcionan rápidamente a través de cachés, generando las imágenes de manera óptima, dependiendo de ubicaciones geográficas o de si el sitio ha sido visitado por la misma persona anteriormente.

Todo esto se hace a través de microservicios.

Así hay una mayor confianza en el funcionamiento de las diferentes tareas: se puede saber más fácilmente qué está pasando en caso de error y hay una mayor disponibilidad en el momento de hacer una actualización.

A nivel de experiencia de usuario, aunque en la presentación final estos cambios no son “visibles”, la experiencia de interacción con el sitio es más óptima. 

La arquitectura web es la forma en que se unen todos esos microservicios, incluyendo, entre otros, las búsquedas, las bases de datos, los sistemas de pago, etc., integrando los diferentes componentes.

Retos y desafíos al renovar la arquitectura de un portal

Cuando trabajamos con grupos corporativos y empresas de distintos tamaños, vemos que se presentan algunos retos comunes a nivel de arquitectura. 

  1. Actualizar la arquitectura web manteniendo la información existente. Cuando se actualizan sitios grandes o que manejan información centralizada, se pueden encontrar desafíos para volverla desacoplada y poder implementar nuevas características o funcionalidades. Se debe manejar la información para no perder el contenido anterior. Es importante en este caso trabajar de la mano con los editores. 

  2. La comprensión sobre cómo funcionan estas nuevas tecnologías. Se podría pensar que al migrar la información a una arquitectura moderna, esta queda muy suelta, casi desestructurada. Sin embargo, la información está ahí, cumpliendo su función y disponible para ser usada en múltiples canales. Por ejemplo, un proyecto puede iniciar como un desarrollo de una página web y en el camino encontrar que se puede tener también una aplicación web progresiva. Todo esto a partir del mismo desarrollo base.

  3. Otros retos comunes. Dentro de los aspectos a tener en cuenta están el prever los picos de alto tráfico y el comprender los patrones de navegación y de búsqueda por parte de los usuarios según el tipo de industria y de negocio.

Definir las herramientas a utilizar

Al definir la estructura de la arquitectura se definen también las herramientas que se van a usar. Muchas veces al utilizar una nube específica, como AWS o Google Cloud, ésta cumple ya con tener todas las herramientas que el cliente quiere usar, y así se pueden ir implementando progresivamente las que se van necesitando. 

Estas herramientas son herramientas de servicio: lo importante es que la nube que se escoja tenga la solución que la empresa necesita. 

A nivel de desarrollo se usan otras herramientas que emulan los ambientes reales para poder mantener un desarrollo igualado a lo que va a presentarse después, de modo que no haya problemas al momento del despliegue. Se usan estrategias de automatización para ir desarrollando y manteniendo la integración continua y el despliegue continuo

Este proceso se automatiza desde el principio, junto con un controlador de versiones, el lenguaje que se vaya a utilizar, el uso de docker y los plugins que se conectan con los servicios y herramientas en la nube. Los desarrolladores realizan a partir de estas decisiones iniciales las integraciones que se necesiten según el caso. 

Al definir las herramientas se tienen en cuenta los siguientes aspectos:

  • Modelos de datos “aislados”: Es fundamental entender que la información organizada debe estar disponible para cualquier evento que sea importante para el mercado. Se debe pensar primero en el modelo de datos y a partir de este se desarrolla el diseño de lo que se va a presentar.

  • APIs y microservicios: La entrega y distribución de la información que se quiere acercar a los usuarios finales debe permitir a segundas y/o terceras partes el acceso de manera agnóstica a su presentación final. Las APIs permiten integrar los diferentes servicios y la información se reutiliza en los distintos canales de entrega. Este tipo de arquitectura integra servicios especializados, es decir microservicios, que separan los distintos aspectos del código para poderlos manejar mejor. 

  • Serverless y cloud: Los servicios cloud solucionan problemas de memoria y procesador, entre otros, y permiten delegar a los proveedores las tareas de mantenimiento y administración de los equipos físicos. Esto hace posible adaptar el uso de recursos según las necesidades de cada momento. Por ejemplo, se escala y desescala el uso de servidores según el tráfico. El serverless le permite a los desarrolladores dejar de solucionar problemas de servidores y enfocarse en el desarrollo de otras funcionalidades.

La arquitectura web moderna es una nueva forma de desarrollo que permite crear páginas optimizadas, manejando la información de manera desacoplada, e integrando microservicios para responder a las necesidades de los usuarios. 

Es una forma de desarrollo ágil que permite un mejor tiempo de respuesta, una mayor facilidad en las  integraciones, y el poder aprovechar las soluciones ya brindadas por parte de los proveedores de servicios Cloud y serverless. 

En Aplyca somos especialistas en desarrollo web moderno para portales corporativos. Contáctenos para discutir las necesidades de su proyecto. 


También te puede interesar:
EDITORIAL, INFRAESTRUCTURA.

¿Cuándo cambiar de Drupal a Headless CMS?

TECNOLOGÍA DE EXPERIENCIA, INFRAESTRUCTURA.

Aceleración web para sitios ultra-rápidos

EDITORIAL, INFRAESTRUCTURA.

Wordpress vs Headless CMS: ¿cuál escoger?

DESARROLLO WEB, TENDENCIAS ALTO NIVEL.

Estrategias para portales web modernos: priorizando la experiencia de usuario