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:

Planificación

Para planificar el desarrollo y la implementación de aplicaciones, haga lo siguiente:

  1. Prepare el entorno de desarrollo y configure el flujo de trabajo.
  2. Estructure los proyectos para admitir el desarrollo de aplicaciones de Azure Functions.
  3. 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:

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:

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:

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:

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:

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:

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:

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:

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.