Resumen
Moisés Flores, IT Software Architect, explica en qué consiste su rol: responsable de que la arquitectura de punta a punta (persistencia, microservicios, integraciones, eventos) sea escalable, resiliente y segura. Trabaja en una plataforma B2B con 260.000 clientes y millones de ejecuciones Lambda al día, integrada con más de 30 interfaces SAP. Se profundiza en AWS: Lambda y el modelo serverless, roles y permisos con mínimo privilegio, costos, alertas de facturación y errores típicos como la Lambda recursiva. Recomienda aprender haciendo, con videos de YouTube y proyectos propios, y ve la certificación o los cursos como apoyo. Comenta su experiencia en una startup (Terradomus), GraphQL, el balance con la vida personal y su visión de que el rol de desarrollador mutará con la IA mientras el de arquitecto seguirá vigente.
Capítulos
- 00:00IntroPresentación del episodio 79 y de Moisés, ex colega con trayectoria en arquitectura. Se plantea la pregunta sobre qué es un Software Architect.
- 00:23Qué es un Software ArchitectEs responsable de que todo el flujo (bases de datos relacionales y no relacionales, índices de Elastic, microservicios, push notifications, eventos, integraciones con SAP, Oracle y APIs) sea escalable, resiliente y seguro. Elige los servicios y su configuración, y da lineamientos a los squads y al technical lead.
- 04:16Su diferencia con un Solution ArchitectEn su empresa existen "Solution developer", quienes ya trabajan en el código; el arquitecto define lineamientos de integración a un nivel superior. Aclara que desconoce si esto se ajusta a la norma general.
- 04:47Interacción con otros roles de datosLos datos son críticos: la plataforma se integra con más de 30 interfaces SAP (datos maestros y transaccionales) y cada noche se procesan 4 o 5 horas con PySpark y procedimientos almacenados. No hay Data Science, pero sí Data Engineering, que extrae datos de SAP, los deja en buckets S3 y los transforma hacia bases relacionales.
- 07:06Quién traduce las reglas de negocio a código?Los perfiles funcionales y el product owner definen el comportamiento; el software architect junto al TL lo traducen a código. Ejemplo: cancelar un pedido requiere consultar a un perfil SAP si SAP lo permite.
- 08:23Cómo obtener datos desde una API?Responde una pregunta del chat sobre Google Ads: normalmente se obtiene una credencial/API key y se consume por REST. Menciona el ejemplo de Google Maps y que en AWS también se pueden crear API keys con roles y permisos.
- 11:25AWS Lambda y "serverless"Contrasta instanciar una máquina virtual (parches, sistema operativo, usuarios) con serverless, donde solo se escribe el código. Lambda tiene 15 minutos de vida y 10 GB de RAM, soporta Python, Node, Java y Go, y se despliega vía GitHub con logs en CloudWatch. Se menciona Boto3 y AWS Data Wrangler (SDK de pandas para AWS).
- 17:15Qué son roles en AWS, su diferencia con perfiles profesionales y quién se encarga del deploymentLos roles en AWS son permisos asignados a recursos, no a personas. Un error de permisos puede apagar una base de datos en producción y costar miles de transacciones, por eso se aplica mínimo privilegio. Menciona los perfiles de despliegue de modelos (posiblemente ML engineers).
- 20:26Por qué no dar permiso a \
- 22:27Cómo es la documentación de AWSLe ha sido muy útil, sobre todo para CloudFormation (infraestructura como código) y para "recetas" de flujos. Reconoce que es extensa.
- 24:15Cómo ejecutamos estoLambda se activa de varias formas: por endpoint de API (hay APIs de 100 a 400 ms), por eventos (por ejemplo la llegada de un PDF o CSV a S3, o un valor en DynamoDB) y manualmente desde la consola. Explica el cold start (medio segundo a 2 segundos) y estrategias para mantenerla activa, como concurrencia provisionada o un cron.
- 28:10Cómo comenzar a AWS sin abrumarsePara alguien nuevo no recomienda partir por la documentación sino por videos de YouTube con muchas vistas, y cursos (Udemy). Sugiere hacer proyectos, por ejemplo API Gateway + Lambda + RDS, y luego DynamoDB. Menciona Amazon Bedrock, CodeWhisperer y ChatGPT como ayudas.
- 31:47CostosAconseja crear alertas de facturación en CloudWatch. Advierte sobre la Lambda recursiva (escribir el resultado en la misma ruta que dispara el evento), que puede generar cargos de miles de dólares en pocas horas.
- 33:45Qué áreas de AWS son más fáciles para entrar?Datos en AWS tiene una curva abordable (un par de meses), mientras que seguridad y redes son más complejas. Todo se despliega automatizado vía git y con infraestructura como código (CloudFormation). Cuenta que las grandes aplicaciones usan los mismos servicios, lo que cambia es cómo se construyen. Estima que una plataforma puede costar 30 a 60 dólares mensuales.
- 38:14Sirven las certificaciones?Tomó 12 días consecutivos de clases de AWS que le abrieron la mente. Para elegir entre servicios (por ejemplo RDS vs DynamoDB) se basa en pruebas y experiencia, como la concurrencia de 1000 ejecuciones en paralelo.
- 41:21Qué pasa si un día deciden dejar AWS por un competidor menorRespondería hablando con quien tomó la decisión para entender la justificación. Personalmente no aprendería Oracle y seguiría con AWS, comparando con la longevidad de Java.
- 44:43Cuales son tus servicios de AWS favoritos además de LambdaAPI Gateway, AWS WAF, DynamoDB, RDS y S3. También menciona VPC y otros servicios de base que hay que pagar aunque no sean favoritos.
- 46:35MemesSesión de memes: infinito menos infinito, un tutorial de AWS con código duplicado, nombres creativos de los servicios (Bedrock, Route 53, Redshift), gastos accidentales en AWS y la analogía de construir una casa en una colina.
- 53:40Qué te motivó para meterte en esto?Lo motivaron los desafíos y el reto personal; cuando le pidieron construir microservicios sin conocer Lambda ni RDS, estudió intensamente. Afirma que nunca es tarde para entrar a la nube, por la digitalización y automatización de las empresas, y que incluso SAP se está montando en la nube.
- 01:00:45Experiencia en startupSin necesidad de un equipo, una persona puede levantar una plataforma con cursos y práctica. Ha integrado Mercado Pago, WhatsApp y React Native por su cuenta. En la startup Terradomus (horas de kinesiología) usan Lambda, API, base de datos, VPC privada y un modelo de IA para recomendar al kinesiólogo.
- 01:07:00Cómo diseñar la soluciónParte de las funcionalidades que pide el negocio y va diseñando "cajitas" de servicios. Menciona su piloto con GraphQL y Lambda, que permite pedir solo los campos necesarios frente a REST.
- 01:09:56Cómo balanceas esto con tu vida personalReconoce que invirtió varios años en estudiar y programar hasta la madrugada, con el apoyo de su esposa. Ahora, con su hija, el foco es la familia, y aconseja usar el entorno como termostato.
- 01:13:16Hacia dónde visualizas tu futuro?Cree que el rol de desarrollador mutará o desaparecerá con la IA, pero el de arquitecto no, porque requiere razonar y conocer los datos de la empresa. Quiere seguir como software architect perfeccionándose en AWS.
- 01:16:44CierreAgradecimientos, contacto por LinkedIn (pide mencionar enCoders) y anécdotas de errores en producción: en noviembre de 2023 se borró una base de producción y hubo diferencias de precios. La plataforma pasó de soportar 2.000 clientes a 260.000. Se despiden e invitan al Discord.