La arquitectura de microservicios se ha convertido en una de las opciones más populares para desarrollar aplicaciones modernas, escalables y fáciles de mantener. A diferencia de una aplicación monolítica, donde toda la lógica se encuentra en un único proyecto, los microservicios dividen las funcionalidades en servicios independientes que pueden desarrollarse, desplegarse y escalarse por separado.
En este artículo aprenderás cómo construir un microservicio básico utilizando C# y ASP.NET Core.
¿Qué es un microservicio?
Un microservicio es una aplicación pequeña e independiente que se encarga de una única responsabilidad dentro de un sistema. Por ejemplo, en una tienda en línea podríamos tener un microservicio para productos, otro para pedidos y otro para usuarios.
Cada servicio cuenta con su propia lógica de negocio y expone funcionalidades mediante APIs REST, permitiendo la comunicación con otros servicios o aplicaciones cliente.
Crear el proyecto
El primer paso es crear una API ASP.NET Core:
dotnet new webapi -n ProductService
cd ProductService
Este comando genera una estructura base con todo lo necesario para comenzar a desarrollar una API moderna.
Definir el modelo
Crearemos una entidad sencilla para representar productos:
public class Product
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public decimal Price { get; set; }
}
Este modelo será la información que nuestro microservicio administrará.
Crear un repositorio simple
Para este ejemplo utilizaremos una lista en memoria:
public static class ProductRepository
{
public static List<Product> Products = new()
{
new Product { Id = 1, Name = "Laptop", Price = 3500 }
};
}
En entornos reales normalmente se utilizaría una base de datos como SQL Server o PostgreSQL.
Implementar los endpoints
ASP.NET Core permite crear APIs de forma sencilla mediante controladores o Minimal APIs.
app.MapGet("/products", () =>
{
return ProductRepository.Products;
});
app.MapGet("/products/{id}", (int id) =>
{
return ProductRepository.Products
.FirstOrDefault(p => p.Id == id);
});
app.MapPost("/products", (Product product) =>
{
ProductRepository.Products.Add(product);
return Results.Created($"/products/{product.Id}", product);
});
Con estos endpoints ya es posible consultar todos los productos, buscar uno específico y registrar nuevos elementos.
Probar el microservicio
Ejecuta la aplicación:
dotnet run
Luego abre Swagger en el navegador:
https://localhost:5001/swagger
Desde allí podrás probar cada endpoint sin necesidad de herramientas externas.
Buenas prácticas recomendadas
Aunque este ejemplo es básico, un microservicio profesional debería incluir:
- Arquitectura en capas.
- Inyección de dependencias.
- Entity Framework Core.
- Validaciones de datos.
- Manejo centralizado de excepciones.
- Autenticación y autorización.
- Registro de logs con herramientas como Serilog.
- Contenedores Docker para despliegue.
Además, cada microservicio debe tener una responsabilidad clara para evitar dependencias innecesarias y facilitar su mantenimiento.
Construir un microservicio con C# y ASP.NET Core es un proceso sencillo gracias a las herramientas modernas que ofrece la plataforma .NET. Con unas pocas líneas de código es posible crear una API funcional capaz de exponer datos y ejecutar operaciones de negocio. A medida que el proyecto crece, se pueden incorporar patrones arquitectónicos, bases de datos, mensajería y contenedores para crear soluciones empresariales robustas, escalables y preparadas para la nube.

