martes, 5 de enero de 2016

Big Data II.Ecosistema de Hadoop.

Introducción.



Como ya dijimos en el anterior artículo, Hadoop actúa sobre los datos contenidos en su HDFS mediante las operaciones MapReduce. Ahora voy a contaros una cosa. Antes de empezar a tratar sobre dichos datos debe volcarlos a  ficheros y para ellos , requiere de herramientas externas para realizar lo que se llama E.T.L. (Extraction , Transformation ,Loading).



Extraction: Extrae datos de diferentes origenes. Si se dispone de conectores o drivers específicos sobre BBDD Hadoop y su ecosistema admite la conexión a fuentes de datos via ODBC o similares para el proceso.
Transformation: Valida, normaliza los datos para evitar errores
Loading: Vuelca los datos al HDFS (o a otros sistemas de BigData).

Para ello se introduce aquí el concepto de “ecosistema de hadoop”, es decir aquellas herramientas y utilidades que complementan a Hadoop para realizar las tareas de procesamiento masivo de datos.



Hadoop es el “motor” del vehículo. Las herramientas de ecosistema se pueden ejemplarizar como los neumáticos, la suspensión,..etc



Para realizar dichas operaciones ETL tenemos herramientas como scoop (http://sqoop.apache.org/), que permite la transferencia de datos de E.T.L.  de manera eficiente e integrada con Hadoop. Está también desarrollada por la Apache Software Foundation. Aquí hago un paréntesis para indicar que Hadoop es capaz de tratar tanto con datos estructurados (las clásicas tablas de BBDD organizadas en columnas ) como con no estructurados (XML).



Flujo de Scoop y Hadoop.

sábado, 12 de diciembre de 2015

Big Data. Introducción y características



En los próximos artículos vamos a dar algunas pinceladas describiendo una de las últimas tendencias de las tecnologías de la información: Big Data.
También daremos alguna visión acerca de su evaluación como producto desde el punto de vista de QA y su uso como herramienta para estas metodologías.


Big Data:Conceptos y presentación.


Si tenemos que definir Big Data en base a alguna de las muchas descripciones que hay publicadas podríamos decir cosas como que “herramienta de recolección masiva de datos “, “el futuro de las analíticas de empresa” , “el descendiente listo de Business Inteligence”…
Pero para ser concisos , hemos elegido esta:


Proceso de recolección de datos en grandes cantidades y su tratamiento para encontrar patrones y correlaciones.


En cuanto a las características del mismo hay también varias ideas que podríamos definir como mnemotécnicas:


“Las 5V”

  •   Volumen: Captar toda la info, de manera completa y no sesgada, evitando duplicidad y redundancia
  •   Velocidad:Herramientas ágiles y con poco tiempo de respuesta
  •   Variedad:Datos de múltiples fuentes heterogeneas se uniformizan y centralizan.
  •   Veracidad:Que sea verdadera, de calidad y disponible,eliminando fallos
  •   Valor: Aporta competitividad y da servicio rentabilizando la información
“Las 5 R”
  •   ROI:Retorno de Inversión considerar el dato como un activo.
  •  Reliable:Fiabilidad en los datos para generar acciones fiables.
  •  Realistics: Que sea verdadera y ajustada a la realidad.
  • Realtime: Información en tiempo real.
  •  Relevant: Definir qué es relevante y útil.
 

Metodologías


Como principal metodología hay que destacar I.C.A.V. ,que por supuesto son unas siglas que coinciden con Identificación, Consolidación, Análisis y Visualización.

En concreto la identificación del área y sus necesidades de datos, la consolidación  como tratamiento, limpieza y filtrado de datos , el análisis emitiendo predicciones con la información consolidada y la visualización que muestra los resultados del análisis.

La implantación de Big Data en la empresa requiere de cambios en la relación entre los departamentos de tecnología de la información y el resto de la compañía, puesto que nuestro objetivo es disponer de toda la información que se genera en la empresa, tanto la histórica como la que viene desde todas las posibles fuentes de información por las que los datos entran en la empresa. Esto incluye a los datos automatizados y determinar cómo mecanizar aquellos que no lo estén.

Big data a dia de hoy se enfoca principalmente a


  • Marketing, con la realización de campañas por distintos segmentos de clientes
  •  Nuevos productos: Estableciendo qué nuevas necesidades se pueden satisfacer
  •  Aumento de clientes
  •  Expansión de mercados

 

Para realizar estas tareas se ha establecido como estándar en el mercado una herramienta específica y utilidades asociadas. De esto trataremos en el siguiente punto.


Apache Hadoop. Qué es y cómo funciona.




Como ya hemos dicho, la realización de las tareas que componen el Big Data en todas sus vertientes se ha de llevar a cabo mediante herramientas específicas por los elevados volúmenes de datos y procesamiento asociado que requiere. En el mercado actual una herramienta específica sobresale por encima del resto , imponiéndose como el estándar a seguir : Hadoop.

Haddop es un sistema de código abierto que almacena, procesa y analiza grandes volúmenes de datos. No solo determina el software sino que da proporciona las guías de una infraestructura hardware donde se pueda aprovechar hardware commoditie, es decir , normalizado en el mercado  de manera que por procesamiento paralelo alcance grandes valores de cálculo.
La arquitectura de Hadoop se base en nodos maestros y servidores .  En un cluster de Hadoop al nodo maestro se le conoce como namenode y  a los nodos servidores como datanodes.

El nodo maestro contiene el datos asociado a sus datanodes y mantiene el estatus de los datanodes. Los datanodes almacenan la información procesada.

Flujo información y tareas Hadoop



viernes, 6 de noviembre de 2015

JMeter: Certificados Cliente SSL

Uno de los retos que presentan las pruebas de rendimiento con JMeter es la construcción de escenarios de pruebas de rendimiento que utilicen certificados cliente SSL (en formato *.pfx/*.p12).

Existen en la red diferentes recursos que permiten obtener información acerca de cómo conseguir grabar y reproducir escenarios JMeter que utilicen certificados cliente, sin embargo la preparación de este tipo de pruebas suele ser bastante costosa y se acaba por invertir un gran esfuerzo. 
Esta entrada, únicamente quiere centralizar la información ya expuesta en otras páginas y proveer algunos consejos y ayudas para que la configuración de las pruebas se acorte en el tiempo teniendo en cuenta unicamente el punto de vista de las pruebas de rendimiento.

sábado, 10 de octubre de 2015

Automatización de Pruebas: ROI Cualitativo.

ROI Cuantitativo vs ROI Cualitativo

En la anterior entrada, vimos como podíamos valorar y calcular el ROI en un proyecto de automatización de manera cuantitativa. El objetivo principal, era calcular a partir de qué momento la inversión realizada en la automatización comenzaba a ser rentable en términos económicos. Sin embargo, más allá de los fríos números, la automatización también presenta una beneficios cualitativos que aportan valores añadidos difíciles de cuantificar. 


domingo, 4 de octubre de 2015

ROI & PAYBACK de la Automatización de Pruebas

ROI vs. PAYBACK

Cuando se piensa en la automatización como posible solución en un proyecto de testing, se hace necesario un estudio de viabilidad que nos indique qué rentabilidad vamos a obtener, y cuándo podremos considerar que estamos amortizando la inversión realizada.

En general, este estudio de viabilidad o no se realiza, o se realiza de manera muy general, o incluso se hace partiendo de premisas incorrectas o falsos mitos sobre la automatización. Veamos en primer lugar dos conceptos a tener en cuenta:
  • ROI (Retorno de la inversión): Es el beneficio que obtenemos de la automatización puede ser calculada de diferentes formas:
    • % de beneficio obtenido: según la siguiente formula (Beneficio -Inversión)/Inversión. No obstante, también es posible encontrar el ROI de la automatización expresado directamente en horas de trabajo.
    • Horas totales de ejecución manual ahorradas
    • Costo total de ejecución manual ahorrado
  • PAYBACK: Indica el tiempo que tardamos en obtener un beneficio de la inversión realizada. En el caso de la automatización, nos indicaría a partir de qué momento la inversión realizada en la automatización es amortizada.
Ambos conceptos, deben ser evaluados objetivamente y mediante parámetros adaptados a nuestro proyecto. Pasar por alto este estudio podría llevarnos a sorpresas no deseadas pero que son muy habituales. 

Calculo del ROI de la Automatización de PruebasDe manera general, la automatización supone una inversión que rentabilizaremos a medio plazo cuando el ahorro en horas de ejecución manual supere el tiempo invertido en la automatización. 


Es decir, la automatización supone unos costos (en licencias, infraestructura, scripting, etc...). Esta inversión será amortizada a lo largo del tiempo a costa de las horas de ejecución manual que ya no son necesarias. Es importante hacer constar que para el cálculo del ROI, es necesario conocer el costo del esfuerzo invertido en la ejecución manual de los casos de prueba. Sin ese dato, será muy difícil poder evaluar la viavilidad de un proyecto de automatización.