¿Qué es una arquitectura serverless?

¿Qué es una arquitectura serverless?
Con Cloud o servicios en la nube te mostramos las claves del camino que abre el modelo serverless para crear, mantener y escalar aplicaciones de empresa

Las aplicaciones son el nivel de desarrollo del software más próximo al usuario final. Pero los programas hacen uso de una arquitectura informática que a nivel lógico aplica una división de funciones en modelos de infraestructura ya establecidos. Desde ellos se fijan las relaciones entre los elementos que participan. Esto afecta a la codificación, el mantenimiento y los requisitos en el diseño del sistema por parte de los programadores.

La aparición de los servicios en la nube o cloud computing ha abierto un abanico de opciones nuevas frente las arquitecturas clásicas cliente-servidor. El término originado en lengua inglesa como serverless parece apuntar a esta independencia del concepto asentado de servidor. Pero también hay que entender las bases tecnológicas que admiten esa sustitución por una alternativa ventajosa.

El modelo serverless

Uno de los modos más productivos para abordar la compresión de nuevos conceptos tecnológicos es situar en el tiempo otros que le precedieron. Las ciencias de la computación se iniciaron en grandes supercomputadores que ejecutaban aplicaciones especialmente diseñadas para ellos.

Al aumentar el grado de abstracción los lenguajes de programación se independizaron de las máquinas sobre las que se ejecutaban. El paso siguiente fue la conexión entre varias máquinas donde era posible la provisión aislada de datos y un control más efectivo en el acceso.

Así nacieron las aplicaciones web que por protocolos http o https era posible sustituir con provecho a las aplicaciones ejecutadas sobre el ordenador del usuario. Las aplicaciones diseñadas para el modelo cliente-servidor gozan de un amplio desarrollo frente a las aplicaciones de escritorio.

Por el uso masivo de esta tecnología se han visto algunos problemas ante los que el modelo serverless compite satisfactoriamente. Estos problemas se pueden sintetizar en la siguiente lista de factores más o menos críticos:

  1. El funcionamiento de los sistemas bajo el modelo cliente-servidor requiere de una importante infraestructura de hardware o por medio de virtualización. En cualquier caso, es obligado un funcionamiento continuo con los correspondientes gastos de mantenimiento (por lo menos el eléctrico) con independencia del uso. Por ejemplo, si para el mantenimiento de un servicio web puede hacer falta la intervención de una base de datos ésta ha de estar en condiciones de uso el máximo tiempo posible.
  2. La tecnología asociada a los servidores exige actualizaciones periódicas de software para garantizar la seguridad y la integridad de los datos almacenados. El correspondiente soporte técnico es otro gasto añadido al anterior y que aumenta las necesidades de personal para solventar cualquier incidencia.
  3. Las necesidades de un servidor pueden cambiar significativamente con el tiempo. Es posible ver períodos de poca actividad y otros de una gran demanda. La escalabilidad de los sistemas vuelve a producir situaciones incómodas en los casos en los que este aumento de uso no sea fácil de anticipar.
  4. Muchas aplicaciones web tienen un diseño sencillo y reproducible en múltiples casos similares para distintas misiones con una personalización sencilla. El modelo cliente-servidor requiere que se repitan unas infraestructuras de software o de hardware desproporcionadas para objetivos simples.

Cómo es posible prescindir de los servidores

Las aplicaciones web que se ejecutan en un servidor usan dependencias del propio sistema para cumplir con el trabajo encomendado. En último término un sistema operativo es una “superaplicación” que integra funciones comunes y asimilables a cualquier sistema informático.

El modelo serverless también usa una infraestructura previa pero distinta a un servidor estándar. Técnicamente hace uso de una concepción alternativa basada en FaaS (Functions as a Service).

Las aplicaciones se ejecutan en esta nueva infraestructura como contenedores efímeros y sin estado. Se produce una concatenación de efectos que parten de un evento, le sigue la creación de un contenedor sin estado y finalmente la ejecución de la aplicación. Esta dinámica representa la máxima potencia del cloud computing y soluciona parte de los problemas antes vistos en el modelo cliente-servidor.

Esta tecnología no supone una superación del modelo cliente-servidor. Simplemente ofrece algunas ventajas que en la actualidad ya pueden ser experimentadas en servicios muy populares como Lambda AWSMicrosoft Azure o Google Cloud. Estas infraestructuras añaden una capa de abstracción sobre el servicio que normalmente daba el servidor.

Para los programadores el ciclo del desarrollo se simplifica y permite que se centren en la funcionalidad. Los eventos que lanzan el servicio son los mismos que una llamada a un servidor. Pueden ser peticiones http, solicitudes a bases de datos, cargas de archivos, gestión de alertas o eventos programados.

