Reseña libros Docker

Hoy quiero compartir con vosotros un par de reseñas de unos libros sobre Docker.

Como sabes tengo algunos vídeos sobre docker, ya que le he dedicado tiempo para mirarlo, porque creo que tiene un futuro muy prometedor, sobre todo para una persona como yo tan centrado en temas de rendimientos de los equipos de trabajo y las arquitectura de aplicaciones.

Si necesitas una formación formal en Docker dispongo de un curso completo de 7 horas en el que podrás tener un certificado de finalización y un contenido más hilvanado que las píldoras de Youtube. También me ayudarás a mantener este web y la elaboración de los vídeos en Youtube.

La descripción completa y las plataformas en las que está disponible el curso las podéis ver arriba en el menú de curso.

Son dos libros de la editorial Mannig, concretamente Docker in Action y Docker in Practise.

Si tuviese que elegir uno me quedaría con el de Docker in Action. El otro me parece menos interesante.

Vivir en la Zona de Confort

El otro día leía una entrada en el blog de Andrés Pérez Ortega sobre vivir en la zona de confort. Este es un concepto que está muy de moda últimamente.

Estoy bastante de acuerdo en lo que comenta Andrés. Creo que no es bueno estancarse, pero tampoco puedes abandonar esas áreas en las que eres bueno, es decir tu zona de confort.

Hace ya unos años me encontraba en una situación de una cierta angustia por todas las cosas que quería aprender y que lógicamente no me daba la vida para abarcar. Así que tuve que hacer una reflexión de que es lo que me gustaba y centrarme en esas cosas. Lógicamente tuve que decir que no a muchas otras, pero conseguí centrarme en lo importante.

En mi opinión hay que ampliar la zona de confort, pero aprovechando esa zona de confort, es decir las cosas en las que eres bueno.

Cuando tienes un cierto conocimiento en un área, si haces un salto a otro área muy distante probablemente vas a empezar de cero en ese nuevo área así que no vas a ser relevante, y normalmente te va a costar mucho esfuerzo conseguir serlo. Esfuerzo que vas a dejar de dedicar a reforzar el área en la que eres relevante.

Los únicos casos en los que he creído positivo el cambio es con ciertas personas a las que su zona de confort no les gustaba, es decir se habían dedicado, por circunstancias de la vida, a tareas que no les llenaban.

Cuando empiezas a trabajar se te puede plantear esta situación, empiezas en un sitio sin mucha idea de que es lo que vas a hacer, o muchas veces sin tener otras opciones y desde ese momento como tienes experiencia en ese tema, te es difícil salir de ahí.

Yo mismo empecé dando formación y no me gustaba. Era complicado porque si buscaba trabajo me ofrecían de formador. Afortunadamente fue capaz de ir poco a poco dejando ese trabajo de formador para dedicarme a lo que me gustaba y mejor se me daba.

Porque los videos… en vídeo

En esta ocasión os traigo un vídeo que grabé mientras estaba esperando a bajar los programas necesarios para otro vídeo que andaba preparando.

A veces me preguntan porque hay los vídeos y aproveché para grabar un vídeo explicándolo. Hay una mezcla de motivos, desde el servir como prueba de un medio más para formar a la gente, que es un tema que me ha preocupado siempre, hasta motivos de marca personal, y otros mas lúdicos, como el entretenimiento.

Espero que os resulte interesante, sobre todos para los que esteis interesados en estos tema de devops y de como mejorar el tiempo que tarda una persona en ser productivo cuando empieza en un nuevo proyecto o una nueva empresa.

Reseña libro ElasticSearch in Action

En esta ocasión quiero competir con vosotros una reseña del libro que utilicé para introducirme en el mundo de ElasticSearch.

Es un libro de la editorial Manning, que compré cuando estaba en fase MEAP. La reseña os la traigo por partida doble. Por un lado en un vídeo de Youtube que os dejo aquí seguido.

