Introducción a Docker

aaaaasdddd

He aprovechado las navidades para verme los dos primeros vídeos super didácticos que Docker tiene en su web. Como es un tema interesante, he decidido a hacerme un pequeño resumen.

1. Introducción a Docker

1.1. ¿Qué es docker?

«Docker es una plataforma para desarrollar, enviar y correr aplicaciones usando tecnología de virtualización de containers».

1.2. Ok… ¿Qué es un container?

«La virtualización basada en containers usa el kernel del sistema operativo del host para correr múltiples instancias guest» (llamadas containers). Cada container tiene su propio:

  • root filesystem
  • procesos
  • memoria
  • devices
  • puertos de red

Si estás pensando en que suena a una máquina virtual, en efecto, los containers serían la evolución de las máquinas virtuales, pues a diferencia de éstas, los containers no necesitan un sistema operativo guest instalado en cada máquina virtual, ni un hypervisor, con el consiguiente ahorro descomunal de recursos. Aquí una comparativa entre un servidor físico que aloja máquinas virtuales (izquierda) y otro que aloja containers (derecha) sacada directamente de los vídeos de Docker:

Containers_VS_VM

Así pues, los containers usan el kernel del sistema operativo para crear entornos aislados en los que correr una aplicación y todas las librerías de las que depende.

Continuar leyendo «Introducción a Docker»

Integración Continua vs Continuous Delivery vs Continuous Deployment

delivery

Bueno, lo primero es lo primero: este post no es la verdad absoluta, así que si vienes en busca de iluminación, espero que esta entrada sirva como punto de partida, pero te recomendaría leer todo lo posible sobre este tema, empezando por consultar los enlaces del final del post.

Por mi parte, con esta entrada he querido resumir los conceptos principales de cada una de estas prácticas, para intentar aclarar(me) con las diferencias entre ellas.

Integración Continua

Los equipos de desarrollo de software que trabajan en un mismo proyecto, suelen encontrarse a menudo con los siguientes problemas:

  • Merge conflicts: dos programadores modifican el mismo fichero o incluso la misma línea, lo cual da lugar a conflictos que deben resolverse y que pueden llegar a ser un quebradero de cabeza.
  • Compile conflicts: si por ejemplo un programador usa el método foo() y alguien elimina ese método, ésto no dará problemas al hacer el merge, pero a nivel de compilación dará error porqué no encontrará ese método.
  • Test conflicts: un ejemplo de test conflict sería cuando tu código depende de otro que ha cambiado (y ahora funciona diferente), lo cual haría que tu código no esté funcionando como esperabas y por tanto tu código no pase los tests.

La integración continua es una práctica de desarrollo de software que pretende minimizar este tipo de conflictos, permitiendo a las desarrolladores desarrollar, en lugar de perder su tiempo solucionando conflictos. La idea básica es que los desarrolladores commiteen los cambios muy frecuentemente (al menos una vez al día) para que en caso de conflicto se puedan solucionar de forma más rápida y sencilla, pues el propio programador tendrá el código que acaba de commitear “fresco” en su cabeza, y además no tendrá que preocuparse de investigar grandes cantidades de código, pues al commitear muy frecuentemente sabe que ha cambiado poco código desde su anterior commit.

La integración contínua, pues, consiste en automatizar los tests y los builds de tu software muy frecuentemente. A no ser que seas el único desarrollador en un proyecto, no hay razón por la que no quieras usar integración continua.

Continuar leyendo «Integración Continua vs Continuous Delivery vs Continuous Deployment»

Instalación de Zabbix

zabix¿Por qué Zabbix?

Acostumbrado a Nagios, lo primero que busqué en Google para documentarme sobre Zabbix, fue la cadena «Zabbix vs Nagios» (hay un debate muy interesante en reddit). En cualquier caso, aquí hacen una buena comparación entre ambos sistemas de monitorización.

