Comenzamos nuestra fase de planificación en un nuevo proyecto y nos decidimos por una API REST ASP.NET que debería estar alojada en Azure. Dado que ninguno de nosotros tiene experiencia en implementación en Azure (o cualquier otro servicio en la nube), tengo dos preguntas.

  1. ¿Necesita servicios de Azure separados para la base de datos y la API, o podría haber un "paquete" combinado para el prototipo, que luego se puede cambiar fácilmente?
  2. ¿Existe alguna documentación o hay ejemplos de todo el proceso de implementación de una API ficticia simple y la base de datos? He pasado las últimas horas leyendo la documentación oficial y buscando, pero realmente me encantaría ver algún tipo de referencia, solo para asegurarme de que no me pierdo nada.

Por ahora, lo mejor que he encontrado es this y esto. Esto parece bastante superficial, así que realmente espero que haya más.

0
Zumpel 22 ene. 2021 a las 02:32

1 respuesta

La mejor respuesta

Si está buscando un diseño detallado y detalles de implementación, sugeriría que Azure Architecture Center sería un excelente lugar para comenzar, para la experiencia práctica, hay cientos de cursos gratuitos disponibles en Microsoft Learn.

Específicamente, hay secciones en diseño de API y Implementación de API. Desde la página aplicación web sin servidor se encuentra:

Si no necesita toda la funcionalidad proporcionada por API Management, otra opción es usar Functions Proxies. Esta característica de Azure Functions le permite definir una única superficie de API para varias aplicaciones de función, mediante la creación de rutas a las funciones de back-end. Los proxies de funciones también pueden realizar transformaciones limitadas en la solicitud y respuesta HTTP. Sin embargo, no proporcionan las mismas capacidades ricas basadas en políticas de API Management.

Sugeriría comenzar con el uso de Azure Functions para su API (solo paga por la cantidad de llamadas + una combinación de CPU, memoria y tiempo de ejecución, pero las primeras 1,000,000 de llamadas por mes son gratuitas (plan de consumo), en lugar de pagar por un Azure App Service para alojar su API y ejecutarlo todo el tiempo, pero solo se puede utilizar algunas veces. Algunos enlaces que pueden ayudar:

Hay un resumen excelente en este artículo que dice:

Para las cargas de trabajo pesadas.

  • API privada (empresarial): gestión de API con un plan Premium.
  • API pública: Proxy de funciones con el plan Premium.

Para cargas de trabajo ligeras / moderadas.

  • API privada -Funciones Proxy con el plan Premium.
  • API pública -Funciones Proxy con plan de Consumo y solución personalizada de calentamiento.

Luego, desde aquí, puede usar una cadena de conexión a una base de datos SQL de Azure dentro de sus funciones para escribir en la base de datos o algo como Azure Managed Identity (sí, el vínculo es para Azure PostgreSQL pero el proceso será muy similar para Azure SQL).

En términos de implementación, debería considerar el uso de Azure DevOps (o acciones de GitHub):

Otra herramienta útil para calcular los costos es la Calculadora de precios de Azure.

1
Matt Stannett 22 ene. 2021 a las 02:28