La transición a microservicios ejecutados sobre funciones sin estado

Para cambiar de una infraestructura con el modelo cliente-servidor a un modelo serverless es necesario un minucioso análisis previo. La tecnología cloud que sirve de base tiene algunas diferencias según el servicio adquirido. Para algunos lenguajes de programación la adaptación del código puede ser más laboriosa que para otros. Con Java la transformación es más compleja que para Python, por ejemplo.

Se ha hablado mucho del excesivo tiempo de latencia cuando se lanza un evento aislado sin continuidad con otros. En AWS lambda este efecto es especialmente apreciable. Con todo esto por delante la evolución es imparable, la experiencia adquirida en la programación para este sistema va produciendo soluciones para estos inconvenientes.

El rol de los servicios Cloud en el cambio

Los servicios Cloud se inscriben en los sistemas de infraestructuras que aplican el concepto de Infraestructura como Servicio (IasS). Se trata de un concepto más amplio que el comentado FaaS para modelos Serverless. En esta extensión de concepto se contempla la virtualización de múltiples aplicaciones sobre un solo nodo informático.

El papel de los servicios operativos se traslada en este nivel de abstracción por los hipervisores. Las aplicaciones pueden bajo esta estructura simular una ejecución en sistemas operativos distintos. Y esto se realiza sin conflictos bajo el mismo nodo informático que se ejecuta.

Los servicios de Cloud también tienen distintos niveles de disponibilidades. El de mayor flexibilidad y capacidad corresponde al Cloud con plataforma física (también llamado servicio privado en la nube). Es especialmente indicado para grandes proyectos empresariales que quieran contar con toda la independencia para emprender sistemas de información de gran alcance.

Lo más habitual para la mayoría de las empresas es contratar estos servicios físicos y acceder a virtualizaciones que centran la atención en las funcionalidades requeridas. El soporte técnico de una infraestructura compleja queda aislado y se implementa por la empresa que suministra este servicio en la nube. Hay un importante ahorro en disponibilidad de espacio, instalaciones complejas y ahorro de energía.

El valor aportado a las empresas

A partir de cierto tamaño en las empresas se descubre la necesidad de contar con un servicio de tecnologías TIC propio. Lógicamente aquellas empresas cuyo núcleo de actividad tenga que ver con estos temas tiene la mayoría de la plantilla inscrita en esta categoría.

Para una empresa ajena a este sector es una importante inversión en toda clase de técnicos para mantener un centro de procesamiento de datos. Para estos servicios es cierto que se pueden externalizar. Pero las labores complejas con acceso a datos sensibles aconsejan un acompañamiento con personal de la propia empresa.

Es positiva la reducción de este personal especializado al atender solo las funciones estrictamente necesarias. Las justas para trabajar con operativas que requieren compromiso, continuidad, confidencialidad. Los servicios en la nube facilitan este cambio.

Otra importante ventaja es que el desarrollo de una infraestructura corporativa en la nube es una apuesta por el futuro. El porvenir en los próximos años apunta a una generalización de estas tecnologías en todo tipo de entornos empresariales.

La planificación estratégica aconseja asegurar los medios para hacer frente a un incremento de actividad. La escalabilidad que aseguran los servicios en la nube tanto en infraestructura como servicio (IaaS) como en serverless (FaaS).

Como peligros que puedan surgir con una excesiva prisa en el cambio de paradigma está no contar con la capacidad para hacer un traslado programado y que no afecte al servicio. Menos importante es la dependencia de un servicio externo para un servicio básico.

El miedo a cambios de condiciones, a aumento de tarifas o a cuestiones de seguridad es natural. Pero hay que poner esos temores en contexto con un ahorro significativo en TIC para dedicar a otras inversiones centrales para la actividad de una compañía.

Los tiempos de latencia en aplicaciones simples por una ejecución más o menos esporádica están cada vez más en vías de solución. Es quizás el temor más popular, pero con un menor recorrido para perjudicar a un negocio o infraestructura en la red.

Como conclusión

La reducción de costes en servicios TIC es un aliciente que mueve la voluntad de números gestores de empresas. La implementación de servicios en la nube con gran capacidad para adaptarse a cualquier demanda se suma como otro impulso para los más indecisos.

Para los responsables TIC de las empresas el modelo serverless les permite crecer profesionalmente. Es una ayuda para ganar tiempo y centrar sus producciones de código en las funciones que deben construir a la red. Los ciclos de desarrollo se simplifican, la seguridad aumenta y las labores de mantenimiento se reducen a los aspectos más esenciales del negocio.

La página web www.cerem.es utiliza cookies para mejorar los servicios ofrecidos. Si continúa navegando, consideramos que acepta su uso e instalación. Para más información haga click aquí.

Subir