Búsqueda de sitios web

LFCA: Aprenda informática sin servidor, ventajas y desventajas - Parte 15


La tecnología sin servidor ha generado mucho revuelo en la comunidad tecnológica, provocando mucha curiosidad y, en cierta medida, recibiendo algunas reacciones negativas. Es una tecnología que comenzó con el lanzamiento de AWS Lamba en 2014, al que pronto siguió Azure Functions más adelante en 2016.

Más tarde, Google hizo lo mismo con el lanzamiento de las funciones de Google Cloud en julio de 2018. Entonces, ¿qué es la tecnología sin servidor? Para responder mejor a esta pregunta, volvamos a la informática tradicional basada en servidores.

En el modelo de TI tradicional, usted estaba a cargo de básicamente todo. Como propietario de una empresa, tendría que presupuestar servidores y otros equipos de red, como enrutadores y conmutadores, y bastidores para guardar los servidores.

También tendría que preocuparse por conseguir un centro de datos impecable y seguro y asegurarse de que pueda proporcionar refrigeración suficiente y energía y servicio de Internet redundantes. Una vez configurado, deberá instalar el sistema operativo y luego implementar sus aplicaciones. Además, se le pedirá que configure sistemas de monitoreo e implemente funciones de seguridad como firewalls y sistemas de detección y prevención de intrusiones.

Como habrás adivinado, esto requiere muchos recursos, es costoso y agotador.

Luego, la computación en la nube irrumpió en el mundo de la tecnología, revolucionando por completo la forma en que implementamos y administramos servidores y aplicaciones. Anunciaba una nueva era en la que los desarrolladores rápidamente crearían servidores y bases de datos en la nube y comenzarían a trabajar en sus aplicaciones. No se preocupe por los problemas asociados con la informática de TI tradicional, como el tiempo de inactividad, los equipos costosos y el alquiler de centros de datos.

Si bien la computación en la nube trajo consigo conveniencia y economías de escala en la implementación de recursos de TI, algunas empresas comprarían en exceso unidades de espacio de servidor y recursos como RAM y CPU en anticipación de un aumento en el tráfico o actividad de la red que podría abrumar las aplicaciones.

Si bien es una medida prudente, el resultado no deseado es la subutilización de los recursos del servidor, que a menudo se desperdician. Incluso con el ajuste de escala automático, un aumento repentino e imprevisto podría resultar costoso. Además, aún necesitarás realizar otras tareas, como configurar balanceadores de carga, que probablemente también aumenten los costos operativos.

Es evidente que a pesar de hacer el cambio a la nube, aún persisten algunos cuellos de botella que tienen el potencial de aumentar los costos y provocar el desperdicio de recursos. Y aquí es donde entra en juego la computación sin servidor.

¿Qué es la informática sin servidor?

La computación sin servidor es un modelo de nube que proporciona servicios backend a los usuarios mediante un sistema de pago por uso. En términos simples, el proveedor de la nube asigna recursos informáticos y cobra solo por el tiempo que las aplicaciones se ejecutan. Esto es el equivalente a cambiar de un plan mensual de pago por cable a pagar solo cuando miras tus programas de televisión.

El término "Sin servidor" puede resultar un poco engañoso. ¿Hay servidores involucrados? Claro, sin embargo, en este caso, los servidores y la infraestructura subyacente son manejados y mantenidos exclusivamente por el proveedor de la nube. Como tal, no debes preocuparte por ellos. Como desarrollador, su atención se centra exclusivamente en desarrollar sus aplicaciones y asegurarse de que funcionen a su satisfacción.

Al hacerlo, la informática sin servidor elimina el dolor de cabeza de administrar servidores y le ahorra un tiempo precioso para trabajar en sus aplicaciones.

Servicios backend proporcionados por la informática sin servidor

Un ejemplo perfecto de servicio backend sin servidor es la plataforma Función como servicio (FaaS). FaaS es un modelo de computación en la nube que permite a los desarrolladores desarrollar, ejecutar y administrar código en respuesta a eventos sin la complejidad de construir y administrar una infraestructura subyacente generalmente asociada con la implementación de microservicios.

Faas es una subcategoría de informática sin servidor con diferencias sutiles. La informática sin servidor abarca una amplia gama de servicios que incluyen informática, bases de datos, almacenamiento y API, por mencionar algunos. FaaS se centra únicamente en un modelo informático basado en eventos en el que las aplicaciones se ejecutan bajo demanda, es decir, en respuesta a una solicitud.

Ejemplos de modelos informáticos FaaS incluyen:

  • AWS Lambda por AWS
  • Funciones de Azure de Microsoft
  • Funciones en la nube de Google
  • Trabajadores de Cloudflare por Cloudflare