Tras unos días con Zabbix, mi primera impresión es que la configuración vía web de Zabbix quizá sea más amigable que la configuración vía archivos de Nagios, aunque sin duda (y quizá por pasar varios años con Nagios) ésta última resulta más sencilla que no la de Zabbix, que requiere de múltiples configuraciones para poder monitorizar un elemento (el ítem en sí, su triger, el action asociado, la aplicación del ítem, etc.).

Un punto a favor de Zabbix es que parece que la comunicación cliente servidor no ocasionará los problemas que alguna vez me he encontrado con Nagios, de falsos positivos debidos a timeouts en la conexión SSH entre el servidor Nagios y el host a monitorizar (Nagios requiere de plugins adicionales para monitorizar vía NRPE).

A favor de Nagios, pero, está la gran cantidad de plugins que la comunidad ha puesto a nuestra disposición en Nagios Exchange, a primera vista mucho más completos que los plugins de Zabbix.

Componentes de Zabbix

Zabbix consta de un seguido de componentes que interaccionan entre sí:

  • Zabbix agent: el agente (o cliente) de Zabbix se instala en aquellos elementos a monitorizar. El agente se encargará de recoger información del sistema y de las aplicaciones y se las hará llegar al Zabbix server. El Zabbix agent puede recoger datos:
    • de forma pasiva: el server contacta al agente pidiéndole un dato (por ejemplo el consumo de CPU en ese instante) y el agente responde al server con ese dato.
    • de forma activa: en un primer momento, el server le enviará al agente el listado de items a monitorizar. A partir de ese momento, será el agente que de forma periódica recogerá datos sobre esos ítems y se los hará llegar al server.
  • Zabbix server: el servidor de Zabbix y por tanto la pieza principal. Consta de una base de datos, una interfaz web y el propio server. Como servidor, se encarga de recoger los datos de los agentes, calcular los triggers, enviar notificaciones, etc. El servidor por tanto, es el repositorio central donde están definidas las configuraciones y donde se almacenan todos los datos y estadísticas recogidos de los agentes.
  • Proxy (opcional): se trata de un «recolector de datos» que se situa entre el servidor y los agentes. Si se tiene por ejemplo servidores repartidos en 5 datacenters, cada datacenter podría tener su propio proxy encargado de recoger los datos de los agentes de su datacenter, para posteriormente, hacerle llegar los datos al Zabbix server. Todo proxy requiere de su propia base de datos.
  • Java Gateway (opcional): permite monitorizar aplicaciones JMX (Java Management eXtensions) como WildFly/JBoss, Tomcat, Weblogic o Websphere. Zabbix Java Gateway usa la «JMX Management API» para recoger los datos de las aplicaciones JMX remotas monitorizadas.

Fuentes:
https://www.zabbix.com/documentation/2.2/manual/concepts

Continuar leyendo «Instalación de Zabbix»

Año nuevo, diseño nuevo

Happy New Year
¡Feliz año a todos!

Sólo decir que he aprovechado la entrada del 2013 para cambiarle el diseño al blog, que ya tenía unos añitos. Hacía tiempo que me parecía que el tipo de letra, el tamaño, o directamente la anchura de los párrafos, dificultaban en ocasiones, la lectura.

Así que tras una búsqueda en Google, he encontrado un tema gratuito de WPZoom que espero sirva para ir a mejor. Eso sí, he tenido que adaptarlo bastante, y aun así me quedan unas cuantas cosas por acabar de ajustar.

A ver si puedo acabar de tenerlo todo listo para los próximos días.

Flickr! Foto por Sean MacEntee

Kindle 2 review

Kindle 2

Ayer me llegó el Kindle 2 de Amazon, el famoso lector de eBooks de la archiconocida tienda de compras por Internet. La verdad es que me recuerda a un ipod en grande; blanco mate en la cara frontal y plateado en la posterior. Hay que decir que es mucho más bonito que la primera versión del Kindle que sacaron, que tenía un aspecto bastante prehistórico, para mi gusto.

