martes, 17 de abril de 2012

Migrando de Blogger a Octopress

Tiene toda la pinta de que de ahora en adelante mi plataforma de blog (aunque no sea muy habitual) pase a ser octopress.

De momento la migración ha sido sencilla y entretenida y aquí está el resultado: Migrando de Blogger a Octopress - Achied's Blog

lunes, 28 de noviembre de 2011

Instalación de ruby 1.9.2 con rvm: Error en yaml-0.1.4

Enredando estos días con cloudfoundry, unas de los elementos que instala y configura es rvm, un sistema de gestión de versiones de ruby y sus gemas. Muy útil a la hora de estar con desarrollos donde las dependencias y las versiones son dispares. Permite aislar los entornos y adaptarlos de forma personalizada, elegir la versión de ruby más adecuada, construir un grupo de gemas específico para cada entorno, ...

Después de haber instalado rvm la compilación de ruby nos da un error extraño

error de configuración y compilación de yaml-0.1.4

Para solucionar este pequeño inconveniente realizamos los siguientes pasos:

Instalamos libtool, en el caso de no tenerlo instalado
apt-get install libtool
Entramos dentro del directorio donde están las fuentes de yaml
cd .rvm/src/yaml-0.1.4/
Eliminamos los ficheros generados de forma errónea
rm aclocal.m4 
rm config/ltmain.sh
Volvemos a reconfigurar para generar los ficheros eliminados de forma adecuada
autoreconf
reconfiguración de yaml
Y reinstalamos la versión de ruby
rvm install 1.9.2-p180

Al final tenemos nuestra versión 1.9.2-p180 funcionando correctamente y sin problemas

Instalación correcta


viernes, 18 de noviembre de 2011

Tanto leer y tan poco escribir!!!

Hace no mucho tiempo, comencé con mucha ilusión este blog. Decidí concentrar los primeros artículos sobre soluciones Cloud que a mi juicio aparecían de forma emergente en la mayoría de las noticias que iba leyendo.
Conseguí hacer algún breve resumen, de forma introductoria, para luego poder profundizar de forma más detallada. Fue en este punto cuando empecé a entrar en una doble espiral:
  1. Quería escribir un artículo sobre los componentes fundamentales y su instalación
  2. Quería hacerlo perfecto
Entrar en detalle sobre algo que estás empezando a conocer... lleva tiempo y si encima quieres hacerlo perfecto y nunca terminan de gustarte los innumerables borradores que vas escribiendo...
Ahora no es que esté en mejores condiciones de abordar esta tarea, es que he decido escribir lo que sé y como lo sé. De forma sencilla, compartir aquello que ha sido capaz de captar mi atención y ha sido relevante para mí.
Por eso, en este artículo, serán muchas las referencias a un tiempo extenso y próspero de búsquedas y lecturas intensas. Como resultado, mencionar y enlazar aquellas cosas que otros me han mostrado y ... ¿para qué repetirlo si ellos lo han hecho y lo han hecho bien?
Han sido dos los proyectos que me han enganchado desde el primer momento:
Empecé con el primero haciendo las primeras instalaciones en base a varios artículos y documentaciones
artículos que ha sido de provecho pero que hay que ir complementando debido a la nueva versión liberada a finales de Septiembre, Diablo Release.
Quiero hacer una mención especial de Stackops, empresa española de referencia en la comunidad como lo constatan sus participaciones y sus reconocimientos
No han sido pocas las noticias sobre la evolución del proyecto y la cantidad de compañías que se han ido adhiriendo a la marcha del mismo:
Su arquitectura sigue en evolución. Muestra de ello es el número de proyectos que están naciendo alrededor del proyecto añadiendo un valor muy interesante:
En la página principal del proyecto podemos ver una referencia completa.
En cuanto a CloudFoundry la cosa ha sido más vertiginosa si cabe, dado que he decidido hacer una apuesta personal por este proyecto siguiendo las líneas de desarrollo más de cerca. En muy poco tiempo se ha ido añadiendo soporte para muchos entornos y servicios. Entre los más destacados
Salen a escena AppFog y ActiveState ofreciendo sus esfuerzos llevándose como galardón el rol de "Community Lead" en sus respectivos campos. Recientemente Joyent ha sido nombrado Community Lead para el soporte de Node.js
Numerosos los eventos y artículos relacionados con el proyecto, numerosas las iniciativas y esto sigue sin parar.
Aún queda mucho por aprender y mucho por seguir leyendo. Pero es de agradecer la cercanía y disposición que te prestan cuando muestras interés por colaborar.
Hasta aquí un breve resumen de todo este tiempo y la andadura por muchas tecnologías y conocimientos paralelos: Chef, Puppet, Rvm, Ruby, Rails, Vagrant, Nats, New Relic, Collectd, CEP, CEE... y un largo etcétera.

