Guía: Crear aplicaciones sin servidor

Hoy presentamos una guía para crear aplicaciones sin servidor. Incluye 3 secciones principales: creación de lógica sin servidor, configuración de disparadores y uso de enlaces. Únete ahora!



Introduccion


Imagine que está trabajando para una empresa de escaleras mecánicas que ha invertido mucho en la tecnología de Internet de las Cosas para rastrear su producto localmente. Usted controla el procesamiento de datos de los sensores de temperatura en los mecanismos de accionamiento de las escaleras mecánicas. Realiza un seguimiento de los datos de temperatura y agrega un indicador para indicar que la temperatura del mecanismo de accionamiento es demasiado alta. En los sistemas posteriores, estos datos le permiten determinar la necesidad de servicio.

Su empresa recibe datos de sensores de varios lugares y de diferentes modelos de escaleras mecánicas. Estos datos vienen en una variedad de formatos, incluido el envío de archivos por lotes, recuperaciones programadas de la base de datos, mensajes en la cola y datos entrantes desde el centro de eventos. Desea desarrollar un servicio reutilizable que le permita procesar datos de temperatura de todas estas fuentes.

Al desarrollar servicios como este utilizando estrategias tradicionales de arquitectura empresarial, deberá considerar la infraestructura del servidor y su mantenimiento por adelantado: asignar el equipo necesario, planificar su instalación, coordinar el trabajo con el departamento de TI para administrarlo, etc. La informática sin servidor es una alternativa. Con la informática sin servidor, el proveedor de la nube gestiona el aprovisionamiento y el mantenimiento de la infraestructura, lo que le permite concentrarse por completo en la creación de aplicaciones lógicas. El servicio Azure Functions es un componente clave de la oferta de Azure Serverless Computing, que le permite ejecutar fragmentos de código o funciones escritas en su propio lenguaje de programación en la nube.

Objetivos de aprendizaje


En este módulo aprenderá a realizar las siguientes tareas:

  • Determinar la idoneidad de la informática sin servidor para satisfacer las necesidades empresariales.
  • Cree una aplicación de características de Azure en el Portal de Azure.
  • Realizar una función usando disparadores.
  • Seguimiento y prueba de las características de Azure en Azure Portal

Determinar la idoneidad de la informática sin servidor para satisfacer las necesidades comerciales


Para ayudarlo a determinar si se debe aplicar la informática sin servidor, primero le brindaremos información general sobre este concepto.

¿Qué es la informática sin servidor?


La informática sin servidor es una función como servicio (FaaS) o microservicio alojado en una plataforma en la nube. La lógica empresarial se ejecuta en el formato de funciones, lo que significa que no necesita preparar o escalar manualmente la infraestructura. Toda la gestión de la infraestructura es realizada por el proveedor de servicios en la nube. La aplicación aumenta o disminuye automáticamente según la carga. Azure ofrece varias formas de crear este tipo de arquitectura. Los dos enfoques más comunes son el uso de Azure Logic Apps y Azure Features. En este módulo los consideraremos.

¿Qué son las características de Azure?


Características Azure es una plataforma informática sin servidor. Permite a los desarrolladores implementar lógica empresarial que se puede ejecutar sin preparar la infraestructura. Las funciones están estructuralmente bien escaladas y solo paga por los recursos realmente utilizados. El código de función se puede crear en cualquier lenguaje conveniente, incluidos C #, F # y JavaScript. NuGet y NPM también son compatibles, lo que hace posible utilizar muchas bibliotecas populares en la lógica empresarial.

Beneficios de la solución de computación sin servidor


La informática sin servidor es una excelente opción para alojar código de lógica de negocios en la nube. Los servicios sin servidor, como Azure Functions, le permiten crear lógica empresarial en el idioma que más le convenga. Obtiene escalado automático, no tiene que preocuparse por la administración del servidor, y paga solo por los recursos realmente utilizados, y no por el tiempo reservado. A continuación hay algunas características más de la solución sin servidor que debe tener en cuenta.

Falta de asignación de infraestructura en exceso


Suponga que preparó servidores de máquinas virtuales y les proporcionó suficientes recursos para las cargas máximas. Durante los períodos de poca carga de trabajo, es probable que pague por la infraestructura no utilizada. La informática sin servidor ayuda a resolver el problema de la asignación excesiva de recursos, ya que el escalado se realiza automáticamente y solo paga por el trabajo activo de la función.

