GNU/Linux, Open Source, Cloud Computing, DevOps y más...

Cómo ampliar el tamaño de un volumen EBS y de una partición ext4 en AWS

No hay comentarios

Logo AWS EBSCuando se nos llena completamente el sistema de ficheros de una partición ext4 alojada en un volumen EBS de Amazon Web Services y no podemos hacer nada por liberar espacio al no querer perder ninguno de los datos almacenados, el único remedio que nos queda es ampliar el volumen y hacer crecer la partición asociada hasta el 100% de su capacidad para disponer nuevamente de espacio libre de almacenamiento.

DanielCómo ampliar el tamaño de un volumen EBS y de una partición ext4 en AWS

Desbloquear la línea de comandos de Linux tras pulsar Ctrl+s en Bash

No hay comentarios

Ctrl+SDado que la combinación de teclas Control+s es muy utilizada como atajo para la opción de Guardar ficheros en aplicaciones gráficas como editores de texto, editores de imágenes, navegadores web, etc. a veces nos traiciona el subconsciente cuando estamos trabajando desde la línea de comandos de Linux y utilizamos esa misma combinación de teclas cuando estamos por ejemplo editando un documento con Vim con la intención de guardarlo. A partir de ese momento observamos que ninguna tecla responde, la shell se ha bloqueado y ya no podemos hacer nada más en ella y nos entra un sudor frío porque no podemos acceder al documento que estábamos editando y no podemos salvar los cambios.

DanielDesbloquear la línea de comandos de Linux tras pulsar Ctrl+s en Bash

Acelera tu web con un botón «Me gusta» de Facebook SUPERLIGERO

No hay comentarios

facebook-like-buttonSuele ser habitual querer introducir un botón «Me gusta» de Facebook en nuestro sitio web de forma que por un lado mostramos el número de seguidores que tiene nuestra página de Facebook y por otro lado invitamos a su vez al usuario a hacer clic en él para empezar a seguir nuestra página. Sin embargo, este tipo de botones suelen cargar bastante un sitio web ya que consisten en un código Javascript que genera dinámicamente dicho botón con el número actualizado de seguidores y con la funcionalidad necesaria para hacer «Me gusta». Esto se traduce en que cada vez que carga una página de nuestro sitio web se tienen que realizar 11 peticiones extras a los servidores de Facebook para descargarse todos los elementos necesarios. Dado que además a día de hoy dichos servidores se encuentran en la costa oeste de Estados Unidos y no están disponibles a través de ningún servicio de CDN o similar, dependiendo de donde se encuentre el usuario es probable que cada una de esas peticiones tenga que atravesar la mitad del globo para completar la descarga. Todo esto provoca que nuestro sitio web se ralentice innecesariamente y su velocidad de carga se vea afectada, lo cual es bastante negativo en varios aspectos.

¿Qué tal si pudiéramos sustituir el botón que proporciona Facebook por una única y sencilla imagen del mismo botón que muestre en todo momento el número actualizado de seguidores de nuestra página de Facebook? Sería fantástico de cara a la optimización del rendimiento web o WPO, pues tan sólo sería necesaria una única petición adicional al servidor, y además ésta se podría servir rápidamente desde una CDN muy próxima a la localización geográfica del usuario, cacheándose además durante un tiempo. De este modo podríamos conseguir que la velocidad de carga de nuestra web continuara siendo muy alta y sin penalizaciones en el rendimiento.

¿Cómo puede conseguirse esto? Parece una solución win-win demasiado buena para ser cierta… Pues puede conseguirse de una forma mucho más sencilla de lo que crees gracias a la librería Imagemagick y un simple script en Bash. Sigue leyendo…

DanielAcelera tu web con un botón «Me gusta» de Facebook SUPERLIGERO

Cómo obtener un token o identificador de acceso permanente a una página de Facebook

8 comentarios

Mediante las siguientes instrucciones puedes obtener de forma sencilla un access_token permanente para poder conectar de forma automática tus aplicaciones con una página de Facebook y poder así obtener por ejemplo su número de seguidores períodicamente, obtener nuevos likes o comentarios en tiempo real, realizar publicaciones en el timeline, o cualquiera de las posibilidades que nos ofrece la API de páginas de Facebook.