Y por otra parte, para todas aquellas personas que no les es fácil el consumir el contenido en formato video, he abierto una nueva via de comunicación mediante podcast, que podréis bajar. Los podcast está albergados en la página ivoox en http://inigoserrano.ivoox.com
Espero que os sea de utilidad la reseña del libro y el nuevo canal de comunicación.

BigData con Spark

Cada vez va tomando mas importancia todos los temas relacionados con el BigData.

En el canal de Youtube he subido tres videos dedicados al desarrollo BigData con Spark.

Son vídeos muy básicos para poder hacerse una idea de los que supone desarrollar una aplicación BigData con Spark.

En el primer video se cubre la parte de instalación de las herramientas necesarias, siendo estas la máquina virtual de Java, el JBoss Developer Studio y las dependencias necesarias para desarrollar el proyecto con Maven.

El segundo video trata sobre la instalación del sistema de ficheros distribuido HDFS. Este sistema de ficheros es parte de Hadoop y es el típico sistema de ficheros de las soluciones BigData.

Y por último, y quizá mas interesante ya que se ve código, es el tercero. En el que se cubren cinco ejemplos.

  1. Lectura de un fichero en formato csv y escritura del mismo en formato JSON
  2. Filtrado de datos utilizando select, si selects de SQL
  3. Filtrado de datos utilizando el API de Spark
  4. Escritura de datos en ElasticSearch
  5. Escritura de datos en HDFS
Entre el ejemplo tercero y el cuarto se explica la instalación de docker y la ejecución de un elasticSearch dockerizado.
Si os gustan los vídeos no dudeis en darle al Like y subscribiros al canal.

El cliente manda. Una historia de como hacerlo mal.

Hace no mucho uno de los jefes de la empresa en la que trabajaba me dijo una cosa con la que estoy muy de acuerdo. A la gente joven y sin experiencia hay que enseñarles, no solo a programar, sino a como se trabaja.

Se notaba que aparte de ser uno de los jefazos de la empresa era profesor de universidad. De hecho fue profesor mio y creo que de media empresa.

Total que ayer en el recibidor de casa de mis padres vi, como otras cientos de veces, la «alfombra» pero hoy me he animado a contaros la historia detrás de esta alfombra, ahora que está tan de moda el StoryTelling.

Cuando se compró la casa estaba muy deteriorada y se hicieron reformas, una de ellas fue cambiar el suelo. Se contrató un albañil, en buena hora escogimos a ese… En fin.

Mis padres solían pasarse los fines de semana para ir dándole instrucciones al albañil. Cuando iba a abordar el recibidor de la casa estuvieron con el colocando las baldosas y las grecas para indicarle como lo querían. Concretamente de tres baldosas por tres baldosas, porque cuatro era demasiado pegado a las paredes y quedaba mal.

El fin de semana siguiente cuando llegaron lo que vieron fue una «alfombra» de cuatro por cuatro. Cuando le preguntaron al albañil porque no lo había hecho como acordaron, les dijo que es que le parecía que quedaba mejor así.

Lógicamente se lo hicieron cambiar.

Y de estas nos hizo unas cuantas. Al de un tiempo nos enteramos que realmente era un peón de una cuadrilla que se había puesto por su cuenta.

Pero mira que es sencillo, si tu cliente quiere una alfombra de tres por tres, pues se la haces de tres por tres. Salvo que lo que tu cliente te pida sea una cosa descabellada o peligrosa o similar, y en estos casos lo que se debiera de hacer es intentar convencerle de su equivocación, siempre con delicadeza. Pero hacer lo que te pida.

Cuando vemos estas cosas, y seguro que todos nosotros tenemos alguna de estas experiencias, nos llevamos las manos a la cabeza. Como nos comentó un albañil que contratamos para rematar algunas cosas que fueron surgiendo: «Esta gente es la que nos da mala fama».

Lo complicado es que en nuestro sector seguro que hemos visto cosas equivalentes a estas.

Pero es muy simple: el cliente manda.

Video curriculum

En los últimos meses tengo un poco abandonado este blog, no porque no tenga contenido que compartir, sino porque lo estoy haciendo a través de YouTube.

