Llegamos a ustedes gracias a:



Columnas de opinión

Resolviendo el enigma de los costos de la nube sin servidor

Por: Will Kelly, colaborador de InfoWorld

[04/05/2023] La adopción de la computación serverless se disparó en el 2022, según la encuesta 2022 CNCF Cloud Native Survey. Con esta creciente popularidad surge el riesgo potencial de aumentar el gasto en la nube a menos que las empresas adopten un enfoque proactivo para los costos sin servidor a través de la estrategia, la optimización y el monitoreo.

Estos son algunos consejos sobre cómo preparar a su equipo de desarrollo para abordar los costos de la nube sin servidor de manera proactiva y no reactiva, una vez que su CFO abra la primera factura de la nube tras la puesta en marcha de su proyecto serverless.

Conozca los modelos de precios de los principales proveedores de servicios en la nube

La elección de la solución de computación serverless adecuada comienza con su proveedor de servicios en la nube (CSP). Incluso entonces, lo serverless le presentará un nuevo modelo de precios que su equipo deberá aprender. Cada uno de los principales CSP ofrece computación sin servidor con su propio modelo de precios. Por ejemplo, Amazon Web Services anunció precios escalonados para AWS Lambda, su oferta de computación sin servidor. Cuando aparecen noticias como esa, suele ser una señal para actualizarse en los modelos de precios serverless.

Instituya prácticas de codificación eficientes en sus proyectos sin servidor

La introducción de la computación sin servidor en su pila de tecnología en la nube es un excelente momento para revisar las prácticas de codificación de su organización. Instituir prácticas de codificación eficientes en sus proyectos de desarrollo serverless es uno de los primeros y más importantes pasos que puede tomar como parte de sus iniciativas de optimización de costos de computación sin servidor. Las prácticas de codificación que ayudan a reducir los costos de la computación serverless incluyen:

  •  Minimizar el tamaño del código
  •  Usar bibliotecas óptimas
  •  Optimizar el rendimiento de las funciones

Dimensione correctamente las funciones desde la fase de diseño

El sobre aprovisionamiento de memoria y la asignación de CPU son dos culpables que a menudo se encuentran detrás de los sobrecostos de la computación sin servidor. Cuando ejecuta una función sin servidor en su aplicación en la nube, su CSP asigna recursos de acuerdo con la configuración de la función. Cuando llega el momento del pago, el CSP basa la facturación en la cantidad de recursos que consume su aplicación.

Tiene sentido desde el punto de vista empresarial dedicar tiempo adicional durante la fase de diseño para determinar la cantidad adecuada de recursos que requiere cada función sin servidor, de modo que se minimicen los costos.

Utilice la computación solo cuando sea necesario

Capacite a sus desarrolladores de la nube para que utilicen la computación solo cuando sea necesario, aconseja CloudZero. Ellos dan el ejemplo del uso de step functions o funciones de paso para llamar a las API en lugar de funciones Lambda, lo que significa que solo se paga por las funciones de paso.

Establezca y realice un seguimiento de los KPI de costos sin servidor relevantes

Los principales CSP y plataformas de gestión de la nube incluyen paneles de control de indicadores clave de rendimiento (KPI) de una forma u otra. También se pueden utilizar herramientas de observabilidad, como Datadog, para el monitoreo de KPI. La supervisión de sus KPI sin servidor debe ocupar un lugar importante en sus planes de proyecto e implementación.

