¿Qué es Azure Functions?
- 7 minutos
Sigues al equipo web de Tailspin Space Game mientras analizan cómo ofrecer mejor los nuevos requisitos de marketing controlados por la administración. El equipo debe integrar alguna tecnología sin servidor, específicamente Azure Functions, en su proceso de DevOps.
Puede ponerse en contacto con el equipo.
Nuevos requisitos
Irwin: Gracias por reunirse con tal breve aviso. Las cosas se están calentando, y el equipo de marketing ha hecho algunas promesas que podrían complicar las cosas para todos nosotros. Realmente les gusta nuestro sitio. Creen que la tabla de clasificación se puede usar para promover el juego a medida que avanzamos hacia el lanzamiento final y más allá. Quieren ampliarlo mucho más allá de lo que habíamos planeado originalmente.
Mara: Eso es genial, ¿verdad? Estamos en Azure, por lo que podemos escalar horizontalmente el servicio tanto como sea necesario.
Irwin: Solo quieren la posibilidad de que cualquier usuario integre los datos de la tabla de clasificación en sus propias aplicaciones. Creen que sería realmente genial tener las mismas opciones de tabla de clasificación en nuestro sitio, en el juego, en sitios de revisión de juegos, e incluso en blogs externos y sitios personales. Un desafío es que el equipo del motor de juegos posee actualmente la base de datos de producción de la que extraemos los datos de la tabla de clasificación. Creen que deben crear y poseer la API en el futuro.
Andy: Mara, ¿tienes pensamientos?
Mara: Estoy seguro de que podemos venir con algo. Estas son mis notas:
- Necesitamos ofrecer rápidamente, por lo que tenemos que encontrar una solución en la que podamos usar nuestro código y nuestras aptitudes.
- Es necesario refactorizar una pequeña parte de la funcionalidad en un servicio independiente.
- Es necesario minimizar la sobrecarga administrativa en producción.
- Necesitamos tener una escala masiva sin realizar un compromiso masivo.
El equipo asiente en acuerdo.
Funciona en mi máquina
La reunión se interrumpe. La mañana siguiente, Andy entra en la oficina de Mara para un chat impromptu.
Andy: ¡Lo tengo! He encontrado una solución que cumple todos nuestros requisitos para la API de tabla de clasificación. Es una oferta sin servidor denominada Azure Functions.
Mara: ¡Genial! ¿Cuánto tiempo antes de tener algo que podamos demostrar?
Andy: Ya he realizado una prueba. Bifurqué nuestro repositorio de GitHub y refactoricé el código de la tabla de clasificación en un nuevo proyecto de Azure Functions. Expone los datos de la tabla de clasificación a través de una solicitud HTTP GET simple. También actualicé el sitio web para usar ese punto de conexión al solicitar la tabla de clasificación, y cualquier otra persona puede hacer lo mismo.
Mara: Esto parece exactamente lo que necesitamos. Puedo ayudar a ampliar la canalización de CI/CD existente para que se pueda compilar e implementar como hacemos en el proyecto del sitio principal.
Nota:
Este módulo no se centra en cómo conectar la aplicación a Azure Functions. Si está interesado, revise el código fuente. El código usa el entorno de ejecución de Azure Functions para C# para leer los datos de la tabla de clasificación de Azure Functions.
¿Qué es Azure Functions?
Azure Functions es una oferta específica dentro del espectro más amplio de tecnologías informáticas sin servidor de Azure. Proporciona una manera sencilla para que los desarrolladores creen funciones sencillas que existen en un entorno sin estado y sin servidor. Las funciones se pueden desencadenar mediante varios métodos, como solicitudes HTTP, cambios en los datos del almacenamiento y recepción de un mensaje de una cola. Puede obtener más información sobre los enlaces de desencadenador en los conceptos de desencadenadores y enlaces de Azure Functions.
El equipo de Tailspin seleccionó Azure Functions para este escenario porque satisface todas sus necesidades:
- Necesitamos ofrecer rápidamente, por lo que tenemos que encontrar una solución en la que podamos usar nuestro código y nuestras aptitudes.
- Podemos compilar la solución rápidamente como una aplicación ASP.NET Core que aplica código que ya tenemos.
- Es necesario refactorizar una pequeña parte de la funcionalidad en un servicio independiente.
- Podemos entregar una función independiente sin ninguna otra superficie de la aplicación de la que preocuparse.
- Es necesario minimizar la sobrecarga administrativa en producción.
- Azure Functions elimina la necesidad de preocuparse por los entornos de hospedaje.
- Necesitamos tener una escala masiva sin realizar un compromiso masivo.
- Las tecnologías sin servidor tienen una escala prácticamente ilimitada que puede aumentar y reducir automáticamente más rápido que las máquinas virtuales o los servicios de aplicaciones.
Azure Functions y otras tecnologías sin servidor no siempre son la opción adecuada para cada solución. Más adelante, obtenga información sobre dónde puede encontrar recursos para ayudarle a seleccionar la tecnología adecuada para el trabajo.