En mi trabajo estamos renovando el proveedor de infraestructura de nuestros servicios. Al migrar las máquina nos estamos encontrando servicios desorganizados, en varios lenguajes y en versiones antiguas. Uno de estos servicios es un frontal PHP mugriento, y lo migramos rápidamente en un contenedor usando el servidor incorporado de PHP.
Tras cambiar de equipo de trabajo, me encuentro con un repositorio de información procedimental consistente en una carpeta compartida con varias versiones de documentos que hacen referencia al mismo procedimiento. Esto convierte la tarea de buscar un procedimiento en un infierno, por no mencionar el gran esfuerzo de mantenerlos actualizados.
Cuando usamos integración continua o despliegues en varios servidores y usamos docker, se hace importante tener una fuente de imágenes de donde descargar las nuestras propias. Aquí entra en juego la confidencialidad, y es necesario pagar la capa privada de un registro, o podemos simplemente crear un registro nuestro propio.
Hace unas semanas, hablamos de un balanceador que trabaja muy bien con docker. Se trataba de traefik y nos permitía olvidarnos de su configuración, que él mismo podía extraer de los metadatos de los contenedores y reconfigurarse dinámicamente. Hoy vamos a explicar como funciona con un cluster de docker swarm.
Ya vimos en otros artículos lo fácilmente que podemos utilizar dnsmasq en un gateway para ayudar a los servidores a que se conozcan entre sí por nombre y como una forma de ocultar el DNS real de la red interna. Sin embargo es una caché excelente para un sistema aislado.
Lo he vuelto a hacer: a pesar de que es una antipráctica de docker, me veo tentado a ejecutar varios servicios en mis contenedores. Solo lo hago cuando estos servicios tienen un objetivo común, como servir PHP (nginx/php-fpm); para ello necesitamos un gestor de procesos. Hoy hablaremos de s6.
Cuando escalamos nuestros servicios o añadimos nuevos en Docker, suele ser un problema la configuración del balanceador. Se necesita modificar su configuración y reiniciarlo para que la nueva configuración aplique. Con el tiempo han aparecido nuevas soluciones para simplificar estos casos, con configuraciones dinámicas. Una de estas soluciones es Traefik.
Es muy cómodo dejar un fichero en una carpeta local y saber que ese fichero está a salvo, en la nube; seguramente los que utilizáis un servicio de sincronización en la nube váis a estar de acuerdo. La empresas no suelen permitirlo, pero podéis utilizar un servicio local por SSH.
Un requerimiento de seguridad estándar en mi trabajo, es que los servidores SFTP no permitan la autenticación con passwords normales, y estamos obligados a usar autenticación por claves. El otro día tuvimos una queja de un usuario que no podía entrar porque había eliminado su carpeta .ssh de forma consciente.
Estaba yo el otro día investigando una nueva librería de python, pero necesitaba de otra librería que se compilaba. Harto de perder el tiempo compilando cada vez esta librería, recuperé un antiguo artículo que me permitía distribuir el archivo wheel ya compilado tantas veces yo quisiera; como no, usando docker.