Estuve en: Agile Open Spain 2011

Este fin de semana pasado se ha celebrado la tercera edición del Agile Open Spain que reunió unos 150 asistentes interesados en las metodologías ágiles. El desembarco de la armada de Plain Concepts fué notable, Vicenç Garcia, Ibon Landa, Gerard Lopez, Alfredo Fernandez y Jose Luis Soria (podéis ver la presentación de su sesión sobre estimación), hay es nada. Propusimos un total de cinco sesiones de los temas más variopintos… y sobre todo creo que disfrutamos un montón. Empezamos cepillandonos un chuletón para comer el viernes y acabamos con una cervecitas en el Puerto Viejo de Algorta ¿alguna manera mejor de hacer equipo?.

Si alguien duda de la calidad del evento y la diversidad de temas tratados no tiene más que echarle un vistazo al panel de sesiones. No tenéis que ver más que los twits sobre le evento.

El panel de la CAS 2011

Os dejo mis impresiones sobre las sesiones a la que acudí aunque lo más interesante en un open space pasa en los pasillos.

Test doubles: stubs, spies y mock de Rubén Bernárdez

¿Por qué usamos dobles? Para evitar dependencias externas, para que los test no sean lentos…

Interesante conversación y debate sobre los diferentes tipos de dobles de test que podemos usar, los diferentes estilos a la hora de usar test, las señales que nuestros test lanzan cuando se rompen…

Especialmente interesante para mi fue la conversación Alberto Peña en la que constaté que tenemos aproximaciones muy diferentes al testeo unitario pero que aun así los dos disfrutamos de la ventaja que tiene escribir test, los escribas antes, durante o después, los uses como herramienta de diseño o como herramienta de calidad.

Os recomiendo una artículo muy interesante que va en la línea de lo hablado en esta sesión: Exploring The Continuum Of Test Doubles.

 

Seducir a las empresas, Raquel Laina y Amalia Hernandez

¿Nos disfrazamos para seducir a las empresas? ¿Se disfrazan las empresas? ¿Es posible no disfrazarse?… Yo defendía que todos estamos sometidos queramos o no, de manera incosciente a la tiranía de la apariencia, de la pose cuando estamos en un proceso de selección, seamos empresa o candidato. Es como ligar, propuse, nadie es la persona que se ver cuando está ligando.

¿Como presentamos el modelo alternativo que supone el agilísimo a las empresas? ¿Comó lograr que este modelo llegue a los procesos de selección? En Plain Concepts algo hacemos, por lo menos no son entrevistas convencionales, hablamos por skype, los traemos a nuestra oficina, comemos con ellos, todo el equipo está en todo el proceso…

¿Está obsoleto el modelo del currículo? Todos tenemos un currículo, es necesario diferenciarse: escribe un blog,… el papel a muerto.

Surgio una idea interesante: Desacreditar la entrevista de trabajo convencional,

Excelente resumen de Xavier Verges sobre esta sesión, en general las notas de su cuaderno sobre la AOS son una caña.

Talento de Israel Alcazar y Raquel Laina

La pizarra lo dice todo…

La pizarra de la sesión sobre el talento

La sesión que yo propuse: Déjame hacer las cosas bien, sobre la deuda técnica

Os dejo la presentación que utilicé, os servirá para situaros sobre los temas que debatimos.

Las notas sobre mi sesión de Frank son el complemento perfecto (también tiene notas muy interesantes sobre otras sesiones).

También en el podcast de Carlos Ble, hablo de la sesión.

El podcast de Carlos Ble

Si bien Carlos Ble, uno de los habituales en estos eventos, no acudió en esta ocasión, ni aun así ha dejado de aportar. El domingo tras el evento se tomo la molestia de preparar un podcast con entrevistas a algunos de los asistentes, entre los que me encuentro. No te lo pierdas, tanto si estuviste como si no, es muy interesante. En las grabaciones podeis escuchar a Vicenç García (@vgaltes), Rubén Bernárdez (@rubenbpv), Jorge Uriarte (@jorgeuriarte), Israel Alcázar (@ialcazar), José Ramón Díaz (@joserra_biko), José Manuel Beas (@jmbeas) y yo mismo.

Un saludo.

Proxy cache con IIS Application Request Routing

Introducción