Lógica sin estado


Las funciones sin estado son excelentes para la informática sin servidor; Las instancias de funciones se crean y eliminan a pedido. Si se requiere el seguimiento del estado, se puede almacenar en el servicio de almacenamiento apropiado.

Gestión de eventos


Las funciones están guiadas por eventos. Esto significa que se ejecutan solo en respuesta a algún evento (desencadenante), por ejemplo, recibir una solicitud HTTP o agregar un mensaje a la cola. Los disparadores se configuran en la definición de la función. Este enfoque simplifica enormemente la base del código, permitiéndole declarar solo fuentes de datos (enlace de activación / entrada) y destino (enlace de salida). No tiene que escribir para crear su propio código para trabajar con colas, blobs, concentradores, etc. Todo lo que queda es crear una lógica de negocios.

Las funciones se pueden utilizar en entornos informáticos tradicionales.


Las funciones son un componente clave de la informática sin servidor, pero al mismo tiempo sirven como plataforma informática para ejecutar cualquier tipo de código. Si la aplicación necesita un cambio, siempre puede implementar el mismo proyecto en un entorno de servidor familiar, obteniendo la flexibilidad para controlar el escalado, iniciar en redes virtuales e incluso aislar completamente las funciones.

Desventajas de una solución de computación sin servidor


La informática sin servidor no siempre es óptima para alojar la lógica empresarial. Las siguientes son algunas de las características que pueden afectar su decisión de alojar servicios en informática sin servidor.

Plazo de entrega


Por defecto, las funciones usan un tiempo de espera de 5 minutos. Se puede aumentar, pero no más de 10 minutos. Si la función tarda más de 10 minutos, se puede alojar en una máquina virtual. Además, si su servicio comienza con una solicitud HTTP y espera recibir una respuesta HTTP, el tiempo de espera se limita a 2.5 minutos. Y finalmente, hay una oportunidad adicional de crear funciones estables para organizar el desempeño de varias funciones sin límite de tiempo.

Frecuencia de ejecución


La segunda característica es la frecuencia de ejecución. Si se espera que varios clientes realicen continuamente la función a la vez, sería razonable evaluar el uso y calcular el costo de usar las funciones en consecuencia. Quizás hospedar un servicio en una máquina virtual es más barato.

Al escalar cada 10 segundos, solo se puede crear una instancia de la aplicación de función, pero no más de 200 instancias en total. Recuerde que cada instancia puede servir varias ejecuciones simultáneas, es decir, no hay restricciones en la cantidad de tráfico que cada instancia puede procesar. Los diferentes tipos de disparadores tienen diferentes requisitos de escala. Examine el activador seleccionado y sus limitaciones asociadas.

Crear una aplicación de características en Azure Portal


Este tutorial requiere una caja de arena

El sandbox proporciona acceso gratuito a los recursos de Azure que necesita para este tutorial. No se le cobrará a su suscripción de Azure.

Entra en la caja de arena

Ahora está listo para comenzar a implementar el servicio de control de temperatura. En el módulo anterior, determinó que una solución sin servidor es la más adecuada para resolver sus problemas. Ahora creemos una aplicación de función para almacenar la función de Azure.

¿Qué es una aplicación de función?


Las funciones se colocan en un contexto llamado aplicación de función. Las aplicaciones de funciones le permiten agrupar y estructurar lógicamente funciones y calcular recursos en Azure. En nuestro ejemplo, creará una aplicación de función para alojar el servicio de control de temperatura para el accionamiento del ascensor. Para crear una aplicación de funciones, debe tomar varias decisiones, incluida la elección de un plan de servicio y una cuenta de almacenamiento adecuada.

Elegir un plan de servicio


Las aplicaciones de función pueden usar uno de los dos tipos de plan de servicio. El primero de estos tipos es un plan de servicio basado en el consumo. Este plan es útil cuando se usa la plataforma de aplicación Azure sin servidor. Un plan de servicio basado en el consumo proporciona escalado automático, y el pago solo se cobra por la duración de las funciones. Un plan de servicio basado en el consumo le permite configurar un período de espera para completar una función. Por defecto, este período es de 5 minutos, pero se puede aumentar a 10 minutos.

El segundo tipo es el Plan de servicio de aplicaciones de Azure. Este plan evita los períodos de espera al ejecutar continuamente la aplicación en la máquina virtual seleccionada. Si utiliza un plan de servicio de la aplicación, debe administrar los recursos para la aplicación en la que se ejecuta la función. Estrictamente hablando, esto no nos permite considerar el plan sin servidor. Pero en algunas circunstancias, es más adecuado, por ejemplo, si las funciones se usan continuamente o requieren más potencia de procesamiento o más tiempo de ejecución de lo que puede proporcionar un plan basado en el consumo.

Requisitos de la cuenta de almacenamiento


La aplicación de función creada debe estar vinculada a la cuenta de almacenamiento. Puede seleccionar una cuenta de almacenamiento existente o crear una nueva. La aplicación de función utiliza esta cuenta de almacenamiento para operaciones internas, como el registro de ejecución de funciones y la administración de disparadores de ejecución. Si se utiliza un plan de servicio basado en el consumo, el código de función y los archivos de configuración también se almacenan aquí.

Crear una aplicación de función


Creemos una aplicación de características en el portal de Azure.

Inicie sesión en Azure Portal con la misma cuenta con la que activó el entorno limitado.

Haga clic en el botón Crear recurso en la esquina superior izquierda del portal de Azure y seleccione Comenzar> Aplicación de función sin servidor para abrir la columna Crear para la aplicación de función. La misma columna se puede abrir a través del elemento de menú Cálculos> Función de aplicación.



Elija un nombre de aplicación globalmente único. Se utilizará como la URL base de su servicio. Puede nombrarlo, por ejemplo, escalator-functions-xxxxxxx, reemplazando las cruces con las iniciales y el año de nacimiento. Si este nombre no es globalmente único, intente otras combinaciones. Los caracteres válidos son a - z, 0–9 y -.

Seleccione la suscripción de Azure donde desea hospedar la aplicación de características.

Seleccione un grupo de recursos existente llamado [nombre del grupo de recursos sandbox].

Seleccione su sistema operativo Windows.

Para el Plan de ubicación, seleccione Plan de consumo, que se utiliza para la asignación sin servidor.

En la lista, seleccione la ubicación geográfica más cercana a usted. En el sistema de trabajo, debe elegir la ubicación más cercana a las funciones de sus clientes o consumidores.

Un sandbox gratuito le permite crear recursos en un subconjunto de las regiones globales de Azure. Al crear cualquier recurso, seleccione una región de la siguiente lista:

  • Oeste de EE. UU. 2
  • Medio oeste de los Estados Unidos
  • Centro Sur de EE. UU.
  • EE. UU. Central
  • Este de EE. UU.
  • Europa occidental
  • Sudeste de asia
  • Japón oriental
  • Brasil del sur
  • El sudeste de Australia
  • India central

Para el parámetro Pila de tiempo de ejecución, seleccione JavaScript de la lista desplegable, ya que es en este lenguaje que implementaremos ejemplos de funciones en este ejercicio.

Crea una cuenta de almacenamiento. Azure lo nombrará automáticamente con el nombre de la aplicación. Puede reemplazar este nombre con cualquier otro, pero siempre único.

Asegúrese de que Azure Application Insights esté activado y seleccione la región más cercana a usted (o sus clientes).

Elija Crear La implementación llevará varios minutos. Después de su finalización, recibirá una notificación.

Validación de una aplicación de características de Azure


En el menú en el lado izquierdo del portal de Azure, seleccione Grupos de recursos. Luego verá el grupo de recursos [nombre del grupo de recursos de sandbox] en la lista de grupos disponibles.

.

Seleccione el grupo de recursos [nombre del grupo de recursos sandbox]. Aparece una lista de recursos, similar a la siguiente imagen.



El elemento de rayo designado aquí como servicio de aplicación es la nueva función de aplicación. Haga clic para abrir los detalles de la nueva función. Se le asigna una URL pública que se puede abrir en el navegador y asegurarse de que la aplicación de la función funciona correctamente.

Puede continuar estudiando la guía en nuestro portal Microsoft Learn .

Source: https://habr.com/ru/post/es430194/


All Articles