Algo que nos puede traer de cabeza como administradores de sistemas y, a veces como usuarios es el hecho de que un proceso se coma, devore y trate sin piedad la CPU de nuestro sistema. Ya no solo el hecho de que un programa deje inservible el ordenador, aunque a día de hoy con tantos núcleos de procesador, casi siempre tendremos algo de CPU para enviar una señal de parada a un proceso.… Leer artículo completo
Limitar el uso de CPU de nuestras aplicaciones o procesos en GNU/Linux (señales, nice, cpulimit/cputool, cgroups, systemd slices)
Cómo utilizar PHP desde contenedores docker tanto de forma local como en producción
Una de las medidas más importantes que debemos tomar a la hora de realizar proyectos de programación, sobre todo en equipo, es asegurarte de que todos tienen el mismo entorno de trabajo. Si nos referimos a un entorno de aplicaciones en PHP, todos los miembros involucrados deberán tener la misma versión de PHP, las mismas extensiones y la misma configuración del sistema. Además, esas mismas configuraciones deberían ser las mismas en los entornos de test y producción, aunque en producción quitemos las herramientas de debug o depuración.… Leer artículo completo
Cómo actualizar /etc/hosts con todos los contenedores docker que hay en ejecución
Si tenemos varios contenedores docker arrancados en nuestro ordenador. Muchas veces, nos interesará conectar con servicios corriendo dentro de cada uno de ellos. Algunos estarán lanzados simplemente con docker, otros con docker-compose, cada uno trabajando en un sistema distinto, y necesitamos una forma más o menos sencilla de acceder a cada uno de ellos.
Con un pequeño script podemos recorrer todos los contenedores, pedir la dirección IP de cada uno de ellos y añadirlas al nuestro archivo /etc/hosts de forma que este archivo se actualice automáticamente cada vez que lanzamos el comando.… Leer artículo completo
Cómo crear milters en Python y configurar Postfix para filtrar correo
Una de las herramientas fundamentales a la hora de montar nuestro propio servidor de correo es la implementación de filtros (Mail Filters) para seleccionar de forma eficiente el correo que vamos a procesar. Entre otras cosas, podremos:- Hacer más eficiente nuestro servicio ya que enviaremos solo los correos que cumplan unas determinadas reglas (eliminan SPAM, virus y otros tipos de cosas que no queremos recibir.
- Modificar ciertos mensajes para automatizar procesos en nuestra compañía, por ejemplo, añadir destinatarios en copia automáticamente, añadir una cabecera adicional al correo, incluir un sistema de seguimiento al mensaje…
- Monitorizar el número de correos recibidos y enviados por el servidor.
Monta microservicios web rápidamente en Python con web.py
Python es uno de los lenguajes de moda. En sus múltiples usos: para escritorio, aplicaciones científicas, web, scripting y mucho más. Algo que también está de moda son los microservicios. Grosso modo, un microservicio es un componente independiente que implementa una funcionalidad de nuestra aplicación. Será una pieza de un puzzle mayor que, dadas unas especificaciones, podremos mejorar, reescribir, cambiar de lenguaje, utilizar bases de datos diferentes, etc.Y como ambas tecnologías están de moda, vamos a juntar lo mejor de los dos mundos y combinarlo.… Leer artículo completo
Knock, knock, knockin’ on server’s ports – Port knocking con ejemplos
¡Tenía muchas ganas de escribir este post! De hecho, hay muchas personas a las que les he hablado de la técnica port knocking y me he tenido que poner a buscar un ejemplo que me convenciera por Internet. ¡Ya no tengo excusa! Y, como siempre, intentaré incluir varios ejemplos para copiar y pegar sin miedo explicados para no perder detalle.¿Qué es el port knocking?
Imaginad que en mi servidor tengo activo un servicio privado, al que no quiero que nadie acceda, sólo yo.… Leer artículo completo
Aplicaciones web sin servidor, o casi (arquitecturas serverless)
¿Cómo es esto posible? Si tenemos una cosa clara en el mundo de Internet es que si queremos tener en pie un servicio, éste debe estar alojado en una máquina que esté conectada a Internet, con energía y que nos asegure en cierta forma que está levantada. Estos servidores pueden ser de diversos tipos según las necesidades de la aplicación: web, base de datos, autentificación, tareas, logs, notificaciones, etc. Así que, ¿qué es esto de aplicaciones sin servidor?… Leer artículo completo7 Servicios online para compilar, ejecutar y ver la salida de pequeños programas
Cuando estamos aprendiendo a programar o, cuando estamos probando algún pequeño código que hemos encontrado en Stack Overflow nos viene muy bien tener a mano un lugar para compilar rápidamente y ver qué sucede. Es más, incluso se nos puede presentar el caso de que una versión específica de un compilador tiene un fallo que nos trae de cabeza y nos vendría bien probar otra versión para salir de dudas.Actualmente hay multitud de páginas que nos dan la posibilidad de compilar pequeños programas online y probar la salida de los mismos sin necesidad de tener que compilarlos nosotros (no imagináis la de pruebaX.c y pruebaX.cc que tengo en mi disco duro para cosas pequeñas de unas pocas líneas).… Leer artículo completo
Balanceo de carga con Amazon Web Services Elastic Load Balancer. Ejemplos, consejos y trucos.
Cuando montamos un servidor web y los servicios que proporcionamos se hacen mayores (mayor cantidad de usuarios accede a ellos), inevitablemente debemos seguir una maniobra de escalado para dichos servicios. Tenemos muchas opciones, podemos tener servidores dedicados, o como primer paso utilizar servidores VPS como pueden ser DigitalOcean o Amazon AWS. En DigitalOcean, como muchos otros, tendrás que montarte tú todo, es decir, montar tu servidor e instalar HAProxy, Nginx, Apache (o el que quieras) en modo balanceador de carga, de modo que cada petición que entre será desviada a algún nodo web que tengamos conectado.… Leer artículo completo
Últimos comentarios