IIS Application Request Routing (ARR) es una extensión que permite aumentar la escalabilidad y la fiabilidad de las aplicaciones Web desplegadas sobre IIS mediante el enrutamiento de peticiones basado en reglas, permitiéndonos añadir balanceo de carga  o cache de contenidos de manera muy simple.

En concreto nos vamos a centrar en implementar un proxy que actuará como cache aliviando en número de peticiones que recibirá nuestro servidor Web. El proxy cache se sitúa entre el servidor Web y los clientes y cachea a a disco contenidos que de otra manera tendrían que ser descargados desde el servidor Web.

Un uso típico de un proxy cache es actuar con ‘edge server’. Un ‘edge server’ es un servidor más cercano a los clientes que consume el contenido. Supongamos una empresa que tiene una aplicación Web desplegada en La Coruña y que tiene delegaciones en Madrid, Bilbao y Seattle. Supongamos que esa aplicación Web por ejemplo utiliza Smooth Streaming para servir videos. Se hace evidente que contar con un proxy cache en las delegaciones que se encargue de cachear los videos servidos (o cualquier otro contenido pesado) de manera trasparente tendrá un efecto muy beneficioso en varios aspectos: mejorar la experiencia de usuario que tendrá que esperar menos para tener los contenidos disponibles, aliviar la carga soportada por el servidor web y minimizar el consumo de ancho de banda ya que si un contenido está en la cache no tendrá que pedirlo hasta el servidor Web lejano.

Veamos a continuación los pasos necesarios para montar un proxy cache con IIS Application Request Routing.

Instalar IIS Application Request Routing en nuestro IIS

Sin duda la manera más cómoda de instalar ARR es utilizar el Microsoft Web Platform Installer, basta con descargarlo, ejecutarlo y seleccionar Application Request Routing y pulsar el botón Install.

image

Una vez terminada la instalación en Internet Information Server (IIS) Manager, si seleccionamos el nodo raíz de nuestro servidor, veremos un nuevo icono en la sección IIS llamado Application Request Routing Cache.

image

Configurar la caché de disco

Para configurar el lugar donde nuestro proxy almacenara los archivos cacheados pinchamos en el icono de Application Request Routing Cache y veremos la siguiente pantalla.

image

Tras pinchar en Add Drive… podremos configurar la ruta en la que se almacenarán los archivos cacheados.
Precaución: esta carpeta debe existir de antemano, sino no recibiremos ningún error pero la carpeta no se creara y nada se cacheará.

image

Activar el proxy y configurar sus propiedades

Para configurar las propiedades del proxy pinchamos en Server Proxy Settings…

image

En la pantalla Application Request Routing que aparece, para activar el proxy marcamos la casilla Enable proxy

image

El siguiente paso es habilitar la cache en disco y para optimizar la cache para eventos de video online marcar el check Enable request consolidation (más información sobre esta característica).

image

Para lograr que se cacheen peticiones con respuestas de tamaño considerable como por ejemplo porciones de video es necesario incrementar el valor de Response buffer threshold a 2048 KB.

image

Por último en Proxy Type debemos asegurarnos de que están marcados Use URL Rewrite to inspect incoming request y Enable SSL offloading (este último check hará que la comunicación entre el servidor Web y el proxy no se haga por SSL aunque la petición sea SSL si confiamos en la red por la que se realizarán las comunicaciones ahorraremos la carga adicional que supone SSL).

El paso final es introducir en Reverse Proxy la dirección del servidor Web para el que estamos configurando el proxy (p.e.: www.koalink.tv).

image

Ahora solo queda un último paso: que todos los clientes que queramos que usen este proxy resuelvan la dirección del servidor Web a la dirección del proxy, mediante la configuración adecuada del DNS de los clientes o de su archivo HOSTS (c:windowssystem32driversetchosts

Comprobar el funcionamiento del proxy

La primera comprobación que debemos hacer es que el proxy está respondiendo. Para ello simplemente apuntaremos el navegador a http://localhost y debemos recibir exactamente la misma respuesta que si navegásemos directamente al servidor Web directamente.

La segunda es ver que tras un numero significativo de peticiones existen ficheros en el directorio de disco que hemos configurado para la cache (c:cache en este caso).

La tercera es ver que los contadores de estado de la cache, en la pantalla principal de Application Request Routing Caching, empiezan a mostrar actividad:

image

Referencias adicionales

Application Request Routing

Configure Request Consolidation Feature in Application Request Routing

Configure and Enable Disk Cache in Application Request Routing