A partir de aquí tomaré la determinación de ir poniendo posts más breves, y no queriendo ser tan perfeccionista y organizado. Al final se trata de mostrar lo que sé y como lo sé. Ir compartiendo lo cotidiano de mi trabajo e inquietudes al ritmo al que se van presentando. Puede que sea menos atractivo pero desde luego es mucho más cercano y coherente.

lunes, 23 de mayo de 2011

Arquitectura Cloud básica

Es irónico pero, despúes de empezar a hablar de las bondades del Cloud y definir los elementos de su arquitectura básica, a blooger le dio por fastidiarse. También se fastidió mi último post y algunos de mis borradores.

Eso me pasa por no tomar la medidas que hay que tomar en cualquier entorno:
  • Copias de seguridad
  • Plan de contingencia
Y es que en el Cloud no existe la magia y hay que tener en cuenta que las ventajas exponenciales que se pueden experimentar y pueden ofrecer a usuarios y desarrolladores crecen de igual forma en la complejidad de su gestión y mantenimiento.

Así que para enmendar mi torpeza haré un breve resumen de lo que presentaba en la última entrada.

Arquitectura Cloud básica

Los elementos fundamentales de la arquitectura cloud no difieren mucho de aquellos que tradicionalmente conocemos. Antes de desplegar ningún tipo de servicio o desarrollo, es preciso disponer de una plataforma que nos ofrezca los recursos necesarios para el ciclo de vida completo de nuestra aplicación: Un contenedor de ejecución, una fuente de acceso a datos, ... Y esta plataforma, a su vez, ha de descansar en alguna infraestructura que le ofrezca los recursos de cómputo, memoria, red...

Un ejemplo concreto tradicional
Servicio: Una página web
Plataforma: Un servidor web, Una base de datos
Infraestructura: Un PC o servidor

Evidentemente la evolución de la tecnología y de la mano de la virtualización ha provocado la revolución de las arquitecturas tradicionales. Escalabilidad, Disponibilidad, Redundancia, Balanceo de Carga, ... vuelven a ser conceptos conocidos que están subiendo de escalafón constantemente.


SaaS

Se trata de la capa más externa, destinada al usuario final, principalmente. Es el Software como Service (Software as a Service). En esta capa se dan servicios de lo más vario pinto. Desde servicios de correo electrónico, álbumes de fotos, gestión de contactos, gestión de proyectos... hasta servicios que nos ofrecen almacenamiento. En este plano nos encontramos con gmail, flickr, salesforce, teambox y dropbox, por poner algunos ejemplos.

PaaS

Se trata de la capa intermedia y que cada vez está adquiriendo más importancia. Fundamentalmente desde el punto de vista de los desarrolladores. Es la Plataforma como Service (Platform as a Service). En esta capa encontramos los recursos necesarios para poder desplegar nuestras aplicaciones (nuestros servicios). Algunas referencias tenemos en Google App Engine, Azure, Heroku, ...

El pasado mes de Abril entró en juego una solución promovida por VMWare de la que hablé en CloudFoundry: Nueva PaaS (Platform as a Service)

Ya hablaba del vértigo que estaba despertando la plataforma y las numerosas aportaciones para soportar PHP y Erlang. Otra muestra es un fork reciente para dar soporte a aplicaciones Python y Perl, llamado Stackato. Esto es una muestra más del incentivo que supone disponer de soluciones abiertas y la garantía de calidad y competitividad en el mercado.

IaaS

