Impulsar la eficiencia sin sacrificar la observabilidad: Por qué su organización podría considerar pasar a la computación sin servidor y cómo puede hacerlo sin sacrificar la observabilidad.

La frase “computación sin servidor” parece contradictoria al principio, pero desde hace años, las empresas de éxito han comprendido el beneficio de utilizar tecnologías sin servidor para agilizar las operaciones y reducir los costes. Aun así, este modelo no es ideal en todas las situaciones. Entonces, ¿Qué significa exactamente “sin servidor” y cómo puede su organización beneficiarse de él?

¿Qué es la informática sin servidores?

Los modelos informáticos tradicionales se basan en máquinas virtuales o físicas, donde cada instancia incluye un sistema operativo completo, ciclos de CPU y memoria. VMware comercializó la idea de las máquinas virtuales, y los proveedores de la nube adoptaron el mismo concepto con servicios como Amazon EC2, Google Compute y las máquinas virtuales de Azure. La computación sin servidor ofrece un enfoque más novedoso que simplifica la gestión y reduce los costes.

La computación sin servidor es un modelo de ejecución bajo demanda basado en la nube en el que los clientes consumen recursos únicamente en función del uso de sus aplicaciones. A diferencia del modelo tradicional de máquina virtual, en el que los clientes deben construir y gestionar una máquina virtual completa, la informática sin servidor ofrece la posibilidad de adquirir únicamente los ciclos de CPU y la memoria necesarios para soportar una aplicación mediante un modelo de pago por uso basado en eventos. Esto permite a los equipos evitar gran parte del coste y el tiempo asociados a la gestión del hardware, las plataformas y los sistemas operativos in situ, al tiempo que obtienen la flexibilidad necesaria para escalar de forma rápida y eficiente.

Dentro de este paradigma, es posible ejecutar arquitecturas enteras sin tocar un servidor virtual tradicional, ya sea localmente o en la nube. Los recursos sin servidor son muy flexibles y se personalizan en función de la aplicación. Las APIs REST, la autenticación, las bases de datos, el correo electrónico y el procesamiento de vídeo tienen un hogar en las plataformas sin servidor. Los servicios se adaptan a la demanda. No es necesario planificar recursos adicionales, actualizar sistemas operativos o instalar marcos de trabajo. El proveedor es esencialmente su administrador de sistemas.

El proceso sin servidor

Para responder a la pregunta “¿qué es la arquitectura sin servidor?”, es necesario entender cómo funciona. En una arquitectura sin servidor, las aplicaciones se distribuyen para satisfacer la demanda y escalar los requisitos de manera eficiente. A los clientes solo se les factura cuando se utiliza una aplicación, por lo que resulta especialmente rentable en entornos en los que las aplicaciones se ejecutan bajo demanda.

Las funciones de AWS Lambda son un ejemplo de cómo funciona un marco sin servidor:

  1. Los desarrolladores escriben una función en un lenguaje o plataforma compatible.
  2. El desarrollador sube a la nube la función y la configuración sobre cómo ejecutarla.
  3. La plataforma que maneja la función la contenedoriza.
  4. La plataforma construye el disparador para iniciar la aplicación.
  5. Cada vez que se ejecuta el disparador, la función se ejecuta en un recurso disponible.

Cuando una aplicación se dispara, puede causar latencia al iniciarse la aplicación.

¿Cómo aborda la computación sin servidor las ineficiencias?

Las ineficiencias cuestan a las empresas tecnológicas hasta 100.000 millones de dólares al año. Realizar actualizaciones, instalar software y resolver problemas de hardware requiere hasta 17 horas de tiempo de los desarrolladores cada semana.

Los servicios gestionados en la nube eliminan las minúsculas tareas cotidianas asociadas al alojamiento de la infraestructura de TI en las instalaciones. La seguridad, las bases de datos y los lenguajes de programación se mantienen actualizados y seguros sin esfuerzo en el modelo sin servidor. AWS Cognito, por ejemplo, se presenta como un servicio de autenticación siempre actualizado que cumple con los rigurosos estándares del sector.

Los desarrolladores se centran en el desarrollo de tecnologías y no en los fundamentos de las aplicaciones. Los equipos de operaciones se centran en la creación de canalizaciones de entrega coherentes en lugar de gestionar multitud de hardware.

A pesar de estar alojado externamente, sigue teniendo control directo sobre los detalles más finos, como los lenguajes y las versiones de las herramientas utilizadas. AWS Lambda permite a los desarrolladores utilizar NodeJS o Python, mientras que usted puede controlar casi todos los detalles de una API REST.

Pago por uso


Con un modelo de pago por uso, los recursos nunca se desperdician. A diferencia de las máquinas locales, los servidores compartidos o las máquinas virtuales alquiladas, no hay coste por el tiempo de inactividad. La potencia informática ya no es un activo que se deprecia.

Los proveedores de servicios sin servidor hacen que los recursos estén disponibles exactamente cuando los necesita. No hay conjeturas sobre el número de instancias que necesita. Los contenedores aparecen y desaparecen entre bastidores en función de las necesidades, con una facturación basada en el uso real.

Cuándo aprovechar las aplicaciones sin servidor
Las aplicaciones sin servidor pueden ahorrar a una organización tiempo, esfuerzo y recursos. Sin embargo, los beneficios son específicos para cada tarea. Los servicios tienden a ejecutarse en ordenadores a escala de almacén destinados más a aplicaciones de borde que a la informática de alto rendimiento.

