LFCA Aprenda disponibilidad, rendimiento y escalabilidad de la nube - Parte 14
- 1858
- 411
- Mario Gollum
En el tema anterior de nuestra serie LFCA, dimos una introducción a la computación en la nube, los diferentes tipos y nubes, y los servicios en la nube y lo guiamos a través de algunos de los beneficios asociados con la computación en la nube.
Si su negocio todavía está en el entorno de computación de TI tradicional, es hora de que se haya nivelado y cambie a la nube. Se estima que para fines de 2021, más del 90% de la carga de trabajo total se manejará en la nube.
Entre los principales beneficios asociados con la adopción de la computación en la nube se encuentran el rendimiento mejorado, la alta disponibilidad y la escalabilidad. De hecho, los cepillamos como uno de los principales beneficios del uso de la tecnología en la nube.
En este tema, nos centramos en la disponibilidad de la nube, el rendimiento y la escalabilidad y buscamos comprender cómo estos tres se unen para satisfacer las demandas de los clientes y garantizar que los usuarios accedan a sus datos, según lo necesiten de cualquier parte del mundo.
1. Disponibilidad de nubes
Las aplicaciones y servicios de TI de una organización son críticas y cualquier interrupción del servicio puede tener un efecto profundo en los ingresos. La expectativa de los clientes es que los servicios son accesibles durante todo el día en cualquier momento desde cualquier ubicación. Y eso es lo que la tecnología en la nube busca proporcionar.
La alta disponibilidad es el objetivo final de la computación en la nube. Busca proporcionar el tiempo de actividad máximo posible de los servicios de una empresa incluso frente a la interrupción que puede ser ocasionada por tiempo de inactividad del servidor sin precedentes o degradación de la red.
La alta disponibilidad es posible por tener sistemas redundantes y de conmutación por error. Esto sucede en un entorno de clúster donde múltiples servidores o sistemas realizan las mismas tareas y, por lo tanto, proporcionan redundancia.
Cuando un servidor baja, el resto aún puede continuar ejecutándose y proporcionando los servicios proporcionados por el servidor afectado. Un ejemplo perfecto de redundancia es la replicación de datos en múltiples servidores de bases de datos en un clúster. En caso de que el servidor de base de datos primario en el clúster experimente un problema, otro servidor de base de datos aún proporcionará los datos requeridos por los usuarios a pesar de la falla.
La redundancia elimina un solo punto de falla y asegura que haya 99.999% Disponibilidad de servicios y aplicaciones. La agrupación también proporciona un equilibrio de carga entre los servidores y garantiza que la carga de trabajo se distribuya equitativamente y ningún servidor está abrumado.
2. Escalabilidad en la nube
Otro sello distintivo de la computación en la nube es la escalabilidad. La escalabilidad es la capacidad de ajustar los recursos en la nube para satisfacer las demandas cambiantes. En pocas palabras, puede aumentar o disminuir sin problemas los recursos cuando sea necesario para satisfacer la demanda sin comprometer la calidad de los servicios o el tiempo de inactividad.
Supongamos que está ejecutando un blog que está comenzando a obtener éxitos y más tráfico. Puede agregar fácilmente más recursos de cómputo, como almacenamiento, RAM y CPU, a su instancia de Cloud Compute para manejar la carga de trabajo adicional. Por el contrario, puede escalar los recursos cuando sea necesario. Esto asegura que solo pague por lo que necesita, y esto subraya las economías de escala que proporciona la nube.
La escalabilidad es doble: escala vertical y escala horizontal.
Escala vertical
También conocido como 'ampliar'La escala vertical implica agregar más recursos como RAM, almacenamiento y CPU a su instancia de cómputo en la nube para acomodar una carga de trabajo adicional. Este es el equivalente de alimentar su PC o servidor físico para actualizar la RAM o agregar un disco duro o SSD adicional.
Escala horizontal
Escala horizontal, también conocida como 'escalar'implica agregar más servidores a su grupo de servidores preexistentes para garantizar la distribución de la carga de trabajo en múltiples servidores. Con escala horizontal, no se limita a la capacidad de un solo servidor, a diferencia de la escala vertical. Esto proporciona más escalabilidad y menos tiempo de inactividad.
Escalar es más deseable en comparación con la escala
Y aquí está por qué. Con escala horizontal, Básicamente, está agregando más recursos, como servidores o almacenamiento, a su grupo de recursos ya existentes. Esto le permite combinar la potencia y el rendimiento de múltiples instancias de cómputo en una, y así obtener un mejor rendimiento en lugar de simplemente agregar recursos en un solo servidor. Los servidores adicionales implican que no tendrá que lidiar con un déficit de recursos.
Además, escala horizontal Proporciona redundancia y tolerancia a fallas de tal manera que incluso si un servidor se ve afectado, el resto continuará demostrando el acceso a los servicios requeridos. Escala vertical está asociado con un solo punto de falla. Si la instancia de cómputo se bloquea, entonces todo cae consigo.
Escala horizontal también ofrece la máxima flexibilidad en lugar de escala vertical donde las aplicaciones se construyen como una unidad grande. Esto hace que sea más difícil administrar, actualizar o cambiar secciones de código sin tener que reiniciar todo el sistema. La escala permite el desacoplamiento de aplicaciones y permite una actualización perfecta con un tiempo de inactividad mínimo.
3. Rendimiento de la nube
Asegurar que el rendimiento de la aplicación satisfaga las demandas de los clientes puede ser una tarea cuesta arriba, especialmente si tiene múltiples componentes sentados en diferentes entornos que necesitan comunicarse constantemente entre sí.
Es probable que problemas como la latencia manifiesten e impacten el rendimiento. Además, no es fácil predecir el rendimiento donde varias entidades comparten los recursos. En cualquier caso, aún puede lograr un alto rendimiento y mantenerse a flote implementando las siguientes medidas.
1. Instancia de nube
Asegúrese de utilizar las instancias en la nube correctas con suficientes recursos para manejar las cargas de trabajo de sus aplicaciones y servicios. Para aplicaciones intensivas en recursos, asegúrese de aprovisionar suficientes recursos de RAM, CPU y almacenamiento a su instancia en la nube para evitar un posible déficit de recursos.
2. Balancer de carga
Implementar un equilibrador de carga para distribuir de manera equitativa el tráfico de red entre sus recursos. Esto asegurará que ninguna de sus aplicaciones esté abrumada por la demanda. Suponga que su servidor web está obteniendo mucho tráfico que está causando retrasos e impactando el rendimiento.
Una solución perfecta sería implementar escala horizontal con un total de 4 servidores web sentados detrás de un equilibrador de carga. El equilibrador de carga distribuirá el tráfico de red en los 4 servidores web y se asegurará de que la carga de trabajo no se sienta abrumada por la carga de trabajo.
3. Almacenamiento en caché
Use soluciones de almacenamiento en caché para acelerar el acceso a los archivos por aplicaciones. Los cachés almacenan datos con frecuencia y, por lo tanto, eliminan las búsquedas de datos constantes que pueden afectar el rendimiento. Reducen la latencia y la carga de trabajo ya que los datos ya están en caché, mejorando así los tiempos de respuesta.
El almacenamiento en caché se puede implementar en varios niveles, como el nivel de aplicación, el nivel de base de datos. Las herramientas populares de almacenamiento en caché incluyen Redis, Memcached y Varnish Cache.
4. Supervisión del rendimiento
Por último, asegúrese de monitorear el rendimiento de sus servidores y aplicaciones. Los proveedores de la nube proporcionan herramientas nativas que pueden ayudarlo a vigilar sus servidores en la nube de un navegador web.
Además, puede tomar su propia iniciativa e instalar herramientas de monitoreo gratuitas y de código abierto que puedan ayudarlo a controlar sus aplicaciones y servidores. Los ejemplos de tales aplicaciones incluyen Grafana, NetData y Prometheus, por mencionar algunas.
Conclusión
No podemos enfatizar lo suficiente cómo la disponibilidad, el escala y el rendimiento son cruciales en la nube. Los tres factores determinan la calidad del servicio que obtendrá de su proveedor de la nube y, en última instancia, traza la línea entre el éxito o el fracaso de su negocio.
Conviértase en un Asociado de IT Certified IT (LFCA) de Linux Foundation (LFCA)- « Cómo instalar Apache Nifi en Ubuntu Linux
- Cómo usar scripts de NMAP Script Engine (NSE) en Linux »