Blog de JoseMPelaez

Aprendimiento: aprender del entorno con atrevimiento

Posts Tagged ‘Amazon’

Buscador de fallos

Posted by josempelaez en Jueves, 28 agosto 2008

El crítico ocurrente y deslenguado también debe aportar datos y motivos para sustentar lo que dice, aunque sea emprendedor y escriba en The Register. La controversia de este apunte gira alrededor de los servicios para cloud computing de Amazon y Google.

El lunes pasado, cuando un tuiteo de tic616 me dio el queo, leí lo publicado por The Register (TR) sobre «Cloud computing: A catchphrase in puberty». Entre otras cosas pone que:

«You can come up with any CTO-friendlyname you like, but they all mean the same shit: Renting your quickly depreciating physical assets out because your software company is out of ideas for computer programs.
Amazon’s EC2 was likely the brainchild of a mid-level ops director who overbought for a data center and had to come up with a way to save his own ass. […]
A Cloud Is Easier To Draw On A Whiteboard Than A Grid
.
EC2 is very popular with the Web 2.0 crowd, which is strange, considering the hurdles that these Javascript all-stars need to overcome.
»

ted_dziubaTed Dziuba, el redactor de estas opiniones, es un matemático nacido en la costa este de los EE UU (Connecticut) en 1984 que, tras graduarse en 2006, trabajó en Google como desarrollador web en su intranet hasta que se aburrió al cabo de un año. En julio de 2007 fundó Persai con dos compañeros del Instituto Tecnológico de Rochester que habían montado el proyecto RadRails mientras trabajaban en IBM Rational. Para desarrollar un primera versión de un agregador de feeds personalizable contaron con el apoyo de los ángeles inversores que aportaron 35.000 $ hasta final de enero.

Ted también escribe sobre software desde la costa oeste (Frisco East Bay). Es donde se codea con “los que se sientan al otro lado de la bahía”, y donde algún editor de TechCrunch se “enganchaba” con él.

Su proyecto despertó cierto escepticismo cuando sacaron el “nuevo” servicio en beta a final de enero. Dos meses después, el proyecto parecía no marchar bien.

Su startup, de la que es el CTO, “renació” el 17 de julio de 2008 como Pressflip. Oficialmente se trató del lanzamiento público. Antes presentaban su sitio como un lugar donde ir a mirar lo que se publicaba en la web. En vez de utilizar un “filtro manual”, como Digg o Menéame, lo hacían “a máquina” con su software. Ahora ofrecen un motor de búsqueda persistente capaz de aprender para rastrear la web en busca de artículos con los que responder a la pregunta: “¿en qué estás interesado?”

A diferencia de la respuesta a lo que plantea Twitter, que te lleva a una cierta relación, aquí se trata de decirle al motor lo que quieres que te busque. Afirman que, como lo han dotado de inteligencia artificial, sus algoritmos van aprendiendo según vas respondiendo si te parece bien lo que te presenta. Sustituyen la red social que te “descubre” información interesante por una automatización del proceso.

ted_dziuba-persai

Persai is the company created by Matt Kent, Ted Dziuba, and Kyle Shank, who are perhaps better known as the guys behind Uncov, the recently shuttered blog known for its harsh, and profanity laced, criticisms of Silicon Valley companies. (Wired 080129)

A pesar de que Ted opine que Mike Arrington contemporiza con las startups, éste no valoró bien los resultados de su producto al referirse a su “planchazo” hace cinco semanas. Aprovechó para recordar que resultaba más difícil el hacer que el criticar a los que habían bajado a la arena. Resulta que Ted editó el blog Uncov en 2007 en paralelo con sus comienzos empresariales hasta muy poco antes de anunciar la beta, y que los tres colegas eran conocidos entonces por sus observaciones “trituradoras” sobre proyectos de la web 2.0. Ello les deparó ciertos epítetos e implicó algunas consecuencias (además de notoriedad para su nueva empresa y de lo que esperaba de TechCrunch).

Tras lo escrito en TR, veo que el mozo sigue sin afeitarse los pelos de la lengua. Continua aireando sus opiniones con un gracejo groserillo, cosa que muchos no hacen porque no saben, no se atreven o, sencillamente, les parece impertinente. Es una lástima que no aporte más datos o razones para que, aparte de entretenernos y servir de pasto para comentarios, pueda sostener más persuasivamente sus puntos de vista. Me llama la atención que no lo haga dados sus aprendizajes formales en Rochester, o empíricos en Google, aunque sólo “aguantara” un año.

