Publicidad:
La Coctelera

Sugerencia de presentación

He nacido para vago

9 Octubre 2006

Libros: Building Scalable Web Sites

Va de programación web, pero a lo bruto. No tanto de las propias técnicas de programación web (hay muchos libros sobre eso), como de los aspectos a tener en cuenta cuando se aplican esas técnicas a aplicaciones grandes. Y por grandes no se refiere especialmente a funcionalidad (aunque normalmente también) como a tráfico, recursos necesarios, etc. El autor, Cal Henderson, dirigió el desarrollo de Flickr, así que parece saber de lo que habla.

¿Qué es la escalabilidad, o una aplicación escalable? El autor la define (para dejar clara la clásica confusión de escalabilidad con rendimiento) como la presencia de tres características:

  • El sistema puede acomodarse a un uso creciente
  • El sistema puede acomodarse a un conjunto de datos creciente
  • El sistema es mantenible

El libro empieza flojo. En los primeros capítulos desgrana una serie de consejos genéricos, que más que para la construcción de una aplicación escalable, son para la construcción de una aplicación que no sea una castaña. Puras obviedades. No dice ninguna tontería, pero tampoco nada que un programador pragmático no sepa, y además de una forma para mi gusto confusa y poco amena.

De esta primera parte rescataría el capítulo sobre internacionalización, códigos de caracteres, etc., donde sí es didáctico y en pocas páginas arroja luz sobre una parcela que solemos pasar de puntillas y que da más dolores de cabeza de los que debería a estas alturas de la Era De La Información (tm).

Los dos capítulos que sí merecen la pena y que son la madre del cordero (y que saben a poco, porque con ese pedazo de introducción se quedan en menos de 100 páginas) son aquel sobre rendimiento, y el que habla de la escalabilidad propiamente dicha.

En esos dos capítulos, sin entrar demasiado al detalle, en primer lugar porque no hay recetas mágicas, y en segundo porque si las hubiera no cabrían en esas 100 páginas nos cuenta, entre otras cosas, técnicas para encontrar los cuellos de botella de nuestra aplicación, un repaso de los más típicos, y las maneras de solucionarlos, con especial atención al caching. Eso en cuanto a rendimiento.

En cuanto a escalabilidad, aparte de contarnos lo que es, por qué mola, y por qué es un objetivo a perseguir (y recordemos que no es el arte de hacer aplicaciones grandes, sino el de hacer aplicaciones que puedan convertirse en grandes en el momento necesario sin esfuerzo), nos habla de los tipos de escalabilidad (vertical y horizontal), y por qué la primera es caca y la segunda lo mejor desde el pan de molde. Y luego, claro, las técnicas para hacer escalable nuestra aplicación, capa por capa (sí, amigos; si vuestra aplicación no tiene capas, olvidaros de hacerla escalable), con especial atención a la de base de datos que, como sabrá cualquiera que lo haya tenido que hacer, es la más difícil de hacer escalable.

Luego cierra con dos capítulos que a mi juicio le sobran, por una parte porque tienen poco que ver con escalabilidad, y por otra porque los toca de manera absolutamente superficial, sobre monitorización y sobre web services.

Lo peor: lo larga y poco valiosa que es la introducción. Otra cosa digna de señalar son los enormes saltos de nivel que pega: lo mismo te explica lo que es el HTTP que te suelta perlitas como "esta técnica está bien, pero no es muy sólida y a partir de 1.000 servidores escala peor" (no, no es una errata mía, pone mil).

Lo mejor: los capítulos que representan el meollo y que al fin y al cabo son la razón por la que alguien se leería este libro son excepcionales. Concisos, claros y directos, no te dan la solución a tus problemas (lo cual como dije sería imposible porque cada aplicación es diferente), pero sí muy buenas pistas para buscarla tú mismo.

No voy a ponerme a pintar estrellas pero, de 5, le doy 3. Si tuviese 100 paginitas con la parte molona, le daría 4 largas, pero qué le vamos a hacer.

Building Scalable Web Sites, Cal Henderson
O'Reilly, Mayo 2006

servido por porras 3 comentarios compártelo

3 comentarios · Escribe aquí tu comentario

jotaluis

jotaluis dijo

sí yo también vi un pez de esos en jara y sedal

11 Octubre 2006 | 03:49 PM

gastronio

gastronio dijo

Si lo ve Chanquete se lo compra, parece una dorada (de ración).

11 Octubre 2006 | 03:55 PM

sergio

sergio dijo

Es una carpa (supongo, al menos en inglés es "carp") o Cyprinus Carpio. Ni las anécdotas me saben ya comentar, ois.

11 Octubre 2006 | 03:58 PM

Escribe tu comentario


Sobre mí

Avatar de porras

Sugerencia de presentación

ver perfil »
contacto »

Me llamo Sergio Gil Pérez de la Manga, y mi madre se cabrea si escribo mi nombre con un sólo apellido. Vivo, trabajo y hago casi todo lo demás en Madrid.

Trabajo como programador porque es lo más parecido que he encontrado a no trabajar. Sobre todo si lo haces bien. Y en eso estoy, en hacerlo cada vez mejor para trabajar cada vez menos. Alguno lo llamaría vagancia, y yo ahí no me meto.

Algunas de las herramientas que en este momento me llevan al Nirvana de no dar un palo al agua son Ruby, Ruby on Rails, Textmate, cualquier sabor de Unix (en este momento principalmente MacOSX pero también Ubuntu Linux) y sus herramientas, o Rake. En ocasiones hablo de ellas aquí, pienso que a alguien le pueden servir y que no puedo ser el único al que no le gusta trabajar.

Y como no sólo de tecnología vive el hombre (bueno, el hombre no sé, pero desde luego yo no), por aquí aparece de vez en cuando la punta del iceberg de mis pequeños pensamientos; al menos la parte de ellos que no cabe en Twitter.

Bienvenidos todos.

Y ahora: ¿Y tú?

Fotos

porras todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera