Desarrollo e implementación de aplicaciones
Para desarrollar e implementar aplicaciones sin servidor con Azure Functions, examine patrones y prácticas, configure canalizaciones de DevOps e implemente los procedimientos recomendados de ingeniería de fiabilidad de sitios (SRE).
Para obtener información detallada sobre las arquitecturas sin servidor y Azure Functions, vea lo siguiente:
- Aplicaciones sin servidor: Arquitectura, patrones e implementación de Azure
- Azure Serverless Computing Cookbook (El libro de cocina de informática sin servidor de Azure)
- Arquitecturas de referencia sin servidor de ejemplo
Planificación
Para planificar el desarrollo y la implementación de aplicaciones, haga lo siguiente:
- Prepare el entorno de desarrollo y configure el flujo de trabajo.
- Estructure los proyectos para admitir el desarrollo de aplicaciones de Azure Functions.
- Identifique los desencadenadores de la aplicación, los enlaces y los requisitos de configuración.
Descripción de la arquitectura basada en eventos
Un evento diferente desencadena todas las funciones en un proyecto de Functions sin servidor. Para obtener más información sobre las arquitecturas basadas en eventos, vea lo siguiente:
- Estilo de arquitectura basada en eventos
- Modelos de diseño basados en eventos para mejorar las aplicaciones existentes mediante Azure Functions
Preparación del entorno de desarrollo
Configure el entorno y el flujo de trabajo de desarrollo con las herramientas para crear Functions. Para obtener información detallada sobre las herramientas de desarrollo y la estructura del proyecto de código de Functions, vea lo siguiente:
- Codificación y comprobación de Azure Functions en un entorno local
- Desarrollo de Azure Functions con Visual Studio Code
- Desarrollo de Azure Functions con Visual Studio
- Uso de Azure Functions Core Tools
- Estructura de carpetas
Desarrollo
Decida el lenguaje de desarrollo que se va a usar. Azure Functions admite C#, F#, PowerShell, JavaScript, TypeScript, Java y Python. Todas las funciones de un proyecto deben estar en el mismo lenguaje. Para obtener más información, vea Lenguajes admitidos en Azure Functions.
Definición de los desencadenadores y enlaces
Un desencadenador invoca una función, y cada función debe tener exactamente un desencadenador. El enlace a una función conecta de forma declarativa otro recurso a la función. Para obtener más información sobre los desencadenadores y enlaces de Functions, vea lo siguiente:
- Conceptos básicos sobre los enlaces y desencadenadores de Azure Functions
- Ejecución de una función de Azure con desencadenadores
- Encadenamiento de Azure Functions mediante enlaces de entrada y salida
Creación de la aplicación de Functions
Functions sigue el principio de responsabilidad única: hacer solo una cosa. Para obtener más información acerca del desarrollo de Functions, vea lo siguiente:
- Guía para desarrolladores de Azure Functions
- Creación de aplicaciones sin servidor
- Estrategias para probar el código en Azure Functions
- Procedimientos recomendados de Functions
Uso de Durable Functions para flujos de trabajo con estado
Durable Functions en Azure Functions permite definir flujos de trabajo con estado en un entorno sin servidor mediante la escritura de funciones de orquestador y entidades con estado mediante la escritura de funciones de entidad. Durable Functions administra el estado, los puntos de comprobación y los reinicios, lo que le permite centrarse en la lógica de negocios. Vea ¿Qué es Durable Functions? para obtener más información.
Descripción y solución de los arranques en frío
Si el número de instancias de host sin servidor se reduce verticalmente a cero, la siguiente solicitud tendrá la latencia agregada de reiniciar la aplicación de Functions, denominado arranque en frío. Para minimizar el impacto en el rendimiento de los arranques en frío, reduzca las dependencias que necesita la aplicación de Functions para cargarse en el inicio y use el mínimo de llamadas y operaciones sincrónicas posibles. Para obtener más información sobre el escalado automático y los arranques en frío, vea Operaciones de Functions sin servidor.
Administración de secretos de aplicación
Por seguridad, no almacene las credenciales en el código de la aplicación. Para usar Azure Key Vault con Azure Functions a fin de almacenar y recuperar claves y credenciales, vea Uso de referencias de Key Vault para App Service y Azure Functions.
Para obtener más información sobre la seguridad de la aplicación de Functions sin servidor, vea Seguridad de Functions sin servidor.
Implementación
Para preparar la aplicación de Functions sin servidor para producción, asegúrese de que puede realizar lo siguiente:
- Cumplir los requisitos de recursos de la aplicación.
- Supervisar todos los aspectos de la aplicación.
- Diagnosticar y solucionar problemas de la aplicación.
- Implementar nuevas versiones de la aplicación sin que afecte a los sistemas de producción.
Definición de la tecnología de implementación
Decida la tecnología de implementación y organice las versiones programadas. Para obtener más información sobre cómo la implementación de la aplicación de Functions habilita actualizaciones fiables sin tiempo de inactividad, vea Tecnologías de implementación en Azure Functions.
Elusión del uso de demasiadas conexiones de recursos
Las funciones de una aplicación de Functions comparten recursos, incluidas las conexiones a HTTPS, bases de datos y servicios como Azure Storage. Cuando se ejecutan simultáneamente muchas funciones es posible que se agoten las conexiones disponibles. Para más información, consulte Manage connections in Azure Functions (Administración de conexiones en Azure Functions).
Configuración del registro, las alertas y la supervisión de aplicaciones
Application Insights en Azure Monitor recopila datos del registro, el rendimiento y los errores. Application Insights detecta automáticamente anomalías en el rendimiento e incluye herramientas de análisis eficaces que ayudan a diagnosticar incidencias y comprender cómo se usan las funciones.
Para obtener más información sobre la supervisión y el registro de aplicaciones, vea lo siguiente:
- Monitor Azure Functions
- Supervisión de Azure Functions con registros de Azure Monitor
- Características compatibles de Application Insights para Azure Functions
Diagnóstico y solución de problemas
Descubra cómo usar eficazmente los diagnósticos para la solución de problemas en escenarios proactivos y de anteponer el problema. Para más información, consulte:
- Mantenimiento de Azure App Service y Azure Functions en buen estado
- Solución del error: "No se puede acceder a Azure Functions Runtime"
Implementación de aplicaciones mediante una canalización automatizada y DevOps
La automatización completa de todos los pasos, desde la confirmación del código hasta la implementación en producción, permite a los equipos concentrarse en la compilación del código y elimina la sobrecarga, así como los posibles errores humanos derivados de los pasos manuales. La implementación de nuevo código es más rápida y menos arriesgada, y esto permite a los equipos a ser más ágiles, más productivos y a confiar más en el código.
Para obtener más información sobre DevOps y la implementación continua (CD), vea lo siguiente:
- Implementación continua para Azure Functions
- Entrega continua con Azure DevOps
- Entrega continua con Acciones de GitHub
Optimization
Una vez que la aplicación esté en producción, prepárese para escalar e implementar la ingeniería de fiabilidad de sitios (SRE).
Garantía de una escalabilidad óptima
Para obtener información sobre los factores que afectan a la escalabilidad de las aplicaciones de Functions, vea lo siguiente:
- Procedimientos recomendados de escalabilidad
- Rendimiento y reducción horizontal en Durable Functions
Implementación de prácticas de SRE
La ingeniería de fiabilidad de sitios (SRE) es un enfoque de eficacia probada para mantener la fiabilidad de sistemas y aplicaciones cruciales mientras se realizan las iteraciones al ritmo que el mercado demanda. Para más información, consulte:
Pasos siguientes
Para seguir los tutoriales prácticos de desarrollo e implementación de aplicaciones de Functions sin servidor, vea lo siguiente:
Para obtener un cuaderno de estrategias de ingeniería que permita a los equipos y clientes implementar correctamente proyectos de Functions sin servidor, vea el Cuaderno de estrategias de ingeniería de código con el cliente o el asociado.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de