Contenido del curso
Arquitectura Basada en Microservicios
Automatización y Preparación del Entorno
Comunicación Asíncrona entre Servicios
Despliegue
Observabilidad
API monolítica base para microservicios en .NET
Resumen
Antes de fragmentar cualquier servicio, necesitas una API monolítica funcional que sirva como punto de partida para migrar hacia una arquitectura de microservicios cloud native. Esa es la base que vamos a preparar usando .NET, SQL Server en Azure y un repositorio clonado desde Platzi.
¿Por qué los microservicios requieren servicios en la nube?
Cuando diseñas microservicios, estás pensando en una solución que debe soportar gran demanda, y eso solo es viable con infraestructura cloud native.
Usar una instancia local de SQL Server puede funcionar al inicio, pero al desplegar los servicios aparecen problemas de comunicación entre componentes. Por eso, durante el recorrido vas a integrar herramientas que viven naturalmente en la nube:
- SQL Server alojado en Azure para la base de datos.
- Kafka para la mensajería entre servicios.
- Redis para caché y manejo de estado distribuido.
¿Qué significa cloud native? Es un enfoque donde las aplicaciones se diseñan desde cero para ejecutarse en la nube, aprovechando servicios gestionados, escalabilidad horizontal y despliegues distribuidos.
No importa qué proveedor elijas, AWS, Azure o Google Cloud, toda arquitectura de microservicios va a depender de servicios gestionados para desplegarse correctamente.
¿Cómo clono el repositorio base del curso de microservicios?
El punto de partida está en el repositorio oficial de Platzi, dentro de la carpeta SRC.
La recomendación es hacer un fork del repositorio para mantener tu copia sincronizada con los cambios futuros. Si vas a manipularlo de forma constante, puedes clonarlo directamente con tus llaves SSH y abrirlo en Visual Studio Code.
Dentro del proyecto encontrarás SRC/API global, que es la minimal API construida con .NET que vamos a usar como base.
¿Puedo usar otro lenguaje en lugar de .NET? Sí. Puedes replicar la misma API con Python, Go, PHP o el lenguaje que prefieras. Una de las ventajas reales de los microservicios es que cada servicio puede escribirse en un lenguaje distinto.
¿Cómo ejecuto la minimal API en .NET por primera vez?
Una vez clonado el repositorio, abre tu terminal y entra a la carpeta del proyecto con cd SRC/API global. Desde ahí puedes compilar y correr la aplicación.
Estos son los pasos concretos:
- Ejecuta
dotnet buildpara validar que no haya errores de compilación. Es normal ver advertencias por validaciones de cadenas, pero deben aparecer cero errores. - Ejecuta
dotnet runpara levantar la API. El servicio queda disponible enlocalhost:5092. - Agrega
/swaggeren la URL del navegador para ver todos los métodos documentados.
Desde Swagger puedes probar cada endpoint. Si al ejecutar el método Adultos ves un mensaje de que la base de datos no se ha inicializado, significa que falta configurar la cadena de conexión.
¿Dónde configuro la cadena de conexión a SQL Server?
La configuración vive en el archivo appsettings.json, específicamente en la línea 9, dentro de la propiedad DefaultConnection.
Reemplaza el valor por tu cadena de conexión real, ya sea apuntando a SQL en Azure o a tu motor preferido. Después puedes refrescar la página o detener y volver a ejecutar la aplicación con dotnet run. Cualquiera de las dos opciones funciona.
Cuando la conexión queda lista y vuelves a probar el endpoint Adultos, deberías ver un registro existente, por ejemplo Amin Espinosa, que confirma que la API está leyendo correctamente la base.
¿Qué estructura tiene la base de datos del proyecto?
La base de datos contiene dos tablas que servirán para fragmentar la lógica más adelante:
- Adultos: ya viene con registros precargados para validar la lectura.
- Niños: tiene exactamente los mismos campos que Adultos, pero está vacía.
Esta simetría no es casualidad. Tener dos tablas con la misma estructura te permite practicar cómo separar dominios y responsabilidades cuando empieces a dividir la API en servicios independientes.
En la documentación del repositorio vas a encontrar el esquema completo de la base de datos, para que puedas replicarlo sin importar el motor SQL que uses.
¿Qué métodos expone la API y por qué importan?
La API global incluye entre cinco y seis métodos ya implementados que cubren operaciones básicas sobre las tablas Adultos y Niños. Sobre esos métodos vas a trabajar el resto del recorrido.
La idea es tomar este monolito funcional y empezar a fragmentarlo en piezas independientes, cada una con su propia responsabilidad, su propio despliegue y, eventualmente, su propia base de datos. Ese es el salto real hacia microservicios.
¿Ya tienes tu cadena de conexión funcionando y la API respondiendo en Swagger? Cuéntame en los comentarios qué motor de base de datos elegiste y si decidiste replicar la API en otro lenguaje distinto a .NET.