Lo primero, el Kindle viene perfectamente empaquetado y protegido en una caja de cartón hecha a medida. Viene con un cable de mini-usb a usb, con un adaptador usb a corriente tipo americano, con lo que no sirve para conectarlo a la corriente en España. Sin embargo, podemos comprar un adaptador USB a corriente tipo Española, o un adaptador americano – europeo, o simplemente (como he hecho yo), conectar el Kindle a un puerto USB del ordenador, que éste ya sirve para cargar. Por USB, en un par de horas tienes el Kindle cargado al máximo y listo para funcionar ininterrumpidamente durante 2 semanas (o eso dicen).

Lo segundo ha sido buscar la forma de crear directorios en el Kindle, puesto que tenía varios archivos pensados para subir, pero quería mostrarlos de forma ordenada en mi nuevo gadget. No habido suerte, ya que el Kindle no soporta de forma nativa la creación de carpetas para ordenar los ficheros, incluso sabiendo que el Kindle 2 puede almacenar hasta 1500 documentos. Sin embargo hay algunas alternativas que se proponen en la red como por ejemplo usar tags para clasificar los documentos.

Una vez hecho esto, ha llegado el momento de subir documentos. Hay varias formas de hacerlo, entre ellas, la de subir directamente el documento al Kindle como si fuera un disco duro más del PC, a través del cable USB, arrastrando y soltando el archivo. Sin embargo, así no se aprovecharán las funcionalidades del Kindle, como cambiar el tamaño de letra o realizar anotaciones, y para eso, es preferible convertir el documento a formato Kindle antes de subirlo. Para ello, tenemos varias opciones:

  • Enviar el documento por email a tu cuenta de Kindle, para que se convierta de forma automática y se envié a tu Kindle sin necesidad de estar éste conectado al PC, con un coste de unos céntimos de euro.
  • Enviar el documento a tu cuenta gratuita de Kindle, para que se convierta también de forma automática, pero en este caso, sin que se envíe directamente al dispositivo. En lugar de eso, Amazon responderá nuestro correo con un enlace donde poder descargar el archivo convertido, para posteriormente subirlo por cable USB.
  • Usar un programa que permita convertir directamente un archivo al formato usado por el Kindle.

He empezado por enviar un pdf de 5KB a mi cuenta gratuita de Amazon, para comprobar el tiempo de respuesta y sobretodo conocer el formato final. Al cabo de unos 30 segundos se me ha enviado un email con el enlace a un archivo .azw de 3,4KB.

En cuanto a mi opción preferida (la tercera), he empezado probando el MobiPocket Creator (la edición Publisher, puesto que la Reader no nos servirá), siguiendo los pasos de este video, pero el resultado no ha sido muy bueno. También he probado Stanza, que ha dejado el archivo resultante en un formato que dejaba un poco que desear, y Auto Kindle (o Kindle Auto eBook Converter), que me ha devuelto un archivo .mobi funcional, pero con los saltos de línea mal ubicados, y sin imágenes.

Finalmente he enviado el mismo archivo pdf a mi cuenta de Kindle para que me lo transformara automáticamente, y se me ha devuelto (a los pocos segundos) un archivo .azw (de 1 MB en lugar de los 4MB originales) pero con un formato parecido al obtenido con el software conversor. Así que visto lo visto, descarto continuar usando este servicio, más lento y engorroso, sobretodo si tenemos varios archivos que queremos convertir.

El problema de subir directamente pdfs, es que no puedes cambiar el tamaño de la letra ni hacer anotaciones, pero puedes cambiar la orientación de la pantalla y sobretodo, se mantiene el formato original del archivo, con imágenes y espacios. Así que aquí se presenta una primera disyuntiva: ¿subir directamente el archivo PDF o transformarlo a formato Kindle para aprovechar al máximo sus funcionalidades extra? La respuesta dependerá del para qué se quiera usar ese pdf.

