<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yonti Testa</title>
    <description>The latest articles on DEV Community by Yonti Testa (@yonti_testa_c2c11ac072742).</description>
    <link>https://dev.to/yonti_testa_c2c11ac072742</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3141243%2Fcf38c6b6-2df3-4011-b6b0-b92c630a4cef.jpg</url>
      <title>DEV Community: Yonti Testa</title>
      <link>https://dev.to/yonti_testa_c2c11ac072742</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yonti_testa_c2c11ac072742"/>
    <language>en</language>
    <item>
      <title>Cómo diseñé y desplegué SocialPulse Core: Arquitectura de microservicios, FastAPI, agentes autónomos y analítica en tiempo real</title>
      <dc:creator>Yonti Testa</dc:creator>
      <pubDate>Thu, 24 Sep 2026 05:39:12 +0000</pubDate>
      <link>https://dev.to/yonti_testa_c2c11ac072742/como-disene-y-desplegue-socialpulse-core-arquitectura-de-microservicios-fastapi-agentes-20ac</link>
      <guid>https://dev.to/yonti_testa_c2c11ac072742/como-disene-y-desplegue-socialpulse-core-arquitectura-de-microservicios-fastapi-agentes-20ac</guid>
      <description>&lt;p&gt;En el ecosistema actual de desarrollo de software, la capacidad de procesar datos en tiempo real, mantener una arquitectura desacoplada y automatizar flujos mediante inteligencia artificial ya no es un lujo, sino un estándar para sistemas robustos. &lt;/p&gt;

&lt;p&gt;Recientemente me propuse un reto arquitectónico: diseñar desde cero &lt;strong&gt;SocialPulse Core&lt;/strong&gt;, una plataforma genérica orientada a la monitorización de indicadores, analítica avanzada y automatización en el tercer sector y la transformación digital.&lt;/p&gt;

&lt;p&gt;En este artículo, comparto las decisiones técnicas de diseño, los retos de concurrencia y el stack tecnológico implementado para llevar este proyecto desde el plano lógico hasta un despliegue contenerizado en producción.&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️ El Stack Tecnológico y su Por qué
&lt;/h3&gt;

&lt;p&gt;Para garantizar alta mantenibilidad, rendimiento y velocidad de desarrollo, seleccioné un ecosistema moderno:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python con &lt;strong&gt;FastAPI&lt;/strong&gt;, elegido por su alto rendimiento asíncrono, tipado estricto mediante Pydantic y su documentación interactiva nativa (OpenAPI / Swagger UI).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistencia:&lt;/strong&gt; &lt;strong&gt;PostgreSQL&lt;/strong&gt; junto con &lt;strong&gt;SQLAlchemy&lt;/strong&gt; como ORM, garantizando transacciones ACID y un control estricto de esquemas relacionales.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analítica y Visualización:&lt;/strong&gt; &lt;strong&gt;Streamlit&lt;/strong&gt; y &lt;strong&gt;Plotly&lt;/strong&gt;, permitiendo construir un backoffice ejecutivo con gráficos interactivos avanzados y un refresco de datos fluido.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orquestación e Infraestructura:&lt;/strong&gt; &lt;strong&gt;Docker&lt;/strong&gt; y &lt;strong&gt;Docker Compose&lt;/strong&gt;, aislando servicios y gestionando dependencias y chequeos de salud automatizados (&lt;em&gt;healthchecks&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ⚙️ Retos Clave de Arquitectura Resueltos
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Agentes Autónomos y Workers en Segundo Plano
&lt;/h4&gt;

&lt;p&gt;Uno de los mayores desafíos fue implementar lógica de negocio autónoma que simulara flujos operativos y auditorías periódicas sin bloquear el hilo principal de las peticiones HTTP de la API. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Solución:&lt;/em&gt; Se estructuraron hilos concurrentes en segundo plano (&lt;em&gt;Background Workers&lt;/em&gt;) que operan de manera independiente.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Gestión de Concurrencia:&lt;/em&gt; Para evitar fugas de memoria o bloqueos en la base de datos (&lt;em&gt;connection leaks&lt;/em&gt;), cada hilo administra de manera estricta y aislada la apertura y cierre de sus propias sesiones de SQLAlchemy contra PostgreSQL.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. Capa de Analítica en Lenguaje Natural (Copilot)
&lt;/h4&gt;

&lt;p&gt;El sistema incorpora un módulo analítico capaz de responder a consultas institucionales. Esto se logró integrando esquemas de validación de datos estrictos en FastAPI que procesan las solicitudes y devuelven métricas consolidadas en tiempo real al panel ejecutivo.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 Despliegue y Pruebas de Concepto
&lt;/h3&gt;

&lt;p&gt;Para facilitar que cualquier desarrollador o evaluador técnico pueda auditar el código, todo el ecosistema está contenerizado. Con un único comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/desprogramaci/social-impact-ai-core.git
&lt;span class="nb"&gt;cd &lt;/span&gt;social-impact-ai-core
docker compose up &lt;span class="nt"&gt;--build&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Se levantan de forma sincronizada el servidor de FastAPI (&lt;a href="http://localhost:8000/docs" rel="noopener noreferrer"&gt;http://localhost:8000/docs&lt;/a&gt;), el panel ejecutivo en Streamlit (&lt;a href="http://localhost:8501" rel="noopener noreferrer"&gt;http://localhost:8501&lt;/a&gt;) y la base de datos relacional.&lt;/p&gt;

&lt;p&gt;🎯 Conclusión&lt;br&gt;
Desarrollar SocialPulse Core me permitió condensar años de experiencia en arquitectura backend, diseño de APIs y automatización. Si estás buscando un Arquitecto de Software o Desarrollador Full-Stack capaz de liderar proyectos complejos desde la conceptualización hasta el despliegue en producción, este proyecto refleja el nivel de rigor técnico que aporto a los equipos.&lt;/p&gt;

&lt;p&gt;Puedes explorar el repositorio completo, el diagrama de arquitectura y la documentación en mi perfil de GitHub:&lt;br&gt;
🔗 GitHub: &lt;a href="https://github.com/desprogramaci/social-impact-ai-core" rel="noopener noreferrer"&gt;https://github.com/desprogramaci/social-impact-ai-core&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;¿Te enfrentas a retos similares en tus proyectos de backend o analítica? ¡Hablemos en los comentarios!&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhrnioa5cr94ofk00yjun.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhrnioa5cr94ofk00yjun.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2penpg87i16z6ruinplu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2penpg87i16z6ruinplu.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>backend</category>
      <category>microservices</category>
      <category>python</category>
    </item>
  </channel>
</rss>
