Tras revisar un bug de cierto proceso en background de una aplicación en mi trabajo, vimos que saltaban dos ejecuciones simultáneas y los dos procesos interferían entre ellos. Implementar una exclusión mutua en el proceso era costoso, así que opté por hacerlo con un comando linux, que descubrí por internet.
Hace tiempo que me recorre la idea de crear un motor genérico de blogs. Son varias las veces que he empezado alguno aprovechando los frameworks, especialmente de python. Todas ellas han acabado en la papelera por falta de ganas. Finalmente me di por vencido y decidí utilizar algo ya hecho.
Ya vimos en un artículo anterior como levantar túneles SSH para llegar a través del protocolo SSH, a destinos que no están alcanzables normalmente. Esto está muy bien para aplicaciones puntuales, pero si tenemos que usar esos túneles una temporada, y deseamos que se mantengan levantados, ya es mas difícil.
No hay nada mas visualmente atractivo que ver nuestros servidores en tiempo real mediante gráficos temporales, y existen algunas buenas herramientas ya hechas. Necesitaremos un agente que recolecte los datos del servidor y los envíe a una base de datos temporales, para que se pueden dibujar en una página web.
Todos conocemos las bondades de SSH cuando se trata de acceder a un servidor remoto con una sesión interactiva. Sin embargo, pocos conocen otra habilidad que este servicio nos ofrece: encapsular tráfico de cualquier protocolo a través de un túnel SSH, cifrando nuestro tráfico y pasando potencialmente por otro puerto.
Docker es una gran herramienta para levantar contenedores aislados, pero en el mundo real nos encontramos con despliegues mas complejos, que requieren varias imágenes trabajando en conjunto. En este caso, levantar los contenedores puede ser una auténtica pesadilla. Para automatizar estos casos podemos utilizar un orquestador, como por ejemplo, docker-compose.
El otro día me encontraba en mi trabajo con otra petición muy especial: se necesitaba un check para Nagios que contara las apariciones de cierto tipo de errores en un fichero de log. Ese check debía saltar en función de cuán alejado estaba el valor de las últimas 100 muestras.
Cuando montamos un contenedor Docker para servir una aplicación cualquiera, solemos poner un montón de dependencias necesarias solamente para compilar el paquete o para empaquetar sus librerías. Esto supone un gasto innecesario en espacio y en tiempo de ejecución; usando contenedores desechables podemos agilizar este proceso de forma altamente considerable.
El otro día recibí una petición diferente en mi trabajo. Se necesitaba monitorizar una carpeta, de forma que cuando alguien dejara ficheros, se lanzara una tarea para procesarlos. Tras buscar un poco por internet, topé con una herramienta tipo cron, que ejecutaba comandos ante eventos en el sistema de ficheros.
Somos muchos los amantes del terminal para ejecutar nuestras tareas, sea con Ansible o con otras herramientas. A veces nos puede convenir dotar la herramienta de un entorno gráfico o web para que lo hagan otras personas. Aunque ya existe como producto Ansible Tower, su precio es prohibitivo para muchos.
«« « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 » »»