DanielCómo obtener un token o identificador de acceso permanente a una página de Facebook

Aplicación web para subastas de coches online y presenciales

5 comentarios

Este fue un proyecto muy interesante relacionado con el mundo del motor en el que lideré un equipo técnico de 4 personas en el diseño y desarrollo de una completo software enfocado a realizar subastas de coches tanto de forma online como de forma presencial en una nave industrial especialmente acondicionada para esta misión. Lamentablemente, a pesar de lo bonito del proyecto y de tratarse de una startup con mucho potencial y un gran equipo humano de casi 20 personas, la aplicación no pudo llegar a utilizarse en un escenario real porque la empresa se disolvió antes de poder empezar su verdadera andadura por diversos problemas a nivel comercial y de gestión.

Sin embargo, a nivel técnico la aplicación se implementó y se desplegó completamente, cumpliendo muy satisfactoriamente los requisitos y objetivos planteados inicialmente. Se tomaron como modelos principalmente las aplicaciones de subastas de automóviles de BCA y de Autorola y también otras como CarsOnTheWeb, ManheimEurocarBidSubastacarSubasto mi Coche, etc. Creo humildemente que conseguimos mejorarlas en varios aspectos.

DanielAplicación web para subastas de coches online y presenciales

¿Cuál es el verdadero significado de los valores medios de carga y de utilización de CPU en Linux?

2 comentarios

El valor medio de carga es una métrica muy importante para comprender el comportamiento de un sistema Linux, y sobre todo su estado actual y en el pasado reciente. Muchas veces hay confusión entre su significado y el del porcentaje de uso de CPU, pero en realidad son importantes las diferencias. En este artículo trato de explicar el verdadero significado de ambos y cómo saber si una máquina Linux se encuentra sobrecargada o infrautilizada.

Daniel¿Cuál es el verdadero significado de los valores medios de carga y de utilización de CPU en Linux?

La importancia de particionar correctamente un disco en Linux

41 comentarios

Linux disk partitionSoy un firme defensor de la simplicidad y del principio de que menos es más, pero en cuanto a la seguridad y el rendimiento de los sistemas de información se refiere, debemos ser capaces de encontrar un equilibrio entre mantener las cosas sencillas y exponernos lo mínimo posible a potenciales amenazas al mismo tiempo que tratamos de obtener las máximas prestaciones de los elementos que configuran nuestro sistema.

Viene siendo una práctica habitual que las distintas distribuciones de Linux, e incluso las imágenes a partir de las que poner en marcha instancias de servidores virtuales Linux como en el caso de las AMI’s de AWS, implementen por defecto un esquema de particionamiento de lo más simple basado en una única partición que ocupa todo el disco. Es en esa única partición donde se monta el sistema de ficheros raíz (/) y en el que se integran los principales directorios que configuran el sistema de ficheros de un sistema operativo Linux.

Pero una de las características de Linux es precisamente que permite ser enormemente flexible a la hora de ubicar cada uno de esos directorios en distintas particiones o en distintos discos si es necesario.

DanielLa importancia de particionar correctamente un disco en Linux

Diferencias entre CPU física, CPU lógica, Core/Núcleo, Thread/Hilo y Socket

12 comentarios

Cuando tratamos de conocer la arquitectura y prestaciones a nivel de CPU de una máquina mediante comandos Linux como nproc o lscpu, muchas veces nos encontramos con que no somos capaces de interpretar sus resultados porque confundimos términos como CPU física, CPU lógica, CPU virtual, núcleos o cores, threads, sockets, etc. Si a esto le añadimos conceptos como HyperThreading (no confundir con multithreading), llega un momento en que ya no podemos estar seguros de cuántos cores tiene nuestra máquina, no entendemos por qué comandos como htop nos indican que tenemos 8 cpus cuando creíamos que habíamos comprado un único procesador quad-core, etc. En fin, un lío.

DanielDiferencias entre CPU física, CPU lógica, Core/Núcleo, Thread/Hilo y Socket