Вы находитесь на странице: 1из 4

Informacin general sobre escalabilidad La escalabilidad debe formar parte del proceso de diseo porque no es una caracterstica separada

que se pueda agregar despus. Al igual que con otras funciones de aplicacin, las decisiones que se tomen durante las primeras fases de diseo y codificacin determinarn en gran medida la escalabilidad de la aplicacin. La escalabilidad de una aplicacin requiere una pertenencia equilibrada entre dos dominios distintos, software y hardware. Puede avanzar grandes pasos que aumenten la escalabilidad de un dominio slo para sabotearlos cometiendo errores en el otro. Por ejemplo, la creacin de un grupo de servidores Web con equilibrio de carga no beneficiar una aplicacin Web que se ha diseado para ejecutarse un solo equipo. De igual modo, el diseo de una aplicacin altamente escalable y su implementacin en equipos conectados a una red con poco ancho de banda no controlar bien las cargas pesadas cuando se sature el trfico en la red. Como hacer que un sistema sea escalable. Ejemplos La escalabilidad debe formar parte del proceso de diseo porque no es una caracterstica separada que se pueda agregar despus. Al igual que con otras funciones de aplicacin, las decisiones que se tomen durante las primeras fases de diseo y codificacin determinarn en gran medida la escalabilidad de la aplicacin. La escalabilidad de una aplicacin requiere una pertenencia equilibrada entre dos dominios distintos, software y hardware. Puede avanzar grandes pasos que aumenten la escalabilidad de un dominio slo para sabotearlos cometiendo errores en el otro. Las aplicaciones distribuidas son aplicaciones que estn diseadas como aplicaciones de n niveles. La arquitectura de estas aplicaciones distribuidas favorece

el diseo de aplicaciones escalables compartiendo recursos, como bases de datos y componentes empresariales. Podemos hacer un sistema escalable de dos maneras: (i) Escalar en vertical El escalado en vertical es el trmino que ms se utiliza para lograr escalabilidad utilizando software mejor, ms rpido y ms caro. El escalado incluye agregar ms memoria, ms procesadores o procesadores ms rpidos o, simplemente, migrar la aplicacin a un nico equipo ms potente. Normalmente, este mtodo permite un aumento en la capacidad sin requerir cambios en el cdigo fuente. Desde el punto de vista administrativo, las cosas permanecen igual puesto que sigue habiendo un nico equipo que administrar. Escalar en vertical conlleva tambin otros posibles problemas. El uso de un nico equipo en el que basar una aplicacin crea un nico punto de error, lo que disminuye enormemente la tolerancia de errores del sistema. Si bien algunos mtodos, como varias fuentes de alimentacin, pueden implementar redundancia en un sistema de un nico equipo, pueden resultar costosas. El escalar verticalmente o escalar hacia arriba, significa el aadir ms recursos a un solo nodo en particular dentro de un sistema, tal como el aadir memoria o un disco duro ms rpido a una computadora. (ii) Escalar en horizontal Una alternativa a escalar en vertical es escalar en horizontal. Escalar en horizontal aprovecha el ahorro que supone utilizar el hardware de PC activo para distribuir la carga de procesamiento en ms de un servidor. Aunque el escalado en horizontal se logra utilizando muchos equipos, la coleccin funciona esencialmente como un nico equipo. Al dedicar varios equipos a una tarea comn, mejora la tolerancia de errores de la aplicacin. Por supuesto, desde el punto de vista del

administrador, escalar en horizontal presenta un desafo mayor de administracin debido al mayor nmero de equipos. Un buen diseo es la base de una aplicacin altamente escalable. En ningn otro momento de la vida de una aplicacin puede tener mayor impacto una decisin sobre la escalabilidad de la aplicacin que durante la fase de diseo. Cuando se disea para ofrecer escalabilidad, el principal objetivo es garantizar una administracin eficaz de los recursos. El diseo para la escalabilidad no est limitado a ningn nivel o componente concreto de una aplicacin. Los arquitectos de aplicaciones deben considerar la escalabilidad en todos los niveles, desde la interfaz de usuario hasta el almacn de datos. Los cinco mandamientos del diseo para la escalabilidad que se indican a continuacin pueden ser muy tiles al realizar selecciones de diseo. La escala horizontalmente o escala significa agregar ms nodos a un sistema, tal como aadir una computadora nueva a un programa de aplicacin para espejo. Ejemplo de aplicaciones Escalables Verticales El ejemplo mtico en cuanto a aplicaciones de escalabilidad vertical es Google (no el buscador, sino la tecnologa de hardware) El servidor web de Google est formado por una red de ms de 10.000 equipos trabajando en paralelo. Cada servidor de la red de Google es extremadamente sencillo y econmico: PCs con procesadores X86, disco duro IDE y dems prestaciones estndar. El bajo coste del hardware es la base del modelo de negocio de Google y lo que le permite ofrecer la mayora de sus servicios de manera gratuita. Cada servidor falla una vez cada tres aos. Cada da fallan dos servidores.

Si se produce cualquier problema de hardware, el software de Google lo hace imperceptible para sus usuarios. Google no ha sufrido un fallo general desde el ao 2000. Ejemplo de Aplicaciones escalables Horizontales El ejemplo portento de aplicaciones escalables horizontales es Facebook, ya que lo que solo comenz como una red de intercambio de fotos y comentarios se ha convertido en una plataforma de mltiples aplicaciones, donde se aaden a cada segundo miles de aplicaciones, paginas, muros de comentarios embutibles en web, modulo de conexin de aplicaciones, afiliacin a contenidos, intercambio de videos, correo electrnico @fabook.com, mensajera instantnea, chat, video, blog, y un sinfn de aplicaciones.

Вам также может понравиться