Aún me queda mucho por probar, ya que apenas he trasteado con él un par de horas, pero a simple vista, parece un trasto de lo más útil, ya que es como redescubrir Internet y sus posibilidades (ahora tengo al alcance cientos de miles de documentos que podré leer sin necesidad de destrozarme la vista o arrasar con unos cuantos árboles, sin mencionar el ahorro en novelas y demás libros convencionales), sin embargo, también parece claro que Amazon tiene que ponerse las pilas para mejorar algunos aspectos de su software, que ayuden al usuario a sacar un mayor provecho del Kindle.

¡Buenos días!

El tener un departamento de soporte técnico que admite recibir mails como punto de entrada de apertura de incidencias, puede ser un problema, sobretodo si la dirección de correo se encuentra fácilmente accesible, y especialmente si tu empresa tiene un logo en su página que directamente permite que contactes con el departamento técnico si tienes cualquier problema.

Ésto, ocasiona que cuando llegues por la mañana al trabajo te encuentres con mails como los siguientes (NOTA: somos una empresa de software de gestión):

  • Mi computadora está muy lenta.
  • quiero saber si mi licencia de conducion es legal o chimba mi numero de cedula es ******** de chigorodo me tiene perjudicado.
  • tengo un probema con mi PC , resulta que le instalé el programa de windows XP lo que prococó que se quedara así de esa manera y hago todo lo que me indica el panel de control y nada, además me aparece un mensaje cuando voy a reproducir un archivo diciendo de que puede ser que no tenga instalado el programa de sonido y volumen, pero se que antes estuvo funcionando bien además mi PC tiene estos dispositivos integrados.
  • incompatibilidad entre windows live mesenger 8.1 yacer adatasegurity
  • porque me sale error cuando intento intalar mi camara web modelo trust HiRes USB2.Mi ordenador tiene el programa windos vista.¿que puedo hacer?
  • se me abren todas las pajinas web sin pincharlas,y no me deja cerrarlas,ni puedo pinchar a mi herramientas para solucionar problemas y me parpadea el raton
  • me han restringido mi space,y quisiera volver haceder a mi space
  • DESDE QUE INSTALE MOZILLA firefox. e IGNORO SI COMO CAUSA O COMO EFECTO EL ORDENADOR NO ES QUE SEA LENTO ES QUE NO ANDA… ademas no puedo abril los documentos word. ESTOY DESESP. POR FAVOR AYUNDEME
  • como puedo saber por medio de que empresa puede uno conseguir un permiso de portar armas
  • tengo la licencia de ciclomotor del año 1979,en estos momentos tengo 44 años
    deseo saber si tengo que renovarla y como lo tengo que hacer.
    gracias
    pd.
    tel ***********

Todos contra el canon

Hago copy&paste directamente de adslayuda, pero también se puede leer en todoscontraelcanon o en microsiervos por ejemplo, para que todos sepamos que el nuevo canon digital hará que paguemos:

Por un disco duro 12€ más .
Por una impresora láser 10€ más.
Por impresora de tinta 7,95€ más.
Por un escaner 9€ más.
Por una grabadora DVD 3,40€ más.
Por una grabadora CD 0,60€ más.
Por un MP3 3,15€ más.
Por un móvil 1,1€ más.
Por un DVD virgen 0,44€ más.
Por un DVD regrabable 0,60€ más.
Por un CD virgen 0,17€ más.
Por un CD regrabable 0,22€ más.
Por un Pendrive USB 0,30€ más.

Así que ya lo sabemos. A comprar a partir de ahora a través de Internet en los muchos sites que venden sin el canon o son de procedencia extrangera, o directamente a comprar a los chinos. Todos contra el canon!

Starcraft 640×480

StarCraftHace un par de semanas he vuelto a instalar el mítico Starcraft en mi portátil, para hacer partidas con los colegas. El problema (sí, hasta instalando juegos tengo problemas) es que la resolución original del Starcraft es de 640x480px, y mi ordenador no hacía el escalado para ver el juego a pantalla completa, sino que en vez de eso me centraba la imagen en su resolución original y rellenaba el resto de la pantalla en negro.