Lo esencial de la gestión y el seguimiento de los costos sin servidor es adoptar KPI que incluyan:

  • Costo por ejecución. Esta métrica refleja el costo promedio de ejecutar una función una sola vez. El costo por ejecución se calcula dividiendo el costo total entre el número de ejecuciones de la función. El seguimiento de este KPI es esencial porque identifica qué funciones son las más caras de ejecutar y requieren optimización para reducir los costos de la nube.
  • Duración de la función. La duración de la ejecución de las funciones es un KPI importante de supervisar, ya que mientras más largos sean los tiempos de ejecución de funciones, más altos serán los costos. El análisis de esta métrica ayuda a identificar qué funciones tardan demasiado en ejecutarse y requieren optimización para lograr un mayor ahorro de costos.
  • Tiempo de inactividad. Este puede parecer un KPI inocuo para supervisar, pero un CSP cobra incluso cuando se ejecuta una función sin servidor que no realiza ningún trabajo útil, como cuando espera una entrada o salida. Reducir el tiempo de inactividad en sus funciones sin servidor es otra táctica crucial para optimizar la utilización de recursos mientras reduce el gasto en la nube.

El uso de la memoria, el uso de la CPU, la cantidad de invocaciones y la tasa de error también contribuyen a mayores costos de la nube, así que debería monitorearlos en consecuencia. Dedique tiempo a analizar las tendencias y asegúrese de examinar los costos de la nube sin servidor en los informes de sus proyectos, ya que puede ayudar a todos a aprender a usar la nube de manera más eficiente.

Aplique un enfoque integral y exhaustivo cuando se trata del monitoreo de costos y alertas

Lo más probable es que la experiencia y las prácticas de FinOps en la nube de su organización todavía estén en crecimiento. Si es así, agregar la computación serverless a su pila de tecnología puede generar un nuevo espectro de preocupaciones sobre el gasto en la nube, lo que hace que sea imprescindible un enfoque integral para gestionar los costos de la nube sin servidor. Aquí hay algunos consejos para que eso suceda:

* Apoye la curva de aprendizaje de su equipo de nube duplicando el análisis de los informes de facturación y uso, al menos durante sus proyectos piloto de computación sin servidor.

* Automatice las prácticas de gestión de costos cuando sea factible, pero no trate la automatización como un proceso que se hace una sola vez. La gestión de costos de sus primeros proyectos sin servidor seguramente será un proceso de aprendizaje tanto para los desarrolladores como para los miembros del equipo de FinOps. Adopte la mejora iterativa.

* Implemente el monitoreo de costos y alertas sobre sus proyectos de computación serverless al principio del ciclo de vida del proyecto. Puede usar herramientas como AWS Cost Explorer para monitorear directamente sus costos sin servidor y configurar alertas para cuando estos costos excedan el presupuesto. Espere pasar algún tiempo iterando estas alertas para asegurarse de que sus equipos estén al tanto de los picos de uso inesperados o las ineficiencias de las aplicaciones que aumentan los costos de forma imprevista.

Considere usar una herramienta especializada de optimización de costos sin servidor

Considere actualizar a una herramienta de optimización de costos sin servidor como parte de su compromiso general con la computación serverless. Una nueva clase de herramientas de optimización de la nube se centra en la optimización de los costos sin servidor. Los ejemplos incluyen Epsagon, IOpipe, y Lumigo, que utilizan algoritmos de aprendizaje automático para analizar los patrones de uso y recomendar optimizaciones adicionales que sus desarrolladores pueden hacer a la aplicación de computación sin servidor para ayudar a reducir los costos.

La implementación de la computación sin servidor puede agregar otro nivel de complejidad a sus esfuerzos generales de optimización de costos en la nube. Sin embargo, no tiene por qué plantear un enigma de gestión de costos o sorprender al director financiero con una factura de la nube desorbitada. Si sus equipos son proactivos e implementan las herramientas y los procesos adecuados, puede introducir el control de costos sin servidor en su programa de optimización de costos en la nube tan fácilmente como introduce la computación sin servidor en su pila de tecnología en la nube.

Dicha proactividad garantizará que la introducción de lo serverless en su pila de tecnología en la nube retrase sus iniciativas de optimización de costos de nube.

Will Kelly es un escritor centrado en DevOps y la nube. Sus artículos han sido publicados por TechTarget, Opensource.com, InfoQ y otros. Ha trabajado en marketing técnico, marketing de soluciones y como redactor técnico.