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. Muchos ejemplos existen de escalabilidad a través de una empresa de la infraestructura de IT. Un sitio web debe estar diseñada para que los desarrolladores pueden añadir fácilmente y adaptarlo como aumenta el número de visitantes. Del mismo modo, las aplicaciones empresariales se espera que escala bien a medida que aumentan los usuarios. Por ejemplo, una base de datos de la empresa debe realizar igual de bien como el número de tablas y registros aumenta significativamente. La escalabilidad es importante desde el hardware hasta el software. Cuando los servidores de compras, por ejemplo, se debe tener en cuenta lo versátiles que son, como en dos años es posible que se necesite el doble de capacidad o reasignar los servidores a otra aplicación. Existen 2 formas de escalar: 1) 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. A raíz de la ley de rendimientos decrecientes, escalamiento vertical puede ofrecer un aumento de rendimiento limitado. La planificación y la prueba es más importante antes de la ampliación. 2) Escala 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. La escalabilidad proporciona una confianza para que el crecimiento de la empresa no se paralice y pueda continuar con el negocio. Cuando 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. Con una sólida infraestructura y la planificación de escalabilidad, puede asegurarse de que su empresa puede manejar el crecimiento en el futuro. Los arquitectos se esfuerzan para lograr una escalabilidad lineal, que se refiere a la capacidad de mantener una tasa de rendimiento consistente proporcionalmente a medida que los recursos se agregan al sistema. Sin embargo, la adición de recursos incurre en gastos adicionales, por lo que es difícil de lograr. Esto se expresa como un "factor de escalabilidad", y se utiliza para enumera los tipos de escalabilidad: Si el factor de escalabilidad se mantiene constante a medida que escala. Esto se llama escalabilidad lineal. Pero lo más probable es que algunos componentes no se escalen como los demás. Un factor de escalabilidad por debajo de 1,0 se llama escalabilidad lineal sub. Aunque es raro, es posible obtener un mejor rendimiento (factor de escalabilidad) simplemente añadiendo más componentes (E / S en disco de múltiples ejes en una configuración RAID mejora con más ejes). Esto se llama escalabilidad lineal supra. Si la aplicación no está diseñada para ser escalable, es posible que las cosas realmente pueden empeorar a medida que se escala. Esto se llama escalabilidad negativo. Tipos de Escalabilidad: Recursos Escalabilidad en los Recursos Escalabilidad en Tamaño o Aumento del número de procesadores. o Debe mejorarse el susbsistema de comunicaciones, incluyendo la red de interconexión. o Limitación debida a la programación y la comunicación. Escalabilidad en Otros Recursos o Aumento en la capacidad de memoria, de cache, de disco, … Escalabilidad en Software de Sistema o Versión mejorada del S.O. o Compiladores con optimizaciones más eficientes. o Librerías científicas/ingeniería más eficientes. o Entornos de programación más avanzados. Tipos de Escalabilidad: Aplicaciones 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 o 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). o 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 o 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). o Tipos de Escalabilidad: Tecnología Escalabilidad en la Tecnología Es la capacidad de adaptación a cambios en la tecnología Escalabilidad Temporal (Generación) o 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). o 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 o 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 o Capacidad del sistema a integrar componentes hardware y software de diferentes fabricantes. o Esta escalabilidad se favorece usando arquitecturas abiertas. o 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, permitirán que la empresa se encuentre un paso delante de la curva de crecimiento. Conclusiones El incremento de la demanda puede causar que los recursos computacionales sean insuficientes para el trabajo desarrollado por los servidores . Los clientes no podrán entender el porque de la lentitud a sus operaciones. Existe una infinidad de motivos que van desde el crecimiento exponencial del uso de la red, que es un motivo digamos fácil de evidenciar, pero que sucede cuando el "cuello de botella " puede estar en los elementos de la plataforma o en la aplicación, para esto se necesita tener algunas estadísticas o detalles técnicos que permitan analizar la actual demanda y planificar las capacidades para el crecimiento futuro. Algo que nunca como administrador desea recibir es una llamada telefónica donde le informan "... el servidor esta muy lento y no puedo realizar mis operaciones..".. a menudo los administradores también realizan reclamos a la organización solicitando información de las aplicaciones con la finalidad de planificar el crecimiento de las capacidades de la plataforma computacional, para esto es necesario que el usuario entregue una información " básica " de crecimiento por medio de un cuestionario que debe realizar la área de informática de la organización, en algunos casos el crecimiento puede ser predecible si es lineal, pero cambia totalmente el panorama si el crecimiento es al azar, exponencial o más complicado mezclado con crecimiento estacional ( esto es periodos del año como carnaval, feriados largos, periodo vacacional, fin de año, etc.) además crecimientos por nuevos productos o servicios para los clientes las áreas de mercadeo.