Implementación de Aplicaciones Serverless en Azure

Clase 39 de 39Curso de Fundamentos de Microsoft Azure (AZ-900)

Resumen

¿Qué es serverless y cómo funciona en el entorno de Azure?

La transición hacia la nube ha traído consigo diversas modelos que buscan optimizar la gestión y operación de las aplicaciones. Tradicionalmente, hemos conocido los modelos como Infrastructure as a Service (IaaS) y Platform as a Service (PaaS). Sin embargo, un modelo más reciente y revolucionario es el de serverless, que promete simplificar aún más la vida de los desarrolladores.

¿Cómo se define el modelo serverless?

El término "serverless" puede resultar engañoso, pues no implica la ausencia total de servidores físicos. Al igual que la tecnología wireless no elimina la necesidad de cables en su totalidad, serverless no significa que no existan servidores en absoluto. Lo que realmente implica es que el usuario final no necesita gestionar ni preocuparse por los servidores subyacentes donde se ejecutan sus aplicaciones. En otras palabras, el proveedor de servicios en la nube gestiona automáticamente la infraestructura, permitiendo al desarrollador concentrarse únicamente en el desarrollo de la aplicación.

¿Cómo implementar una solución serverless en Azure?

Para aquellos interesados en implementar soluciones serverless en Azure, el proceso puede describirse de manera simplificada, como se muestra a continuación:

  1. Preparación de entorno y recursos iniciales:

    • Dentro de Visual Studio Code, accede al repositorio correspondiente a serverless y localiza el script necesario.
    • Crea un grupo de recursos con los comandos adecuados para comenzar a trabajar en esta categoría.
  2. Creación de cuenta de almacenamiento:

    • Aunque no es plenamente serverless, una cuenta de almacenamiento es requerida para operar en este contexto. Usa el comando az storage account para configurarla:
      az storage account create --name [nombre-cuenta] --resource-group [nombre-grupo] --location [ubicación] --sku [tipo-sku]
      
  3. Despliegue de la aplicación de funciones:

    • La implementación clave es mediante el comando az functionapp. Este permitirá desplegar una función en la infraestructura de Azure:
      az functionapp create --resource-group [grupo-serverless] --consumption-plan-location [ubicación] --name [nombre-functionApp] --storage-account [nombre-cuenta] --runtime dotnet
      

    En este proceso, puedes elegir el runtime que mejor se adapte a tus necesidades, ya sea dotnet, Java, Node.js o Python.

¿Qué gestionar y qué delegar en un entorno serverless?

La belleza del modelo serverless radica en la delegación de la mayoría de las tareas administrativas al proveedor de la nube:

  • Configuración automática: no hay necesidad de preocuparse por escalado manual, configuraciones de hardware o la gestión de firewall.
  • Escalado automático: el proveedor se encarga de aumentar o disminuir los recursos según la demanda, proporcionando un escalado ágil y flexible.

Este aspecto hace que las soluciones serverless sean no solo más eficientes, sino también más rentables, ya que pagarás solo por el recurso usado durante el tiempo en que se necesite.

Con el enfoque adecuado, uno puede aprovechar al máximo las bondades de serverless en Azure, tanto en términos de tiempo como de costo, facilitando un desarrollo más ágil y enfocado en la calidad de la aplicación misma. Resy continua explorando y mejorando tus habilidades en tecnología serverless, y observa cómo puedes brindar soluciones más innovadoras y eficientes.