Escalabilidad DOC (Giammatteo - Kreyness)

Anuncio
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.
Descargar