Creo que hay cosas que es mas fácil compartir en vídeo que en un blog. Es mas fácil explicar, por ejemplo, como instalar un servidor en un vídeo en el que se pueden ir viendo los pasos, que no en un blog en formato textual.

Pero tengo que reconocer que hacer un vídeo es mucho, pero mucho, mas laborioso que escribir una entrada en un blog.

No solo porque es mas complejo el narrar algo que el escribirlo, sino porque tienes que tener un equipo adecuado. El sonido lo puedes apañar con un micrófono que sea un poco majo. Y con eso, y con el permiso de los vecinos, ya puedes hacer un screencast. Los primeros los grababa con el QuickTime y el iMovie del Mac.

Pero claro no todo son screencast así que en el momento en el que en el vídeo quieres aparecer, las cosas se complican exponencialmente. El sonido es relativamente sencillo, un micrófono de corbata o el propio micrófono que usas para los screencast vale.

Pero te tienes que preocupar de en donde lo grabas. ¿Va a aparecer de fondo tu cuarto?. Y luego la luz. Es, y con muchísima diferencia, lo que mas complejo me parece. Que no te pille a contraluz o que no salgan sombras. Es realmente lo que mas me ha costado conseguir que sea de una calidad aceptable.

Pero no todo es negativo. Lo bueno es que te ves «en la tele» y te das cuenta de como te ven los demás. Así que eres consciente de todos los tics que tienes. Eso te permite corregirlo, o por lo menos intentarlo.

Lo vídeos de youtube los hago por afición. Pero, salvo que seas un actor o tengas un don de gentes y seas fotogénico. Te recomendaría lo mismo que MarcaPropia: No hagas un currículum en vídeo.

Como acelerar el arranque de una persona en un nuevo proyecto

En esta ocasión quería comentar una herramienta para configurar y distribuir servidores. Concretamente la herramienta se llama Docker

Para ver qué es lo que nos puede aportar Docker vamos a plantear una problemática muy común en las empresas de desarrollo.

Llega una nueva persona al equipo del proyecto y… ¿ cual es una de las primeras cosas que suele tener que hacer ?,… efectivamente, ponerse el entorno.

En muchos sitios este trámite consiste en que algún compañero le haga un zip de su servidor y de su herramienta de desarrollo y se lo pase.

El compañerismo está muy bien, pero esta forma de proceder no es la más adecuada, porque se acaba arrastrando mucha porquería, ya que no es un entorno limpio.

Sin contar que tampoco suele haber ningún mecanismo para tener actualizado el entorno. Así que cuando se libera una nueva versión de alguna librería o del servidor toca actualizarse manualmente.

Y aquí entramos en:

– personas que no lo hacen porque tienen que entregar algo sin falta y van apurados.
– o personas que al seguir el manual de como actualizar se equivocan.
– o simplemente personas que tiene montado el entorno a su manera.

Total que con esta forma de proceder el tener un entorno actualizado es casi una quimera o de conseguirse el coste es muy alto. Y estas operaciones se repiten bastante a menudo dentro de un proyecto un poco grande y largo.

Pero hay soluciones, una de las que más auge está tomando últimamente es Docker.

Tengo un ejemplo muy simple, en youtube, que consiste en un servidor WildFly, que es la versión de la comunidad del JBoss, con un módulo instalado para obtener métricas de la ejecución de nuestra aplicación, que viene a simular las librerías específicas de un proyecto y una aplicación muy sencilla de ejemplo.

Las herramientas que se usan en este vídeo son las siguientes:
– Docker versión 1.9
– Docker Hub
– JBoss Developer Studio 9.0.0
– WildFly 9.0.2
– Dropwizard metrics

Espero que os sirva de ayuda, y no dudes en dar a like y compartirlo.

Añadidos a la biblioteca

He actualizado los libros de cabecera con varios ejemplares de la editorial Manning.