Ted debe de valorarse como un buen técnico y crítico perspicaz, a la vez que aprecia incompetencia en muchos desarrolladores. Como consecuencia, metió puyazos sobre los fallos de los que consideraban la web 2.0 como una oportunidad para desarrollar un “sitio molón” al que atraer usuarios y dinero de algunos inversores, como en las “puntocom”. Él dice valorar la tecnología, y opina que Ajax no aporta nada relevante dado que todo su código está ya programado en las bibliotecas [“librerías” para los informáticos].

mike_arrington-techcrunchPues mire usted, joven, que diría mi abuelo. Comparto su opinión sobre que hay que aportar algo, pero debe valorar más que los mercados son agnósticos respecto de la novedad técnica, a diferencia de los políticos que dicen apoyar la innovación tecnológica para seguir el rollo de la Agenda de Lisboa. Es más, aquéllos suelen ser ateos, como usted sabe. Prefieren lo que está bien probado, resulta estable y resuelve alguna necesidad. Los clientes y usuarios aprecian y usan lo que les simplifica la vida y sus relaciones (Microsoft, Google, Amazon…), o lo que les hace sentirse diferentes sin complicaciones (Apple, BlackBerry…).

En fin, espero que Ted pueda explicarnos mejor algún día qué tiene en contra del marketing, de la «cloud computing», o de Amazon, de quien ha sido cliente, según cuenta. Quizá se precipitara al contratar su hosting “en la nube” esperando algo que todavía no ofrecían. Como poco, no creo que lleve ninguna razón cuando arremete contra sus responsables del CPD y del soporte.

Por un lado, menosprecia al equipo de Werner Vogels, que entró en enero de 2005 para montar los AWS de infraestructura (entre otras cosas). Por otro, recuerdo que antes habían migrado del enfoque back/front al grid para poder ir escalando de manera flexible. ¿A qué “sobrante” de capacidad se refiere? ¿Acaso intenta culparles de que su proyecto no sea rentable porque le cobran unos servicios hardware que deberían de regalarle por “tener de sobra”, según él?

werner_vogels-amazonSi miramos los perfiles profesionales de Werner y Ted veremos que son incomparables, aunque ambos sean CTOs. Quien haya tenido responsabilidades de explotación sobre una infraestructura telemática sabe que el buen funcionamiento de los servicios desencadena muchos quebraderos de cabeza. Aunque sólo emplee tecnología básica, cualquiera que te ayude a cumplir los objetivos de manera fiable se valora como una bendición, ya sea un vulgar comerciante o un ex empleador. ¿Que aún no llegan sus nubes al nivel celestial requerido para ciertas cosas? Pues habrá que seguir esperando mientras se trabaja “en las minas” de los CPDs internos.

Creo que el nuevo cuento sobre vendedores de picos y palas (Cisco/Nortel – Sun/IBM – Accenture/PwC – Amazon/Google) que nos ha largado este “aprendiz” de columnista crítico-sátiro no llega ni al rango de boutade. Espero que siga aprendiendo y balancee mejor sus dedicaciones al análisis, periodismo, tecnología y empresa. No descarto que tenga cierta razón tras lo que expresa en TR. Muchos sabemos cómo se funciona en las empresas grandes, pero también conocemos las expectativas de los clientes pequeños. En cualquier caso, no me ha parecido convincente según lo ha contado. En otra entrada volveré sobre este asunto.

Ahora bien, quizá lo que esté ocurriendo es que los editores británicos de TR pretendan recrear los chismes del Valleymag de Gawker para hacer “cloud fight” en vez de “food fight”. No me parece que sea un camino acertado para desarrollar profesionalmente una comunidad TIC.


[Foto 1: Ted Dziuba. Wired]
[Foto 2: Equipo de Persai. Wired]
[Foto 3: Mike Arrington. chesh2000]
[Foto 4: Werner Vogels. Mr Noded]

Entradas relacionadas: Confianza en la nube, Servicios externos, El software de la nube, Red como computadora, La nube de Amazon.

