Thursday, November 23, 2023

Build for Operations

Algunas propiedades del software desarrollado pueden tener un impacto muy importante en la operación del software.

  • Threat Modeling
  • Configuration
  • Secrets
  • Paranoiac Telemetry
  • Logging
  • Metrics and Observability
  • Monitoring and Alerting

Fuente: The Art of Agile Development, 2nd Edition


Mensajes de Log



  • Los mensajes de log sirven para diagnosticar un comportamiento no esperado.
  • Hay que tener la precaución de implementar los mensajes de log antes de enfrentar los problemas. Es decir, mientras estamos contruyendo la aplicación. De tal forma, que cuando surjan los problemas podamos tener herramientas de diagnóstico.
  • El diseño básico consiste en que mi código escriba mensajes en el Log a través de un Logger. Un logger es un componente de infraestructura
  • Nuestra aplicación le va a enviar distintos tipos de mensajes al Logger: error, warn, info, debug, trace, fatal, etc.

  • Todo los componentes de Log siguen el mismo diseño conceptual, es decir, en términos de los conceptos que maneja: Level, Formatter y Handler.

  • Handler: Determina el destino del mensaje. Ejemplo: archivo, consola, etc. 
  • Formatter: Formatea el mensaje.
  • Level



Fin


Tuesday, November 7, 2023

system design interviews

Aquí dejo unos links interesantes para prepararse para las entrevistas de diseño de sistemas:

  • https://www.karanpratapsingh.com/courses/system-design
  • https://blog.bytebytego.com/



API Gateway with ASP.NET Core

Grandes preguntas: ¿Repites mucho código en cada nuevo microservicio? ¿Haces que tus frontends llamen múltiples endpoints para obtener lo qu...