Me gusta especialmente la serie In Action. Todos los libros que tengo de esta serie son introductorios pero bastante completos. Escrito de una forma bastante clara, incluso para alguien que su idioma materno no es el Inglés.

Empecé con el libro de Camel in Action  que no he llegado a terminar, pero me sirvió para tener una visión bastante interesante de la herramienta y sus posibilidades.

De este primer libro y la grata impresión que me dejó han ido derivando una serie de compras más.

Cuando te dedicas a temas de tecnología y más si están en el candelero uno de los problemas es que los libros suelen estar un poco desfasados, ya que lleva su tiempo escribirlos. Pero esta editorial tiene un programa que se llama MEAP que es el acrónimo de Manning Early Access Program, que te permite disponer de los libros que están escribiendo, lógicamente sólo los capítulos que tienen escritos. Hay erratas y dibujos hechos a boli pero puedes acceder al contenido existente.

Tengo los libros de Docker in Action y Elasticsearch in Action que me han parecido fantásticos. El libro de Docker In Practice me ha decepcionado un poco, en vez de ser un manual al uso son más bien recetas, de situaciones y cómo resolverlas. Teniendo su equivalente in Action, me parece que no aporta mucho.

Ahora mismo estoy leyendo Unified Log Processing que me está resultando muy interesante, aunque no está más que la mitad de los capítulos. Pero lo que he leído me ha resultado de mucha ayuda.

El siguiente que tengo en la recámara es el de Big Data, que ni he empezado.

Una de las cosas buenas de comprar a la editorial directamente es que suelen hacer descuentos asiduamente, con lo que fácilmente te ahorras un 40%. Esto no sería posible en España, porque está prohibido aplicar un descuento de más del 10%. Lástima por los comerciantes españoles…

ElasticWeather: tratamiento de datos meteorológicos con elasticsearch y docker

Ha habido un gran parón desde mi anterior entrada en el blog y esta.

Siempre he pensado que aunque se recomiende tener actividad regularmente es más importante el hecho de que el contenido sea de calidad a la cantidad. No vivo de esto sino que es un complemento, así que aunque aprecio el número de vistas, no me obsesiona.

Durante estos meses me he dedicado a ampliar mis conocimientos en las dos áreas en las que me he especializado, que son los temas de devops y la arquitectura de aplicaciones. Procuro mantener un cierto nivel en un rango amplio de materias, pero es complejo ya que requiere de tiempo y es finito. Así que ya desde hace unos cuantos años, y no sin cierta pena, suelo hacer descartes.

Así que he estado ampliando conocimientos en ámbas áreas, concretamente en la parte de devops con Docker y en la parte de arquitectura con BigData.

El tema del BigData lo llevo mirando desde hace ya bastante tiempo, pero sin poder dedicarle todo el tiempo que me hubiese gustado. Ahí están como muestra las pruebas de concepto de la serie weather a la que he añadido elasticWeather para tratar los datos meteorológicos con elasticSearch.

Y para matar dos pájaros de un tiro y cubrir la parte de devops esta prueba de concepto de elastic está implementada utilizando contenedores docker. Así que cualquiera que quiera trastear con elasticWeather le va a resultar mucho más sencillo disponer de la infraestructura.

Docker lo que nos permite es plataformar servidores y distribuir de una forma relativamente sencilla esa plataforma. Esto es ideal para que los equipos de desarrollo empiecen a ser productivos con rapidez.

Pero aparte del proyecto en gitHub he hecho dos vídeos, uno más centrado en el elastic, concretamente en el Kibana y otro más centrado en la infraestructura utilizada, es decir en el Docker.

Si necesitas una formación formal en Docker dispongo de un curso completo de 7 horas en el que podrás tener un certificado de finalización y un contenido más hilvanado que las píldoras de Youtube. También me ayudarás a mantener este web y la elaboración de los vídeos en Youtube.

La descripción completa y las plataformas en las que está disponible el curso las podéis ver arriba en el menú de curso.

Os los dejo a continuación. Como siempre son bienvenidos los likes, las suscripciones y los comentarios constructivos.