Pirobits
  

Creando un Uptime-Monitor por 0.10€ con AWS Lambda, Go y ChatGPT-4 [Parte 1]

alberto avatar Alberto Sola · 11/19/2023 · 3 min

Es importante estar atento del correcto funcionamiento de nuestros servidores, ya sea a nivel profesional, side-projects o simplemente como hobby. Existen herramientas en el mercado (uptime-monitors) pero ¿no es interesante aprender cómo funcionan? Por eso, he creado uno utilizando AWS Lambda y el lenguaje de programación Go.

Para mi, crea mi propio monitor de uptime no es solo oportunidad para continuar aprendiendo y probando, también me permite tener un control total sobre la funcionalidad y, más importante, la optimización del sistema (por eso elijo Go). A nivel de coste, sale por unos pocos céntimos (lo analizo en el vídeo en profundidad) siempre y cuando no tengamos en cuenta el coste de oportunidad, el coste de tu tiempo y otros factores que, en mi caso, quedan cubiertos por el aprendizaje y la diversión no sólo de realizarlo, si no de enseñártelo a ti. Además, en el vídeo utilizo ChatGPT-4 para simplificar el proceso y que puedas ver cómo lo utilizo.

Para una comprensión más profunda y visual del proceso, he preparado el siguiente video que puedes ver en mi canal de YouTube, donde puedes ver paso a paso el desarrollo del proyecto.

¡No olvides suscribirte, darle a like y dejar un comentario!

Puedes ver el código en el repositorio de GitHub: bypirob/uptime-monitor.

¿Qué es AWS Lambda?

AWS Lambda es un servicio de computación que te permite ejecutar código sin necesidad de administrar servidores, lo que se conoce como serverless. Esto significa que tu código se ejecuta de forma automática como respuesta a diferentes eventos, sin necesidad de gestionar manualmente (escalar, configurar, aprovisionar, etc) los recursos informáticos que lo respaldan. Con AWS Lambda sólo pagas por el tiempo de computación que consumes.

¿Por qué Go?

Elegí Go por varias razones. Es un lenguaje de programación eficiente y rápido, ideal para aplicaciones que requieren un alto rendimiento y que aprovechen el uso de recursos. Además, Go compila en un único binario, lo que simplifica la distribución y el despliegue en diferentes plataformas. Su sintaxis clara y su soporte para la concurrencia lo hacen perfecto para este tipo de proyecto. Personalmente me gusta la facilidad y la rapidez con la que se desarrolla, lo que lo hace uno de mis lenguajes que más me gustan junto con Python.

También tengo alguna novedad respecto a Rust para otro post/vídeo 😶‍🌫️

Conclusión

Lo he comentado en otros posts, pero Amazon Web Services (AWS) es uno de los proveedores cloud que más utilizo, aunque los precios recientemente me están haciendo replantearme llevar parte de mis side-projects a otro proveedor. Esto da para otro vídeo, así que si estás interesado no olvides suscribirte a la newsletter y a mi canal de YouTube.

Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.


Posts recientes