Últimamente ando involucrado en varios proyectos en los que debo analizar la arquitectura de sistemas de información de grandes multinacionales. Un denominador común de estos proyectos es que tarde o temprano recibo la tópica respuesta «con nuestros inmensos volúmenes eso no es posible».
Siempre reacciono de la misma forma, preguntando cuáles son (cifras) esos enormes volúmenes y muy a menudo resulta que la respuesta no está muy a mano. La enormidad es una sensación que no se concreta en cifras.
Y entonces llego a artÃculos como éste (la fuente original es ésta) en el que se informa de que eBay atiende mas de 5.700 millones de invocaciones mensuales a su API y pienso – esto si que es volumen y no los que gastamos por aquà – 🙂
En este otro artÃculo podéis encontrar información acerca de cómo eBay es capaz de hacer esto. Para los impacientes, el stack tecnológico es Java, IBM WebSphere Application Server y Oracle Enterprise Server; nada demasiado cool 😉. Lo cool está en la forma de usarlo, lo estrictos que son en el cumplimiento de los principios de diseño. Algunas pinceladas:
- La base de datos es el cuello de botella, hay que llevarse todo el proceso posible a las capas superiores (incluso joins).
- La estrategia de escalado es horizontal.
- El desacoplamiento es vital. Integración asÃncrona entre los componentes.
- Hay que virtualizar todos los componentes posibles. Reduce las dependencias de los elementos fÃsicos y facilita el despliegue y la evolución de la plataforma.