Actualización: Nick Carr, en Machine Head, a propósito de los gustos musicales de Werner, dice que «yeah, you bet your ass I’d entrust my mission-critical data and apps to this guy».

Posted in computación, emprendedor | Etiquetado: , , , , , , , , , | Leave a Comment »

El software de la nube

Posted by josempelaez en Viernes, 15 agosto 2008

El procesamiento de datos en paralelo tiene más de 40 años de historia. Que ahora se haga con los estándares de software de internet y se etiquete con «cloud computing» no le hace algo novedoso.

El comentario que hice en Infoman el sábado pretendía relativizar un eventual mensaje excesivamente cauteloso y general que hubiera podido dejar flotando. A pesar de su consejo de probar, podría pensarse que la «cloud computing» es algo a lo que acercarse con más precaución de la habitual. Dice que «como todas las modas, hay que esperar». Rodolfo añade que:

«la realidad de los servicios informáticos se descubre una vez ha pasado la primera ola de promesas y se pueden contar los éxitos y fracasos».

Yo lo veo de otra forma. No creo que la oferta de Amazon de «computación en la nube» (web) sea una “primera ola”. Por ello me puse a escribir el lunes. Quería analizar qué es lo realmente nuevo. Sigamos.

vax_clusterEl buen funcionamiento comercial de varios ordenadores trabajando conjuntamente en una red se remonta a 1984. Este año DEC sacó su “VAXcluster” con VMS. Estos sistemas se orientaban a procesos críticos de negocio. Varias máquinas trabajaban de forma conjunta ofreciendo más prestaciones y recursos redundantes. Respondieron muy bien, y lo siguen haciendo bajo la marca HP.

La ingeniería de los primeros procesos en paralelo con varios ordenadores, no obstante, se remonta a 1967. Se necesitaba distribuir trabajos de proceso y compartir archivos entre ordenadores. No debemos olvidar que internet y varias redes de ordenadores Unix —conectadas mediante el protocolo de conmutación de paquetes TCP/IP— se desarrollaron en los 70.

Podemos decir que Sun Microsystems ofrecía una proto «internet computing» en 1983. Según expone John Gage en el vínculo de la entrada previa, pronto emplearon el lema: «la red es la computadora». Usaban TCP/IP para interconectar sus máquinas, que utilizaban una variante del BSD Unix (Solaris).

Las redes de área local proliferan a partir de finales de los 80 para integrar los micro ordenadores en la informática corporativa. Implican otro espaldarazo a la computación distribuida. La arquitectura cliente/servidor reparte las tareas de proceso entre distintas máquinas especializadas (datos, cálculo, presentación).

En los segundos 90 se habla ya de «grid computing» para referirse a redes de ordenadores menos acoplados que en los clusters anteriores. Un distingo relevante era que los equipos no tenían que ser homogéneos. La metáfora hace referencia a la semejanza entre esta infraestructura de computación y «The Grid». Éste es el apelativo que el sistema de generación y distribución eléctrica recibe en los EE.UU.

seti_at_homeNo hay que olvidar otros hitos de la “computación en red”: en 1999 nacieron SETI@home y Napster. Junto a otras propuestas, permitían la colaboración entre PCs. Ello supuso un hito significativo en el establecimiento y difusión de las redes P2P (peer-to-peer) para compartir archivos y procesar información en paralelo.

Por consiguiente, podemos afirmar que hay muchas cosas probadas que “funcionan en la nube” desde hace años, aunque haya habido innovaciones. ¿Qué diferencia real hay entre el «cloud computing» de ahora y el «parallel processing» de hace 40 años?

La necesidad de proceso distribuido surge cuando un ordenador se queda corto para resolver un problema de cálculo, o de disponibilidad del sistema. Si una línea de telecomunicaciones conecta un terminal remoto con un ordenador central también puede unir dos o más ordenadores. Se pueden mandar bloques de programa, datos para ser tratados en paralelo y resultados de los procesos. Es una cuestión de programación modular, y de coordinación de los bloques de trabajo que se separan e integran para hacerlo.

