Escalabilidad Ampliación por crecimiento La escalabilidad se define como la facilidad con que una solución puede crecer a medida que surja la necesidad. La escalabilidad proporciona una confianza para que el crecimiento de la empresa no se paralice y pueda continuar con el negocio. Cuándo la infraestructura del servidor de una empresa es altamente escalable, significa que se encuentra en condiciones de adaptarse al crecimiento de la empresa en forma paralela, es decir, a medida que la empresa crece, crece su infraestructura Escalabilidad Vertical Es el proceso de agregar recursos como la memoria o actualizar una CPU (unidad central de proceso) a un solo sistema. Esta potencia adicional da a ese sistema en particular la capacidad de escalar hasta si una carga más pesada se coloca en el sistema. El escalamiento vertical puede ofrecer un aumento de rendimiento limitado. La planificación y la prueba es más importante antes de la ampliación Escalabilidad Horizontal Es el proceso de agregar sistemas para un propósito en particular - por ejemplo, cuando una granja de servidores web, está sobrecargado por las solicitudes, se agrega otro servidor web. Para utilizar los términos definidos en esta sección, los administradores de sistemas a menudo encuentran que es más fácil y menos costoso a la escala horizontal y no vertical Escalabilidad en los Recursos Escalabilidad en Tamaño • Aumento del número de procesadores. • Debe mejorarse el susbsistema de comunicaciones, incluyendo la red de interconexión. • Limitación debida a la programación y la comunicación. Escalabilidad en Otros Recursos • Aumento en la capacidad de memoria, de cache, de disco, … Escalabilidad en Software de Sistema • • • • Versión mejorada del S.O. Compiladores con optimizaciones más eficientes. Librerías científicas/ingeniería más eficientes. Entornos de programación más avanzados Escalabilidad en las Aplicaciones Las aplicaciones deben ser escalables, esto es, ejecutarse con un rendimiento proporcionalmente mejor en un computador escalado Escalabilidad en Tamaño del Computador • Indica la mejora en rendimiento de la aplicación cuando se añaden procesadores al computador. • Lo que se espera es que el factor de proporcionalidad sea similar (factor de aumento de procesadores similar al factor de mejora del rendimiento de la aplicación). • Muchas veces las aplicaciones dependen de otros recursos, como capacidad de memoria, capacidad de E/S, ancho de banda con memoria o E/S, etc. Escalabilidad en Tamaño del Problema • Indica el comportamiento de la aplicación cuando aumenta el tamaño del problema (tamaño de los datos y tamaño de la carga computacional). Escalabilidad en la Tecnología Es la capacidad de adaptación a cambios en la tecnología Escalabilidad Temporal (Generación) • El sistema debe acomodar con el menor cambio posible, así como mejorar su rendimiento correspondientemente, cuando se sustituyen componentes por otros de una generación posterior (tanto hardware como software). • Es habitual que una parte crítica sea el software. Un cambio de generación del sistema suele conllevar nuevas inversiones en software de sistema y rediseño de las aplicaciones de usuario. Escalabilidad Espacial • Indica el comportamiento del sistema frente a cambios de orden espacial, esto es, de ocupar un espacio limitado a ocupar una habitación, un edificio, múltiples edificios, … Escalabilidad en la Heterogeneidad • Capacidad del sistema a integrar componentes hardware y software de diferentes fabricantes. • Esta escalabilidad se favorece usando arquitecturas abiertas. • En el caso de software, se denomina portabilidad. Permanecer delante de la curva de crecimiento Usando herramientas de reporte se pueden identificar las tendencias de los sistemas, para aprender acerca de las aplicaciones que se ejecutan sobre los sistemas para ayudar en la planificación de crecimiento futura. Finalmente asegurando que en el diseño de las aplicaciones, estas puedan escalar tanto horizontal como vertical y permitirán que la empresa se encuentre un paso delante de la curva de crecimiento.