Balanceo con Hash Consistente

Últimamente he estado trabajando en sistemas que requieren de un sistema de balanceo ciego. Esto quiere decir que no conocemos el número de carga soportada en cada sistema, lo hacemos a través de un algoritmo matemático basado en la probabilidad, e incluso parece fácil, muchos lo usan en aplicaciones: cliente para memcached, o como el CEO de Travis-CI. ¿Conocías este sistema?

Leer más =>>

Publicación y Subscripción en PostgreSQL

De aquí a un tiempo he encontrado muchas empresas solicitando integrar el sistema de Pub/Sub de Redis en su arquitectura para conseguir agregar capacidades de chat. ¿Sabías que esto mismo podía hacerse en PostgreSQL?

Leer más =>>

La Hora en Erlang

Cuando hablamos de Erlang y enumeramos sus características entre ellas aparece el tiempo real blando (soft realtime). Erlang se ejecuta en una máquina virtual que tiene una gestión de procesos, memoria y acceso a recursos, pero lo que no había citado hasta el momento es su capacidad para controlar los eventos horarios. Sí, tiene gestión horaria dentro de su máquina virtual también, ¿para qué?, ¿cómo funciona?

Leer más =>>

Conectores de Mysql en Erlang

Si te encuentras en la necesidad de conectar tu proyecto de Erlang/OTP con Mysql y tienes dudas de cual es el mejor driver para utilizarlo te comentamos algunas de las especificaciones, ventajas y desventajas de cada uno de los controladores que se han desarrollado y que se encuentran disponibles en Internet.

Leer más =>>

Horario del Gerente, Horario del Programador

Hoy he tenido una reunión en la que me han mencionado el problema de la planificación del tiempo. El problema parte de cómo se gestiona en sí el tiempo disponible y cómo lo hacen dos perfiles dentro del mismo entorno, un manager, gerente o directivo por un lado y un programador, creador o fabricante por otro lado. ¿Cuál es la diferencia?

Leer más =>>

Industrial Erlang Users Group

Este año hemos comenzado con fuerza. Volví a España para dedicarme más de lleno a Altenwald, haciendo nuevos contactos, más clientes en el extrangero y para afianzar el compromiso adquirido con Erlang/OTP, Altenwald Solutions ha pasado a formar parte del Industrial Erlang Users Group.

Leer más =>>

Virtualizando: Xen vs KVM

Uno de los últimos proyectos que he realizado últimamente ha tenido como punto fuerte y principal las estadísticas (usando graphite y collectd principalmente) y paravirtualización empleando Xen (a través de los servicios de Amazon). De pronto un problema de rendimiento. ¿Por qué un incremento en E/S eleva tanto el uso de la CPU en Xen?

Leer más =>>

Graphite: Monitorizando Servidores

En 2014 uno de los principales problemas que surgió en el proyecto que estuve realizando en Finlandia fue la poco o nada visualización que teníamos de los servidores, la carga de trabajo, los usuarios en cada momento del día, ... Estábamos ciegos. Cuando un sistema se caía, monit se encargaba de levantarlo pero, ¿por qué se caía?, ¿podemos adelantarnos o saber cuándo podría suceder?

Leer más =>>

RabbitMQ In Action

Este año he comenzado leyendo. Al igual que muchos, me he propuesto aprender nuevos conocimientos y los elegidos para este mes de enero han sido RabbitMQ, Elixir y FreeBSD. El primero lo hago de la mano de Álvaro Videla y Jason J.W. Williams, a través de su libro RabbitMQ In Action. La primera pregunta a resolver: ¿Para qué necesitamos un sistema de encolado de mensajes?

Leer más =>>

Hack: Facebook conquista PHP

Hoy en PHP-Classes he leído un artículo en el que se menciona una posible pugna entre el equipo de desarrollo de PHP y Facebook. Todos saben que Facebook fue construido empleando este lenguaje de programación y que ha invertido tiempo y dinero en desarrollar herramientas que lo mejorasen como HipHop (o HHVM), ¿Quiere Facebook hacerse con el control de desarrollo de PHP?

Leer más =>>

Qué, Cómo... mejor, ¿Por qué?

Uno de los avances más grandes en el desarrollo del software fue el intento de estandarizar, industrializar o sistematizar el proceso de creación del software. Este esfuerzo nos ha llevado a disponer de técnicas de gestión del tiempo, procesos y tareas. Ha evolucionado la generación de software. ¿Qué debemos hacer? Indica el análisis. ¿Cómo lo hacemos? Indica el diseño... pero, ¿Por qué lo hacemos?

Leer más =>>

Bootstrapping o Los Duros Inicios

A lo largo de los últimos meses he aceptado muchos proyectos. Todos los proyectos estimados según la forma de hacer de cada empresa y según sus necesidades. No importa. Pero, ¿qué sucede cuando una empresa solicita una tecnología nueva, en la que no tiene experiencia y necesitan aprender?

Leer más =>>