Diseño modular, programación orientada a objetos, desarrollo basado en componentes, cohesión y acoplamiento, middleware, servicios web, arquitectura orientada a servicios… son la traslación de enfoques probados en la ingeniería civil o industrial a la construcción de software. Creo que los avances en los métodos y herramientas de desarrollo de programas, y su progresiva orientación a componentes encapsulados interoperables, son los que han permitido evolucionar un planteamiento antiguo.

Por un lado tenemos las aplicaciones construídas con módulos débilmente acoplados, que se pueden reusar, cambiar o reemplazar de manera gradual con menor riesgo. Éstos también permiten concebirlas para que sean ejecutadas en varios hilos de proceso paralelo. Por otro están las «máquinas virtuales» y herramientas evolucionadas de los sistemas operativos. Permiten ejecutar los procesos en varias equipos heterogéneos de manera simultánea, incluso si las aplicaciones que corren por encima no se diseñaron para ello.

system_network_mgmt¿Cómo pueden interconectarse fácilmente estos nuevos programas de mayor o menor nivel? Los protocolos, lenguajes y esquemas estandarizados por la difusión de internet han aportado una solución al problema. Las redes corporativas de transmisión de datos que conectaban los equipos de AT&T, IBM y DEC eran las tres mayores del mundo a primeros de los 80, pero no se entendían bien. Cada una se gestionaba con un protocolo de comunicaciones diferente que dificultaba los intercambios de datos entre redes. Internet fue cambiando paulatinamente este panorama, que aún se alteró más rápidamente con la expansión de la aplicaciones de la web estándar a partir de 1995.

En mi opinión, lo único que pudiera haber de nuevo en la «cloud computing» actual es el software específico de “paralelización” o de aplicación que se esté utilizando. Los conceptos están probados desde hace mucho tiempo y, en muchos casos, se usan herramientas probadas o de código abierto.

Ahora bien, como en toda implementación de un nuevo sistema de arquitectura testeada, hay unos ciclos de maduración del software que se pueden ejecutar mejor o peor. Además, puede avanzarse en fases muy largas (como en las versiones de Windows), o en etapas temporales cortas e incrementales de menor riesgo (como en los servicios de Google).

Cuando empezó con las subastas, Amazon tuvo que cambiar la plataforma típica de las “puntocom” (servidores de datos y de aplicaciones) para afrontar los nuevos retos y resolver los serios problemas que ya tenía. Tras haber probado con un mainframe, acertó con una arquitectura distribuida centrada en La Red.

A Bezos le gusta decir que, en el fondo, Amazon es una empresa de software. Han ido desarrollando sus aplicaciones y utilidades desde que empezaron. En el caso de «la nube de Amazon», por tanto, mi pregunta sería: ¿podemos confiar en el trabajo hecho por sus desarrolladores? ¿Qué han demostrado en los años que llevan explotando sus AWS y, en particular, S3 y EC2? ¿Existen en el mercado mejores alternativas a su oferta actual?

En nuevas entradas continuaré con estas reflexiones y trataré de abordar las cuestiones pendientes de las precedentes.


[Imagen 1: Esquema VAX-Alpha cluster. HP ]
[Foto 2: La unión hace la superfuerza. rmundaca]
[Imagen 3: Comunicaciones digitales. Human Productivity Lab]

Entradas relacionadas: Red como computadora, La nube de Amazon.

Posted in computación | Etiquetado: , , , , , | 2 Comments »

La nube de Amazon

Posted by josempelaez en Lunes, 11 agosto 2008

En 2004, Amazon amplió su negocio tradicional y entró a competir en los de proceso de información e infraestructura informática con sus AWS. Un primer efecto ha sido la gran difusión posterior de la expresión «cloud computing».

El sábado comenté en una breve nota del blog de Rodolfo Carpintier sobre la «cloud computing». Su recomendación de adopción cautelosa frente a otras opciones me dejó pensando en los porqués que hay detrás de los motivos evidentes cuando se trata de probar algo… ¿nuevo?.

aws_virtual-worldsLa primera vez que vi lo de «computar en la nube» fue cuando Amazon anunció su servicio web EC2 (Elastic Compute Cloud) en agosto de 2006.

Jeff Bezos fundó la empresa en 1994 como pionera de la venta en línea para ser un “grande de internet”. Acababa de nacer la web como escaparate de ésta, y él tenía experiencia informática reconociendo patrones de conducta y sacando conclusiones de la gestión de grandes cantidades de datos.

