Docker


La vida de un DevOps está llena de palabros raros. Uno que suena mucho últimamente es el de Docker, pero... ¿qué es exactamente? ¿Por qué está tan de moda?

En este post contaré cómo lo veo yo y por qué no sólo que los Docker han venido para quedarse, sino que están revolucionando la industria.

Leer más…


Puppet templates hint: quitando espacios


Aquí tenéis un truco para quitar espacios en las plantillas de Puppet o en un ERB en general: utilizar <%- y -%> en lugar de <% y de %>, respectivamente.

Bueno, claro, esto está en la documentación :)

El problema es que hay veces que no tenemos nada que añadir y queremos quitar los espacios, o tenemos líneas demasiado largas. En estos casos no hay problema, porque podemos añadir la cadena <%--%>, que eliminará todo desde el comienzo o final de línea, incluyendo los saltos de línea.

No es que sea lo más bonito del mundo, pero funciona.

Veámoslo con un ejemplo:

Leer más…



Yapsy, un sistema de plugins pythónico


Me gustan los programas que pueden evolucionar. Un reproductor de vídeo debe evolucionar a medida que lo hacen los formatos de vídeo, adaptándose a los nuevos.

Además, me gustan los programas que puedo extender. Añadir nueva funcionalidad que los desarrolladores originales no pensaron en su momento.

Éstas son dos de las aplicaciones de los plugins, y podemos tenerlas de una forma muy sencilla en Python mediante Yapsy

Yapsy nos ayuda a la gestión de los plugins mediante la búsqueda, carga y gestión automáticas. Veremos también que las creación de nuevos plugins es ridículamente fácil.

Leer más…


Gráficas basadas en tiempo: Graphite


En esta ocasión voy a escribir sobre Graphite, una utilidad para generar gráficas basadas en tiempo.

Una vez tengamos Graphite instalado, se podrá utilizar para distintos usos: contar las visitas a una web, contar las ejecuciones de un programa, medir el tiempo de ejecución de un programa, ...

Veremos que es un programa sencillo de manejar, pero muy potente.

Leer más…


Creando tu propia Entidad Certificadora SSL (y volcando certificados autofirmados)


Otro artículo que no es mío original, pero sinceramente, la idea que tengo de certificados es la justa. Este artículo ma ha parecido que va al grano y que cuenta por qué aparece el incómodo mensaje de "certificado no confiable" y cómo evitarlo.

El artículo original es Creating Your Own SSL Certificate Authority (and Dumping Self Signed Certs), y creo que el autor es Tony Bourke, mirando los comentarios.

Espero que os parezca tan interesante como a mí, aunque el último ejemplo lo he añadido sólo por completitud.

Leer más…


Colas de mensajes: RabbitMQ


Cuando se desarrolla una aplicación y ésta comienza a crecer, a menudo necesitamos interconectar distintos componentes. En estos casos se utiliza un middleware que nos permita comunicar las distintas piezas.

Una opción es usar una cola de mensajes. No es el mecanismo más rápido, pero probablemente sí el más sencillo, y permite realizar acciones de forma asíncrona.

Y un gestor de colas de mensajes sencillo, robusto y muy utilizado es RabbitMQ.

Leer más…



En busca de los cinco 9s: Calculando la disponibilidad de sistemas complejos


Este artículo es la traducción del artículo In search of five 9s: Calculating Availability of Complex Systems, publicado por un tal Bill el 29 de Octubre de 2007. Dado que el artículo original tiene demasiado texto, me he visto obligado a modificar la maquetación y añadir títulos.

Puede parecer un poco largo, pero es realmente interesante. Aunque tiene muchas fórmulas es sencillo de entender, gracias a los ejemplos.

Y he elegido este artículo porque con el cloud que está tan de moda resulta sencillo y relativamente barato redundar máquinas.

Además, éste es el tipo de artículos que realmente me hacen sentir como Ingeniero.


Leer más…


Peewee, un ORM para Python


Estoy acostumbrándome a usar Django para casi todo, y su ORM para acceder a la base de datos. Es muy completo y permite evitar tener que escribir SQL a mano, añadiendo la posibilidad de cambiar de motor de base de datos sin que sea traumático.

Sin embargo, a veces necesito guardar cosas en disco desde programas de línea de órdenes, y no me parece bien depender de Django para algo así. En estos casos suelo usar Shelve, de la librería estándar, pero no es lo suficientemente versátil: no admite concurrencia.

En este post voy a explicar cómo utilizar Peewee como ORM.

Leer más…