Diseño de arquitectura de funciones sin servidor

La arquitectura sin servidor permite que las plataformas en la nube evolucionen hacia código puro nativo de nube mediante la abstracción del código de la infraestructura que necesita para ejecutarse. Azure Functions es una opción de proceso sin servidor que admite funciones, pequeños fragmentos de código que se encargan de una sola tarea.

Entre las ventajas de usar arquitecturas sin servidor con las aplicaciones de Functions se incluyen las siguientes:

  • La infraestructura de Azure proporciona de forma automática todos los servidores actualizados que las aplicaciones necesitan para seguir ejecutándose a escala.
  • Los recursos de proceso se asignan de forma dinámica y se escalan al instante para satisfacer las demandas elásticas. Sin servidor no significa "que no haya un servidor", sino "que hay menos servidores", ya que los servidores se ejecutan solo en función de las necesidades.
  • La microfacturación ahorra costes, ya que solo se cobran los recursos de proceso y la duración que usa el código para ejecutarse.
  • Los enlaces de función simplifican la integración al proporcionar acceso declarativo a una amplia variedad de servicios de Azure y de terceros.

Las funciones se basan en eventos. Un evento externo, como una solicitud web HTTP, un mensaje, una programación o un cambio en los datos desencadena el código de la función. Una aplicación de Functions no codifica el desencadenador, solo la respuesta al desencadenador. Con una barrera de entrada más baja, los desarrolladores pueden concentrarse en la lógica de negocios, en lugar de escribir código para tratar problemas de infraestructura como los de mensajería.

Azure Functions es un servicio administrado en Azure y Azure Stack. El tiempo de ejecución de Functions de código abierto funciona en muchos entornos, incluidos Kubernetes, Azure IoT Edge, locales y otras nubes.

Para la arquitectura sin servidor y Functions se necesitan nuevas formas de pensar y nuevos enfoques para la creación de aplicaciones. No son las soluciones adecuadas para cada problema. Para obtener ejemplos de escenarios de Functions sin servidor, vea Arquitecturas de referencia.

Pasos de implementación

La implementación correcta de las tecnologías sin servidor con Azure Functions requiere las acciones siguientes:

  • Decisión y planificación

    Los arquitectos y los responsables de la toma de decisiones técnicas (TDM) realizan la evaluación de las aplicaciones, imparten o asisten a talleres y cursos técnicos, ejecutan proyectos de prueba de concepto (PoC) o piloto, y realizan sesiones de diseños arquitectónicos según sea necesario.

  • Desarrollo e implementación de aplicaciones

    Los desarrolladores implementan patrones y procedimientos de desarrollo de aplicaciones de Functions sin servidor, configuran canalizaciones de DevOps y usan procedimientos recomendados de ingeniería de confiabilidad de sitios (SRE).

  • Administrar operaciones

    Los profesionales de TI identifican la configuraciones de hospedaje, la escalabilidad preparada para el futuro mediante la automatización del aprovisionamiento de infraestructura y mantienen la disponibilidad mediante la planeación de la continuidad empresarial y la recuperación ante desastres.

  • Protección de las aplicaciones

    Los profesionales de seguridad controlan los aspectos básicos de la seguridad de Azure Functions, protegen la configuración de hospedaje y proporcionan instrucciones de seguridad de la aplicación.