Archive for septiembre, 2014

Finagle, el balanceador que le ayuda a Twitter escrito en Scala

jueves, septiembre 4th, 2014

Es imposible explicar la necesidad de un balanceador de carga, o la de implementar tecnologías avanzadas, salvo que pertenezcas a empresas como twitter que tiene un alto numero de usuarios y que además su servicio es utilizado concurrentemente.

El pensar que ellos en promedio tienen 500 millones de twits te hace pensar que no tienen un solo servidor, y además la aplicacion debe ser agnostica al nombre de este, en muchos casos le exige a su departamento de ingenieria la ocurrencia de utilizar nuevas tecnologías, y si ya no existen, inventarlas.

Es asi como twitter utiliza una tecnología llamada Finagle, que es un RPC implementado sobre JVM que permite crecer y escalarse a mnultiples servidores.

Esta escrito en Scala (por lo tanto en Java… ya hablare de Scala mas adelante) y lo que hace es utilizar la infraestructura de forma de distribuir la carga en los servidores que estan activos y asi procesar la información.

Su arquitectura se espresa a traves de este diagrama:

Finagle

Como Autoscale ayuda a Facebook a ahorrar energia

jueves, septiembre 4th, 2014

Una de las preguntas que me hacen recurrentemente es que hace un arquitecto… La respuesta es de esas que son muy simples y muy complejas a la vez.
Se debe preocupar transversalmente de todo, es decir de que y como lo hace un programador, del que y como se libera una aplicación, en que sistema operativo debiese ir, en que hardware debiese estar, pero cuando todo eso a ya ha sido superado, cuanta energia se gasta.

Este es el caso de Facebook, en donde yo creo que varios temas de desarrollo estan solucionaods y temas de arquitectura ya están sanjados, pero hoy la pregunta es como pago la cuenta de luz a fin de mes, y en esto ayuda Autoscale que es un balanceador desarrollado por gFacebook para darle carga a los servidores que ya tienen algo de carga, con lo que ahorran energía.

La idea es la siguiente (puedes leerla en inglés desde el mismo Facebook) Si un servidor desocupado consume 60watts, uno medianamente ocupado consume 130watts y uno muy ocupado consume 150watts, se tiene que pasarle una petición a uno desocupado hace que pase a gastar más del doble, por lo que la decision de pasarle una peticion a uno medianamente ocupado, es una buena idea.

Autoscale

Por eso la implementación de autoscale se basa en pasarle peticiones a servidores que estan medianamente ocupados y asi gestionar las peticiones, cambiando el Round Robin, por esta heuristica, lo que logra el ahorro de energía y un menor costo en la cuenta de luz.

Referencia

Making Facebook’s software infrastructure more energy efficient with Autoscale

Eclipse: Como una pequeña introducción

jueves, septiembre 4th, 2014

Aqui un video que muestra desde el comienzo como descargar e instalar eclipse. En esta caso se descarga la version JEE.

Conectarse con una VPN Cisco a través de VPNC en CEntOS

jueves, septiembre 4th, 2014

Primero deben recordar conectarse a los repositorios necesarios debido a que vpnc no esta en todos los repositorios.
Personalmente instale epel-release-7-1.noarch.rpm como repositorio antes de hacer la instalación de vpnc.
Luego de la instalacion del repositorio solo tuve que hacer

yum install vpnc

Y listo.
El detalle llego después debido a que para conectarme mis clientes me entregan su archivo PCF, por lo que tuve que seguir los siguientes pasos para hacerlo:

wget https://svn.unix-ag.uni-kl.de/vpnc/trunk/pcf2vpnc
chmod +x pcf2vpnc 
mv pcf2vpnc /usr/local/bin/
pcf2vpnc vpn.cliente.cl.pcf > vpn.cliente.cl.conf
vpnc vpn.cliente.cl.conf
//todas las cosas que tenia que hacer
vpnc-disconnect

No he tenido ningun problema hasta el momento.