Golden Sky Golden Sky Technology

Technology · Backend

Un contrato claro entre sistemas.

FastAPI es un framework moderno de Python para construir APIs de alto rendimiento, con validación automática, documentación interactiva y soporte asíncrono. Combina la simplicidad de Python con lo que suelen necesitar las aplicaciones empresariales: tipado, validación, autenticación, inyección de dependencias, documentación y concurrencia.

Qué resuelve

Una interfaz entre sistemas

Una aplicación moderna rara vez es un solo bloque: un frontend, una app móvil y varios servicios necesitan comunicarse. La API es lo que los conecta.

CLIENTES Web · Mobile · Otros sistemas │ ↓ FastAPI ↓ Datos · Lógica · Servicios

FastAPI recibe solicitudes, valida los datos, ejecuta la lógica y devuelve una respuesta estructurada. Por basarse en estándares como OpenAPI y JSON Schema, genera automáticamente documentación y esquemas que otros sistemas pueden consumir.

Cómo funciona

Los tipos de Python son el contrato

Una API es una serie de endpoints. FastAPI usa las anotaciones de tipos para saber qué espera cada operación.

@app.get("/users/{user_id}") async def get_user(user_id: int): return {"user_id": user_id}

El int no es solo documentación para el programador: FastAPI lo usa para validar la entrada automáticamente y generar parte de la documentación. Si llega algo que no es un entero, responde con un error apropiado sin código manual.

Concurrencia

Atender muchas operaciones a la vez

Cuando una app pasa buena parte del tiempo esperando (bases de datos, otras APIs, red), el modelo asíncrono aprovecha esa espera para atender otras solicitudes en vez de bloquearse.

Solicitud A ──→ esperando API externa ──┐ │ Solicitud B ──→ procesando ─────────────┤ ↓ Solicitud C ──→ procesando ─────────────┘

Sobre un stack Starlette / ASGI. Pero async no significa que todo deba ser asíncrono: las funciones normales (def) también son válidas y corren en un threadpool. La estrategia depende de qué hace cada endpoint.

Validación y documentación

El contrato se valida y se documenta solo

Una API recibe datos de sistemas externos que pueden venir mal. Con Pydantic se declara la estructura esperada y el framework rechaza lo que no cumpla.

class Order(BaseModel): symbol: str quantity: float price: float # {"quantity": "abc", "price": -500} → error automático
Código Python → FastAPI → OpenAPI → Swagger UI · ReDoc

La documentación deja de ser un archivo aparte que alguien mantiene a mano: se genera desde el propio código y es parte del contrato de la API. Distintos equipos pueden probar los endpoints desde el navegador.

Arquitectura

Preparada para crecer

No obliga a meter todo en un archivo. Se pueden separar responsabilidades a medida que la complejidad aumenta.

FastAPI ├── API / Routes ├── Services (orquestación) ├── Data Access ├── Models ├── Authentication └── Integrations (DB · APIs externas · colas)
Inyección de dependencias

Un endpoint declara qué necesita —usuario autenticado, permisos, conexión a DB, configuración— y FastAPI se lo provee. Esas dependencias se reutilizan entre endpoints y quedan en el esquema OpenAPI.

Procesos en segundo plano

Lo que no necesita bloquear la respuesta (enviar un email, generar un reporte) se traslada a tareas en background — BackgroundTasks para lo simple, Celery/ARQ/colas para lo pesado.

Es, de hecho, la forma del backend de este mismo sistema: un monolito modular con el dominio (cálculo puro) separado de los servicios (orquestación e I/O).

La combinación

Next.js para la experiencia, FastAPI para los servicios

Cada tecnología se especializa en lo suyo: la interfaz web de un lado, la lógica de negocio, los datos y las integraciones del otro.

USUARIO → Next.jsFastAPI → Datos · IA/ML · Servicios
Technology · Frontend Next.js La capa de experiencia: renderizado, datos y cliente en una misma arquitectura.