Se trata de la capa que gestiona la infraestructura como un servicio (Infrastructure as a Service). Es aquí donde se realiza la provisión de los recursos de bajo nivel, número de procesadores, cantidad de memoria, almacenamiento, ancho de banda... incluso el sistema operativo que será el último estrato de recubrimiento del servicio. Servicios de infraestructura encontramos en Amazon, RackSpace, GoGrid, ...

De la mano de RackSpace disponemos de una solución libre, OpenStack. Una solución que está adquiriendo un protagonismo importante. Muestra de ello es la elección de Ubuntu como plataforma Cloud para su paquetería de la nube en lugar de Eucalyptus, como venía haciendo en versiones anteriores.

Como se puede apreciar, cada vez son más las soluciones y opciones en este nuevo reto. Medios de difusión, estrategias de mercado y apuestas innovadoras por parte de organizaciones grandes y pequeñas están despejando un camino que deja de estar tan en el aire como cabría pensar.

Esta vorágine aumenta el desafío constante de los usuarios, responsable e ingenieros de TI que vuelven a ver cómo se pone patas arriba los procedimientos y protocolos tradicionales de desarrollo, despliegue y aprovisionamiento. Uno experimenta la sensación de que... después de todo lo aprendido, volvemos a estar como al principio... aprendiendo.

Por esta razón trataré de hacercarme a las distintas capas con alguna prueba de concepto para conocer algo más de este nuevo mundo (si no pierdo más posts :D )

Siguiente parada... OpenStack.

martes, 3 de mayo de 2011

CloudFoundry: Nueva PaaS (Platform as a Service)

En el pasado mes de Abril, de la mano de vmware y springsource, nace una nueva solución en el mundo de la nube. Una solución PaaS que permite el despliegue de aplicaciones evitando la complejidad de las configuraciones hardware, software y servicios subyacentes necesarios para el correcto ciclo de vida de cualquier aplicación, desde su desarrollo hasta su puesta en marcha.

Pero... ¿qué es esto de la nube? Ciertamente el número de definiciones y conceptos es dispar. En muchos casos no se termina de tener una idea clara de ¿qué es la nube?. Quizá por eso se denomine de forma tan difusa ;-).

En algunos casos (Grid and Cloud Computing: A Business Perspective on Technology an Applications, por ejemplo) se ve el Cloud Computing como una evolución del Grid Computing. Y creo que no les falta razón. De hecho comparten muchos puntos en común en la orientación de su paradigma y con unas virtudes muy similares.

No prentendo hacer una comparativa en toda regla, ni mucho menos. No creo que tenga los conocimientos adecuados para hacer algo de semejante calado medianamente bien, prefiero traeros un artículo muy interesante donde realizan este análisis desde los distintos ángulos entre el Cloud Computing, Grid Computing y Distributed Systems: Cloud Computing and Grid Computing 360-Degree Compared.

En esta evolución, no son pocos los movimientos que se vienen desarrollando en este tipo de plataformas. Véase como ejemplo:
Pero hay algo que, a mi parecer, hace a CloudFoundry algo diferente.

  1. Proyecto Open Source: www.cloudfoundry.org. El código está disponible en https://github.com/cloudfoundry Y esto hace que sea muy muy interesante.
  2. Sin restricciones en los frameworks soportados.
  3. Cloud Foundry Micro Cloud. Previo registro nos pueden habilitar una micro nube descargable de forma que podamos hacer nuestras pruebas en nuestros propios entornos. Nos da la capacidad de tener PaaS en una de nuestras máquinas.
Definitivamente creo que springsource y vmware han hecho un movimiento muy inteligente a la hora de proporcionar una plataforma tan abierta. En su FAQ justifican y detallan esta elección. 

Esto es lo que se puede ver a simple vista. Espero poder entrar en mayor detalle según me acerque a las plataformas con ejemplos sencillos que nos permitan conocer mejor sus características y modos de uso.

viernes, 29 de abril de 2011

Resaltando sintaxis en blogger

Estaba pensando en elegir alguno de los temas que tengo apuntados cuando me asaltó la duda de cómo poder formatear los fragmentos de código en el blog.

¿Editar en HTML? Bastante me ha costado empezar como para encontrar una excusa barata para rendirme :D

