Jugando con Velocity (I)!

Como sabéis, uno de los cuellos de botella de las aplicaciones puede ser la realización de peticiones de datos repetitivas (siempre de los mismos datos) de disco o de una cierta base de datos. Lógicamente, lo que idealmente queremos es que nuestras aplicaciones se comporten bien o muy bien en términos de rendimiento, disponibilidad y escalabilidad. Pero ¿Cómo podemos mejorar el rendimiento, escalabilidad y disponibilidad de nuestras aplicaciones tocando mínimamente nuestras aplicaciones y sin tocar la infraestructura existente? Una de las posibilidades que dará Microsoft como parte de .NET Framework 4.0 y Visual Studio 2010 es Velocity. Se trata de un servicio de caché distribuida que proporciona un mecanismo para almacenar datos en caché que puedan ser utilizados por las aplicaciones sin tener que recurrir a ir a disco o a la BD para todas las peticiones.

image

Por lo tanto, Velocity es caché en memoria explícita y distribuida para todos los tipos de datos: objetos del CLR, filas, XML, datos binarios, …En este primer post vamos a ver lo sencillo que resulta instalar Velocity (CTP2) y algunas nociones de administración.

Instalando Velocity

Como veréis, el proceso de instalación de Velocity es bastante sencillo (la última CTP, versión 3.0 de abril, disponible la podéis descargar de este enlace):

  • La primera pantalla la pasamos con un simple Next.
  • A continuación aceptamos la correspondiente licencia y pulsamos Next.
  • Apto seguido, procedemos a instalar Velocity pulsando Install.
image image image
  • Durante el proceso de instalación se nos preguntará si queremos permitir acceso a través del cortafuegos una serie de programas que necesitará Velocity para estar operativo
  • Tras finalizar el proceso de instalación, aparece la pantalla de configuración Cache Host Configuration dónde definiremos los parámetros de nuestro sistema de caché. Aquí especificamos:
    • El tipo de almacenamiento (Carpeta compartida , una BD SQL Server). En mi caso, he elegido la opción de carpeta compartida (que he creado previamente con los permisos adecuados).
    • La ruta de red (carpeta compartida con permisos lectura/escritura para everyone) para el cluster.
  • Hacemos un test de la conexión, y aparecerá un mensaje de si queremos crear un nuevo cluster. Decimos que sí, y si todo ha ido bien, podremos configurar el resto de parámetros del cluster:
    • El nombre del cluster (Test).
    • El tamaño del cluster (Small, 1-3).
  • Pulsamos Save & Close.
image  image image
  image  
  • En el asistente de configuración de Velocity, pulsamos Finish.
  • Comprobamos que los elementos de configuración de Velocity se ha creado correctament. Se tienen que haber creado dos BD Compact Edition en el que también se guardan las configuraciones de Velocity.
image image

Y ya está, este proceso tan sencillo nos permite instalar Velocity y disponer de un potente sistema de caché en memoria.

Administración de Velocity

Hasta ahora, hemos instalado Velocity…pero, ¿lo tenemos listo para usar? La respuesta es que no, ya que tendremos que realizar unos pasos previos como iniciar el Cache Host y el Cache Cluster. Esto lo podemos hacer a través de la Administration Tool – Microsoft Distributed Cache que es una herramienta de administración por línea de comandos basada en Powr Shell. La primera vez nos pedirá la forma de ejecución, pudiendo especificar:

  • Never.
  • Default.
  • Run Once.
  • Run Always.

En mi caso he especificado Run Always, lo que en la práctica se traduce en que siempre tendré el prompt Power Shell de la herramienta de administración disponible para usar.

 image image Velocity_1

Desde la herramienta de administración podremos hacer cosas como;

  • Determinar información acerca del host de la caché mediante Get-CacheHost.
  • Obtener la configuración de la caché mediante Get-CacheConfig (ver imagen),
  • Iniciar el cluster de caché (primer paso) mediante Start-CacheCluster.
  • Iniciar la caché en sí mediante Start-CacheHost.
 Velocity_4 Velocity_5 Velocity_2
  Velocity_3  
 
Por lo tanto, la primera conclusión que podemos extraer de Velocity es que resulta muy sencillo de instalar y en pocos minutos tenemos un sistema de caché distribuido listo para usar en nuestras aplicaciones. Esto lo dejamos para próximos posts (eso espero ;-)).

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

9 comentarios en “Jugando con Velocity (I)!”

  1. Te animo a que sigas escribiendo, estuve en las sesiones del summit de Velocity y me pareció realmente excelente, tanto lo que tenian hecho como, muy especialmente lo que tienen pensado hacer en el futuro!

    Unai

  2. Pues yo estuve con Unai y la verdad es que estuvimos más pendiente de las azafatas que de la charla 😉 Es broma, no habian azafatas, desgraciadamente. Estoy con vos, hay que tenerlo en cuenta para el futuro..

    Salud!!!!

  3. Jose miguel, hombre esas cosas no las desveles y menos intentando arreglarlas diciendo que no había azafatas…. aunque por contar algo en serio, las demos de Velocity en Windows Media Player fueron de lo mejor 🙂

  4. Buenas amigo preguntoncojonero,
    En principio no veo porque no…Velocity no impone restricciones sobre el motor de BD que uses en tus aplicaciones (entiendo que te refieras a esto).

    JC’s

  5. Excelente Artículo y Excelente Herramienta.

    Estoy seguro que todas las aportaciones que hagas al respecto de Velocity muchos te lo vamos a agradecer.

    Saludos y De nuevo gracias por tus artículos.

    GCG

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *