Proceso de desarrollo de un nuevo sistema.

 Me encuentro desarrollando un proyecto con una formalidad mayor.

Estaré gestionando el desarrollo y despliegue del proyecto mediante Azure DevOps, por lo que estoy definiendo las épicas, características, Items del Backlog y tareas ahí y llevando control de esas tareas.

La arquitectura que estoy utilizando combinará algunos aspectos de dos: Capas y Micro-kernels; además, los patrones que utilizaré de inicio son: Fábrica y Estrategia.

La base de datos es PostgreSQL instalada en un contenedor de Docker.

Estaré utilizando EF y terminaré exponiendo la API.

¿Por qué opté por esta combinación? Porque será un conjunto de APIs multi-tenant donde cada micro-kernel ayudará administrar un tipo particular de información, y habrá una información en común para todos.

El uso de micro-kernels me permitirá hacer crecer cada, digamos, variante de información de acuerdo a nuevas reglas y necesidades de manera independiente; además, puedo agregar nuevos kernels según requiera incrementar las variantes de información a guardar. De esta forma, el Core orquestará estos comportamientos, y dado que tendrán una estructura en común,  pues la fábrica será muy útil.

El uso de capas para cada kernel y para el core garantizan mantener organizada a solución y su desacoplamiento, lo cual facilitará realizar ajustes sin afectar capas adicionales.

PostgreSQL es un buen motor, no muy pesado para la carga de trabajo que soportará la API en un inicio, además es bastante práctico instalarlo mediante docker-compose. Esto permite implementarla en cualquier ambiente, incluyendo el despliegue para realizar pruebas y para Producción.

Este proyecto estará en AWS con RDS basado en PostgreSQL.

Una de las tareas que más tiempo me está invirtiendo es la creación de los contextos de datos, sus entidades y las relaciones que han de mantener. No es tanto complejo sino laborioso... Es como desenredar una madeja de estambre. Aún así, es algo que me gusta. Me gustan las bases de datos.

Comentarios

Entradas populares