Así que... ¡Por el podeeeer deeee Google!

syntax highlight blogger

Y encontramos un enlace que nos lleva a la madre del cordero SyntaxHighlighter

En esta página tenemos algunos enlaces interesantes de cómo integrarlo con blogger y, particularmente me quedo con este:
http://www.cyberack.com/2007/07/adding-syntax-highlighter-to-blogger.html

Así que... manos a la obra:

Me voy a la pestaña de Diseño





Selecciono Edición de HTML









Descargo la plantilla completa por si las cosas salen mal y... copio el código pertinente en el recuadro editable de la plantilla
















¡Código ya resaltado!




Prueba superada. Ya iré pensando en otro tipo de retoques de la plantilla... aunque ya he reconocido que no tengo especial arte para esto.

Por último, aquí os dejo un listado interesante de resaltadores de sintaxis

miércoles, 27 de abril de 2011

Mañana empiezo...

Este verano, leyendo Y Google, ¿cómo lo haría? uno de los libros de Jeff Jarvis,  me dije: ¡Tengo que escribir un blog!

Respiraba emoción por todos los poros, en menos de una semana me había leído el libro y había convencido a más de 5 personas para leerlo. Estaba dando la paliza a todo el mundo sobre los conceptos y planteamientos que debíamos abordar para oxigenar nuestro querido mercado español y su acuciante crisis.

Me encontraba como un niño que después de ver una película de Supermán... ¡decide ser superhéroe!

Empecé a darle vueltas sobre lo que podría escribir y la cosa parecía que iba a funcionar por el aluvión de ideas que iban surgiendo. Y empecé a usar la fátidica táctica de Mañana empiezo. Y así fue pasando el tiempo. Hablar, hablaba mucho, pensar... también ¡pero no escribía nada!

No todo fue en vano. Durante ese tiempo, con algunos de mis compañeros, surgieron ideas tan frescas que empezamos a hablar de ponerlas en práctica. Pero yo seguía siendo fiel a mi Mañana empiezo y sumé alguna que otra limitación para no poder seguir el ritmo. Ellos, afortunadamente hasta hoy, son fieles al concepto y desde aquí les saludo: ¡Aupa Nexora!

Ahora que lo pienso, no fue ésta la primera vez que quise hacer algo por el estilo. Tuve otra intentona con otros amigos a los que se debe el nombre de este blog. Llegamos a tener incluso reuniones de objetivos y un hosting durante... ¡6 meses sin tocarlo! En esa época "blogeábamos" (perdón por el palabro) para el seguimiento de los proyecto. Y alguno apuntaba maneras. Siempre le he dicho que cuando escriba un blog seré un fiel seguidor. De hecho todos esperábamos su post para pasar un buen rato. Pero de nuevo, allí quedó todo.

Y así seguía yo, con algún pájaro más en la cabeza, eso sí. Ya empezaba a hacer algún uso más o menos decente de mi cuenta de twitter. ¡Toda una novedad eh!

No han sido pocas las veces que he empezado un post y lo he dejado, porque me parecía una chorrada, porque quería poner un diseño más chulo, porque pensaba... ¿y si ya no escribo más? ¿y qué pensará la gente? ¿pero si no hay color entre lo que escribo y lo que leo? ... y alguna más que no traeré a la memoria para hacer el esfuerzo de terminar éste y no quedarme en el camino.

Pero el otro día me mandaron por correo unos consejos útiles a la hora de escribir un blog. Lo cierto es que la mayor motivación no han sido los consejos, aunque no comparta todos, sino el desafío que me supuso. Encontré algún que otro decálogo para estos menesteres. Me quedo con los siguientes puntos:

  1. Escribir por inspiración, por gusto...
  2. Explorar los temas que te apasionan
  3. Exponer las ideas de forma libre
  4. ¡No desesperes!
Y aquí estamos, con la esperanza de darle al botón de Publicar Entrada cuanto antes ver cómo se va desarrollando la cosa.

El diseño, el logo... sí sí, son un poco cutres pero estoy aplicando eso de "la vida en beta" que será la única forma en la que consiga arrancar. Nunca se me han dado bien los escaparates.

Por fin Hoy he empezado... mañana sigo.