![cover](https://cdn.compucloud.com.mx/blog/posts/auroraserverless/cover.png)
AURORA Serverless v2
Amazon Aurora es un sistema de administración de bases de datos relacionales (RDBMS), creado para la nube, con compatibilidad completa con MySQL y PostgreSQL. Aurora le ofrece rendimiento y disponibilidad de bases de datos comerciales por una décima parte del costo.
AURORA Serverless v2
Vamos a ver cómo ha aumento la búsqueda del concepto de serverless en los últimos años como podemos ver en la ilustración 1....
![Imagen blog](https://d293nonw9yzrq4.cloudfront.net/blog/posts/auroraserverless/imagenes/grafica.png)
¿Qué es serverless?
Básicamente serverless significa sin servidor. AWS ofrece tecnologías para ejecutar código, administrar datos e integrar aplicaciones, todo sin tener que administrar servidores. Las tecnologías sin servidor incluyen escalado automático, alta disponibilidad integrada y un modelo de facturación de pago por uso para aumentar la agilidad y optimizar los costos. Estas tecnologías también eliminan las tareas de administración de infraestructura, como el aprovisionamiento de capacidad y la aplicación de parches, de manera que pueda enfocarse en escribir el código que sirva a sus clientes.
¿Qué es Amazon Aurora?
Amazon Aurora es un sistema de administración de bases de datos relacionales (RDBMS), creado para la nube, con compatibilidad completa con MySQL y PostgreSQL. Aurora le ofrece rendimiento y disponibilidad de bases de datos comerciales por una décima parte del costo.
¿Qué es Amazon Aurora Serverless?
![Imagen blog](https://d293nonw9yzrq4.cloudfront.net/blog/posts/auroraserverless/imagenes/aurora.png)
Aurora Serverless v2 es una configuración de escalado automático bajo demanda para Amazon Aurora Aurora, ayuda a automatizar los procesos de supervisión de la carga de trabajo y ajustar la capacidad de las bases de datos. La capacidad se ajusta automáticamente en función de la demanda de la aplicación. Solo se le cobrará por los recursos que consuman los clústeres de base de datos. Por lo tanto, Aurora Serverless v2 puede ayudarle a mantenerse dentro del presupuesto y evitar pagar los recursos de computación que no utiliza.
![Imagen blog](https://d293nonw9yzrq4.cloudfront.net/blog/posts/auroraserverless/imagenes/grafico.png)
Comparativa Aurora serverless y Aurora aprovisionada
Amazon Aurora Serverless v2 va bien para las cargas de trabajo más exigentes y muy variables. Por ejemplo, el uso de la base de datos puede ser intensivo durante un corto periodo de tiempo, seguido de largos periodos de poca actividad o de ninguna actividad en absoluto. Ejemplos de ello son sitios web de venta minorista, juegos o deportes con eventos promocionales periódicos y bases de datos que generan informes cuando se necesitan. Otros son entornos de desarrollo y pruebas y nuevas aplicaciones en las que el uso podría aumentar rápidamente. Para casos como estos y muchos otros, la configuración correcta de la capacidad por anticipado no siempre es posible con el modelo aprovisionado. También puede resultar en costos más elevados si se aprovisiona en exceso y tiene capacidad que no utiliza.
En cambio, los clústeres aprovisionados de Aurora van bien para cargas de trabajo estables. Los clústeres aprovisionados le permiten elegir una clase de instancia de base de datos que tenga una cantidad predefinida de memoria, capacidad de CPU, ancho de banda de E/S, etc. Si la carga de trabajo cambia, modificará manualmente la clase del escritor y los lectores. El modelo aprovisionado funciona bien cuando se puede ajustar con anticipación la capacidad de los patrones de consumo esperados y se aceptan interrupciones breves mientras cambia la clase del escritor y los lectores del clúster.
Casos de uso de Aurora Serverless v2
Hay muchos tipos de cargas de trabajo que pueden beneficiarse de Aurora Serverless v2. Aurora Serverless v2 es especialmente útil en los siguientes casos de uso:
* Cargas de trabajo impredecibles: cuando ejecuta cargas de trabajo diarias que tienen un aumento de actividad repentino e impredecible. Un ejemplo de ello sería un sitio dedicado al tráfico, que experimenta un aumento repentino de la actividad cuando comienza a llover. Otro caso sería un sitio de comercio electrónico en el que aumenta el tráfico cuando se ofrecen ventas o promociones especiales. Con Aurora Serverless v2, la capacidad de la base de datos se escala automáticamente para satisfacer las necesidades de los picos de carga de la aplicación y vuelve a disminuir cuando termina el aumento de actividad. Con Aurora Serverless v2, ya no tiene que aprovisionar la capacidad para los picos ni para la carga promedio. Puede especificar un límite de capacidad superior para gestionar la peor situación. Esa capacidad no se utilizaría a menos que fuera necesario.
La granularidad de la reducción horizontal de Aurora Serverless v2 le ayuda a adaptar la capacidad a las necesidades de su base de datos. En un clúster aprovisionado, para el escalado vertical hay que añadir una nueva instancia de base de datos. En un clúster de Aurora Serverless v1, para el escalado vertical hay que duplicar el número de unidades de capacidad (ACU) de Aurora para el clúster (por ejemplo, de 16 a 32 o de 32 a 64). En cambio, Aurora Serverless v2 puede añadir media ACU cuando solo se necesite un poco más de capacidad. Puede añadir 0,5, 1, 1,5, 2 o media ACU adicional en función de la capacidad adicional necesaria para gestionar un aumento de la carga de trabajo. Además, puede eliminar 0,5, 1, 1,5, 2 o media ACU adicional cuando la carga de trabajo disminuya y esa capacidad ya no se necesite.
* Aplicaciones de varios inquilinos: con Aurora Serverless v2, no es preciso administrar individualmente la capacidad de la base de datos para cada aplicación de la flota. Aurora Serverless v2 administra la capacidad de la base de datos individual por usted.
Puede crear un clúster para cada inquilino. De esta forma, puede utilizar funciones como la clonación, la restauración de instantáneas y las bases de datos globales de Aurora para mejorar la alta disponibilidad y la recuperación de desastres según corresponda para cada inquilino.
Cada inquilino puede tener períodos específicos de actividad e inactividad según la hora del día, la época del año, los eventos promocionales, etc. Cada clúster puede tener un amplio rango de capacidad. De esta forma, los clústeres con poca actividad incurren en los cargos mínimos de instancias de base de datos. Cualquier clúster puede escalarse de forma vertical rápidamente para gestionar períodos de actividad elevada.
* Aplicaciones nuevas: implementa una nueva aplicación y no está seguro del tamaño de instancia de base de datos que necesita. Con Aurora Serverless v2, puede configurar un clúster con una o varias instancias de base de datos y hacer que esta última se escale automáticamente de acuerdo con los requisitos de capacidad de la aplicación.
* Desarrollo y pruebas: con Aurora Serverless v2, puede crear instancias de base de datos de Aurora Serverless v2 con una capacidad mínima en lugar de utilizar clases de instancias de base de datos T. Puede establecer la capacidad máxima lo suficientemente alta como para que esas instancias de base de datos puedan seguir ejecutando cargas de trabajo sustanciales sin quedarse sin memoria. Cuando la base de datos no está en uso, todas las instancias de base de datos se escalan verticalmente para evitar cargos innecesarios.
Para que sea cómodo usar Aurora Serverless v2 en entornos de desarrollo y pruebas, AWS Management Console proporciona el acceso directo Easy create (Creación sencilla) para crear un nuevo clúster. Si elige la opción Dev/Test (Desarrollo/pruebas), Aurora crea un clúster con una instancia de base de datos de Aurora Serverless v2 y un rango de capacidad típico de un sistema de desarrollo y prueba.
*Aplicaciones de uso mixto: supongamos que tiene una aplicación de procesamiento de transacciones en línea (OLTP), pero periódicamente experimenta picos en el tráfico de consultas. Si especifica niveles de promoción para las instancias de base de datos de Aurora Serverless v2 en un clúster, puede configurar el clúster para que las instancias de base de datos del lector se puedan escalar independientemente de la instancia de base de datos de escritor para gestionar la carga adicional. Cuando el pico de uso disminuye, las instancias de base de datos del lector se escalan de nuevo para adaptarlas a la capacidad de la instancia de base de datos del escritor.
* Planificación de capacidad: supongamos que normalmente ajusta la capacidad de la base de datos o verifica la capacidad de la base de datos óptima para la carga de trabajo modificando las clases de instancias de base de datos de todas las instancias de base de datos de un clúster. Con Aurora Serverless v2, puede evitar esta sobrecarga administrativa. Para determinar la capacidad mínima y máxima apropiadas, puede ejecutar la carga de trabajo y comprobar cuánto se escalan realmente las instancias de base de datos.
Puede modificar las instancias de base de datos existentes de aprovisionadas a Aurora Serverless v2 o de Aurora Serverless v2 a aprovisionadas. En estos casos, no es necesario crear un clúster nuevo o una instancia de base de datos nueva.
Con una base de datos global de Aurora, puede que no necesite tanta capacidad para los clústeres secundarios como en el clúster principal. Puede usar instancias de base de datos de Aurora Serverless v2 en los clústeres secundarios. De esta forma, la capacidad del clúster se puede escalar verticalmente si se promueve una región secundaria que se hace cargo de la carga de trabajo de la aplicación.
Ventajas de Aurora Serverless v2
Aurora Serverless v2 está destinado a cargas de trabajo variables o “con picos”. Con cargas de trabajo tan impredecibles, podría tener dificultades para planificar cuándo cambiar la capacidad de la base de datos. También podría tener problemas para realizar cambios de capacidad con la suficiente rapidez mediante los mecanismos conocidos, como añadir instancias de base de datos o cambiar clases de instancias de base de datos. Aurora Serverless v2 proporciona las siguientes ventajas para ayudar con estos casos de uso:
* Administración de la capacidad más sencilla que con la aprovisionada: Aurora Serverless v2 reduce el esfuerzo de planificar los tamaños de las instancias de base de datos y cambiar el tamaño de las instancias de base de datos a medida que cambia la carga de trabajo. También reduce el esfuerzo para mantener una capacidad uniforme para todas las instancias de base de datos en un clúster.
* Escalado más rápido y sencillo durante períodos de alta actividad: Aurora Serverless v2 escala la capacidad de memoria y de computación en función de las necesidades, sin interrumpir las transacciones del cliente ni de la carga de trabajo general. La capacidad de utilizar instancias de base de datos de lectores con Aurora Serverless v2 le ayuda a aprovechar el escalado horizontal además del escalado vertical. La capacidad de utilizar las bases de datos globales de Aurora le permite repartir la carga de trabajo de lectura de Aurora Serverless v2 entre varias Regiones de AWS. Esta capacidad es más práctica que los mecanismos de escalado de los clústeres aprovisionados. También es un método más rápido y granular que las capacidades de escalado de Aurora Serverless v1.
* Rentable durante períodos de baja actividad: Aurora Serverless v2 le ayuda a evitar el sobreaprovisionamiento de las instancias de base de datos.Aurora Serverless v2 añade recursos en incrementos granulares cuando se escalan verticalmente las instancias de base de datos. Solo paga por los recursos de bases de datos que consume. El uso de los recursos de Aurora Serverless v2 se mide por segundo. De esta forma, cuando una instancia de base de datos se reduce, la reducción del uso de recursos se registra de inmediato.
* Mayor paridad de características con aprovisionamiento: puede utilizar muchas características de Aurora con Aurora Serverless v2 que no están disponibles para Aurora Serverless v1. Por ejemplo, con Aurora Serverless v2 puede utilizar instancias de base de datos de lectores, bases de datos globales, autenticación de base de datos de AWS Identity and Access Management (IAM) y Performance Insights. También puede utilizar muchos más parámetros de configuración que con Aurora Serverless v1.
En particular, con Aurora Serverless v2 puede aprovechar las siguientes características de los clústeres aprovisionados:
* Instancias de base de datos: Aurora Serverless v2 puede aprovechar las instancias de base de datos de lector para escalar horizontalmente. Cuando un clúster contiene una o más instancias de base de datos de lectores, el clúster puede conmutar por error inmediatamente en caso de que haya problemas con la instancia de base de datos del escritor. Esta es una capacidad que no está disponible con Aurora Serverless v1.
* Clústeres multi-AZ: puede distribuir las instancias de base de datos de Aurora Serverless v2 de un clúster entre varias zonas de disponibilidad (AZ). La configuración de un clúster Multi-AZ ayuda a garantizar la continuidad del negocio incluso en los raros casos en los que hay problemas que afectan a una AZ completa. Esta es una capacidad que no está disponible con Aurora Serverless v1.
* Bases de datos globales: puede usar Aurora Serverless v2 en combinación con las bases de datos globales de Aurora para crear copias de solo lectura adicionales del clúster en otras Regiones de AWS para fines de recuperación de desastres.
* Proxy RDS: puede usar el proxy de Amazon RDS para permitir a las aplicaciones agrupar y compartir conexiones de base de datos para mejorar su capacidad de escala.
* Escalado más rápido, más granular y menos disruptivo que con Aurora Serverless v1: Aurora Serverless v2 puede escalarse más rápido. El escalado puede cambiar la capacidad en tan solo 0,5 ACU, en lugar de duplicar o reducir a la mitad el número de ACU. El escalado suele producirse sin interrumpir el procesamiento. El escalado no implica un evento que deba tener en cuenta, como ocurre con Aurora Serverless v1. El escalado puede realizarse mientras se ejecutan las instrucciones SQL y las transacciones están abiertas, sin necesidad de esperar a que haya un punto de silencio.
Administrar manualmente la capacidad de una base de datos puede consumir un tiempo valioso y provocar el uso ineficiente de los recursos de base de datos. Con Aurora Serverless, tan solo debe crear una base de datos, especificar el rango de capacidad de la base de datos deseado y conectar las aplicaciones. Se paga por segundo de uso de capacidad de base de datos cuando esta está activa. Además, puede migrar entre las configuraciones estándar y sin servidor con unos pocos pasos desde la consola de administración de Amazon Relational Database Service (Amazon RDS).
Contáctanos para cualquier duda o comentario que tengas.
Fecha de publicación: 11/4/2024
Autor: Ing. Marco Chávez | Consultor de soluciones