En resumen, hemos visto que con FaaS, solo paga por el tiempo que su aplicación se ejecuta y el proveedor de la nube hace prácticamente todo por usted, incluido el manejo de la infraestructura subyacente. Administrar servidores es la menor de tus preocupaciones.

Beneficios de la informática sin servidor

A estas alturas, ya tiene una buena idea de algunos de los méritos que aporta la informática sin servidor. Profundicemos en las ventajas de adoptar la tecnología.

1. Sin gestión de servidores

Esta es quizás una de las mayores ventajas de adoptar el modelo informático sin servidor. Aunque el término "sin servidor" podría malinterpretarse en el sentido de que no hay servidores involucrados, lo cierto es que las aplicaciones aún se ejecutan en servidores. El quid de la cuestión es que la gestión del servidor es enteramente asunto del proveedor de la nube, y esto le otorga más tiempo para trabajar en sus aplicaciones.

2. Escalado fácil y eficiente

La infraestructura sin servidor proporciona escalamiento automático de aplicaciones en respuesta a un aumento en el uso, la demanda o el crecimiento de la base de usuarios. Si la aplicación se ejecuta en varias instancias, los servidores se iniciarán y se detendrán cuando sea necesario. En una configuración tradicional de computación en la nube, un aumento en el tráfico o la actividad puede sobrecargar fácilmente los recursos del servidor, lo que genera inconsistencias con la aplicación que se ejecuta.

3. Disponibilidad incorporada

Como desarrollador, no necesita crear ninguna infraestructura especial para que sus aplicaciones tengan alta disponibilidad. La informática sin servidor le proporciona alta disponibilidad integrada para garantizar que sus aplicaciones estén en funcionamiento cuando sea necesario.

4. Costos operativos reducidos

La informática sin servidor asigna recursos mediante el pago por uso. Su aplicación solo requerirá funciones de backend cuando se ejecute el código y se escalará automáticamente según la cantidad de carga de trabajo.

Esto proporciona economías de escala, ya que solo se le factura por el tiempo que las aplicaciones se ejecutan. En el modelo de servidor tradicional, hay que pagar por el espacio del servidor, las bases de datos, entre otros recursos, independientemente de si la aplicación está ejecutándose o inactiva.

5. Implementaciones de aplicaciones más rápidas

La arquitectura sin servidor elimina la necesidad de configurar el backend y cargar código manualmente a los servidores como en la configuración tradicional. Es fácil para los desarrolladores cargar pequeñas pilas de código de manera eficiente y lanzar un gran producto.

La facilidad de implementación también permite a los desarrolladores parchear y actualizar fácilmente ciertas características del código sin alterar toda la aplicación.

Errores de la informática sin servidor

¿Existe algún inconveniente asociado con el modelo sin servidor? Vamos a averiguar.

1. Seguridad

Las aplicaciones mal configuradas plantean uno de los mayores riesgos asociados con la informática sin servidor. Si opta por AWS, por ejemplo, es prudente configurar diferentes permisos para su aplicación, lo que, a su vez, determinará cómo interactuarán con otros servicios dentro de AWS. Cuando los permisos son vagos, una función o servicio puede tener más permisos de los necesarios, dejando un amplio margen para violaciones de seguridad.

2. Bloqueo de proveedores

Optar por un modelo sin servidor puede presentar desafíos al migrar a otro proveedor. Esto se debe principalmente a que cada proveedor tiene sus propias características y flujos de trabajo que varían ligeramente del resto.

3. Dificultad para probar y depurar aplicaciones

Otro desafío que plantea el modelo sin servidor es la dificultad de reproducir un entorno sin servidor para probar y monitorear el rendimiento del código antes de su puesta en funcionamiento. Esto se debe principalmente a que los desarrolladores carecen de acceso a los servicios backend que son dominio exclusivo del proveedor de la nube.

4. Dificultad para monitorear aplicaciones sin servidor

Monitorear aplicaciones sin servidor es una tarea compleja por las mismas razones que la depuración y prueba es una tarea ardua. A esto se ha sumado la falta de disponibilidad de herramientas con integración a servicios backend como AWS Lamba.

Conclusión

La informática sin servidor continúa ganando terreno y aceptación entre empresas y desarrolladores por tres razones clave. Uno es la asequibilidad, que implica costos operativos reducidos. En segundo lugar, la informática sin servidor facilita el escalado automático y rápido y, por último, los desarrolladores no tienen que preocuparse por la infraestructura subyacente que maneja el proveedor.

Mientras tanto, los proveedores de la nube están trabajando día y noche para abordar algunos de los problemas asociados con la computación sin servidor, como la dificultad para depurar y monitorear aplicaciones.