Te beneficiarás de la computación sin servidor cuando:

  • Usas autenticación de usuarios (por ejemplo, Okta, Azure Active Directory)
  • Construyes APIs (por ejemplo, Amazon API Gateway)
  • Conectas servicios de borde en la nube (por ejemplo, AWS for the Edge)
  • Usas envío masivo de correos electrónicos (por ejemplo, Amazon Simple Email Service)
  • Escribes aplicaciones de gran capacidad de respuesta y en tiempo real (por ejemplo, eventos únicos de gran volumen)
  • Creas un prototipo (por ejemplo, en Azure)
  • Conectas dispositivos IoT (por ejemplo, AWS IoT Device Management)

Cada una de estas aplicaciones requiere un tiempo de computación mínimo. La solicitud media se gestiona, se procesa y se devuelve rápidamente.

Cuando el modelo sin servidor no es un beneficio

No todas las aplicaciones son un candidato ideal para el modelo sin servidor. Dado que se paga por transacción, una aplicación que trabaja bajo estrés constante puede no ser un buen ajuste.

El uso de datos, la gestión de solicitudes y el tiempo de procesamiento se acumulan. Las aplicaciones y los servicios que funcionan las 24 horas del día o bajo cargas extremadamente pesadas se vuelven caros rápidamente.

En el otro extremo del espectro, las solicitudes poco frecuentes hacen que los servicios terminen los contenedores que ejecutan sus aplicaciones. Esto crea latencia cuando necesitan reiniciarse.

Supervisión de las aplicaciones sin servidor

Dado que las aplicaciones sin servidor suelen ejecutarse en entornos especializados, los administradores se preocupan por tener capacidades adecuadas de supervisión y observabilidad. Los proveedores de aplicaciones sin servidor proporcionan una monitorización básica y perspectivas, pero las características son limitadas.

En la práctica, las organizaciones tienden a combinar múltiples servicios para lograr un objetivo. Esto hace que sea difícil lograr la observabilidad utilizando la monitorización integrada a través de AWS CloudWatch o Azure Application Logging porque trabajan por servicio o incluso por función.

Mientras tanto, la cantidad de información rastreada crece exponencialmente con el tiempo. Los proveedores no ofrecen ninguna forma de rastrear los servicios mientras los registros se expanden rápidamente. Puede crear sus propios paneles basados en el almacén de datos en AWS Quicksight o en herramientas como Tableau, pero la creación, el mantenimiento y la modificación de estos activos pueden suponer un reto y consumir mucho tiempo.

Su equipo debe incorporar métricas de rendimiento, errores y registros de acceso en su plataforma de monitorización. Los errores, la seguridad y las ralentizaciones relacionadas con la aceleración son motivo de preocupación. Supervisar estos problemas en un servicio construido desde cero es un proceso minucioso.

Obtención de una vista de pájaro sin complicaciones de los sistemas sin servidor
Mientras que la construcción de aplicaciones personalizadas es costosa, el uso de una plataforma de observabilidad automática e inteligente como Dynatrace para monitorear sus entornos sin servidor le permite evitar volar a ciegas e incurrir en el costo de construir código y tableros de control desde el principio.

La plataforma de inteligencia de software de Dynatrace descubre automáticamente las aplicaciones, los procesos y los servicios que se ejecutan en entornos híbridos, multicloud y sin servidor en tiempo real. Captura sus métricas, registros, trazas y datos de experiencia de usuario, y los analiza en el contexto de sus dependencias entre otros servicios e infraestructura. Los paneles de control personalizables y sin código de Dynatrace le ofrecen una visión directa de cada servicio sin tener que escudriñar los innumerables registros generados en todas sus aplicaciones.

Dynatrace combina la información de más de 500 aplicaciones en AWS, Azure y Google Cloud Platform. La ampliación de la observabilidad en tiempo real más allá de las herramientas ofrecidas por su proveedor de servicios ayuda a supervisar todo su entorno de nube híbrida sin puntos ciegos, a estar al tanto de la dinámica de su empresa y a evitar problemas de rendimiento y sobrecostes.

La potente inteligencia artificial consolida automáticamente los datos significativos para señalar las ralentizaciones y señalar las causas de raíz para una rápida solución. Dynatrace se conecta directamente a las plataformas sin servidor a través de un único agente sin configuración, OneAgent. Una capa en AWS Lambda y agentes para muchas otras herramientas y plataformas permite que las aplicaciones envíen información directamente a Dynatrace para proporcionar una observabilidad de 360 grados de su arquitectura sin servidor. OneAgent es compatible con casi todos los principales lenguajes y herramientas de programación.

Aprovechamiento de la arquitectura sin servidor

La arquitectura sin servidor aumenta la eficiencia de los desarrolladores, disminuye el tiempo de producción y reduce los costes de mantenimiento de la infraestructura local o de las máquinas virtuales no utilizadas. Hoy en día, los proveedores ofrecen docenas de tecnologías para ayudarle a reducir el hardware, pero a menudo a costa de la observabilidad

Con soporte para cientos de aplicaciones, herramientas y lenguajes, Dynatrace puede ayudarle a entender todas sus aplicaciones sin servidor y cómo interactúan sin el tiempo y el esfuerzo añadido de crear, ajustar y mantener soluciones de monitorización de visibilidad limitada.

Fuente: Dynatrace