Diez años después decidió seguir ampliando sus posibilidades de negocio. Para ello se basó en los aprendizajes y competencias adquiridas explotando un sitio web de comercio electrónico con una oferta creciente de productos de una gama de categorías en expansión contínua. Para hacerlo tuvo que abrir sus cofres llenos de información recopilada y herramientas, así como las cajas de sus nuevos sistemas informáticos distribuidos, activos que comenzó a ofrecer al mercado a través de los estándares de «servicios web».

Ha ido publicando una serie de interfaces de programación de aplicaciones (APIs) que han generado demanda para su nueva oferta de servicios. Las interfaces públicas permiten interaccionar con los desarrollos internos que ha ido enmarcando en una oferta externa para comerciantes, analistas de mercado, publicistas, desarrolladores, usuarios… bajo el acrónimo AWS (Amazon Web Services).

En agosto de 2004 comenzó ofreciendo en la web ciertas capacidades de comercio electrónico y de gestión de información que han ido ampliando de manera contínua: escaparate, tienda, pagos, anuncios, búsquedas, estadísticas, mensajes… (ECS: E-Commerce Service, Alexa Web Information Service…). A partir de marzo de 2006 se incorporaron las de su infraestructura técnica: almacenamiento (S3: Simple Storage Service, SimpleDB), computación (EC2)… amazon_fulfillment_serviceEn marzo de 2008 anunció su servicio web más reciente: las APIs para emplear su centro de expediciones desde la web (FBA: Fulfillment by Amazon), que facilita de manera singular el acceso a la oferta de logística y atención al cliente que hizo en septiembre de 2006.

La empresa fundada por Jeff Bezos, un pionero capaz de navegar contra el viento y la marea de Wall Street que, además, analiza su empresa en términos de capacidad de aprendizaje contínuo, dice en su oferta de S3:

«Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.»

En la de EC2, servicio que fue anunciado cinco meses más tarde, se escribía:

«Amazon EC2 is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.»

Es como si, en ese intervalo de tiempo, alguien en Amazon hubiera recordado el típico uso de “la nube” y, desde marketing, lo hubieran unido a computación para no tener que referirse a procesar «cualquier cantidad de datos, tiempo y lugar en la web».

En este momento desconozco si quien primero empleó esa expresión metáforica para el proceso en la web pretendía evocar sus constantes cambios de forma. Puede que quisiera referirse a su capacidad para crearse y deshacerse, o su facilidad para estar hoy aquí y mañana allí, según la demanda (¿eólica?). Quizá no se diera cuenta de que “la nube” es vista muchas veces como algo etéreo o amenazante. En realidad puede que nadie pensara en nada de todo esto al empezar a usarla comercialmente.

connectivity_cloudLo más probable es que su uso provenga de su habitual empleo en los esquemas de redes informáticas. Como se lee en el enlace precedente, la nube ha sido un icono muy empleado para representar un conjunto de servicios procedente de una red de servidores fuera del entorno estudiado que se relacionaba con él. Particularmente se usa mucho si esta red es internet o, más recientemente, la “web 2.0”, pero no sólo en estos casos ya que su uso viene de antes.

Independientemente del origen de la metáfora comercial, ¿hasta dónde puede confiar una empresa en la cloud computing? ¿Vale sólo para los individuos, pymes o startups sin dinero que gastar en recursos informáticos dedicados y controlables? ¿Sólo sirve para la explotación de sitios web? ¿Qué relación tiene con el utility / on-demand / grid / distributed computing? ¿Cómo han resuelto hasta ahora las empresas grandes sus necesidades de explotación profesional y flexible de la infraestructura informática y de telecomunicaciones? ¿Qué impacto van a sufrir las empresas de outsourcing informático y alojamiento de servidores?

En una entrada posterior me remontaré en el tiempo para intentar ver de dónde vienen estas nubes que Amazon y otros actores siguen poniendo a nuestro alcance.


[Imagen 1: Presentación de Jeff Barr (AWS Evangelist). extralab]
[Imagen 2: «Fulfillment by Amazon». Amazon]
[Imagen 3: Esquema en proyecto Internet 2 de 1998. Juha Eskelin]

Posted in computación | Etiquetado: , , , , , , , | 4 Comments »