Buscando por ahí he encontrado que hay un parámetro en la Bios que necesita estar habilitado para que las pantallas LCD hagan el escalado en este tipo de aplicaciones. Concretamente, se trata del «strech mode» que ha de encontrarse habilitado. Sin embargo, éste viene por defecto habilitado en todos los PC’s, y también en el mío así que no se trataba de eso.

Resulta, que los portátiles Toshiba (o por lo menos el mío) que vienen con la gráfica de intel integrada, tienen un software encargado de la misma, que tiene una bonita opción «Pantalla completa (sin bordes)» que en este caso, no viene activada por defecto, y es necesario activar junto con la opción de la bios para conseguir ver los juegos con menor resolución a pantalla completa.

Jugando con el móvil

LemonEstaba escuchando el programa de radio 5.0 de RNE (todos los martes sobre las 23:05h), donde han hecho una interesante entrevista al director general (lo siento, no recuerdo su nombre) de LemonQuest, una joven compañía española de videojuegos para el móvil. Resulta sorprendente como pueden llegar a crecer estas compañías, ya que en menos de 2 años (se fundó sobre agosto del 2006) ya cuenta con más de 60 empleados en España, y más de 40 en sus dos filiales en China, más los nuevos proyectos en Estados Unidos. Aunque según acabo de leer (con la entrada ya redactada y a punto de publicar), se trata realmente de una fusión de dos compañías más una tercera aportando capital. Fuente: Mosaic

A parte del espectacular crecimiento, me llamó la atención cuando el presentador preguntó el porqué de realizar juegos para móvil, cuando se tiene la impresión de que donde está el prestigio y el negocio es en los videojuegos de consola. La respuesta fue clara, y vendría a decir algo parecido a lo siguiente: «la consola que más se ha vendido a lo largo de la historia es la PlayStation2, con unos 80 millones de aparatos. Si tenemos en cuenta que cada año se adquieren alrededor de 800 millones de nuevos teléfonos móviles, parece claro donde está el verdadero negocio». Pues sí, ahí le ha dado.

Por cierto, todos los podcasts de 5.0 están disponibles en su web.

Flickr! Foto por Annadriel

El futuro de los informáticos

FIBLeo en el blog de un buen amigo, Daniel Marí, el sorprendente resultado de una pequeña encuesta hecha a nivel de la Facultad de Informática de Barcelona, en la cual destaca que un tercio de los que acaban los estudios de informática, tienen pensado no ejercer como tal. Si a eso le sumamos otro tercio que quieren dedicarse a programar (y mira que he conocido gente en la facultad y todos queríamos huir de ser programadores) y otro nada despreciable 23% que tenía pensado ser emprendedor, nos quedamos con que apenas un 10% de la nueva hornada de ingenieros informáticos estarán disponibles en el mercado para dedicarse a redes, sistemas, auditorias, y todo el sinfín de posibilidades que ofrece la informática a parte de la programación. Si estos datos fueran extrapolables y pudiéramos pasar la muestra de la estadística a la población, realmente los que nos dedicamos a trabajar por cuenta ajena como informáticos no programadores, vamos a forrarnos en poco tiempo. Mola.

También sorprende la cantidad de gente que tiene pensado ser emprendedor. Sería interesante saber de ese porcentaje, cuantos acaban siéndolo, y es más, cuantos de los que sí lo son, lo son en España.

Solo como apunte, esta cantidad de nuevos programadores contrasta con el artículo que se publicó no hace mucho del conocido Enrique Dans, ¿Alguien ha visto un programador? y de las numerosas respuestas que salieron al respecto, debatiendo sobre la falta o no de programadores. Si bien, no se trata de un estudio riguroso, de hecho no es ni un estudio, sí que nos sirve para darnos cuenta de que si faltan programadores, no será porqué los informáticos no quieran programar (un tercio de ellos quiere).

Flickr! Foto por J.Salmoral