Buenas prácticas y tutoriales

Optimización del coste total de propiedad: automatización de la hibernación de clústeres mediante Terraform

La función Cluster On/Off de Couchbase Capella permite a los usuarios pausar y reanudar sus clústeres sin problemas, sin borrar permanentemente los datos, lo que ayuda a optimizar los gastos en la nube y mejorar la eficiencia operativa.

En este blog, exploraremos cómo funciona esta característica y cómo puedes automatizarla usando Terraform.

Los usuarios tienen dos opciones para gestionar la disponibilidad del clúster:

    • On-Demand On/Off - Pausa y reanuda manualmente los clusters según sea necesario.
    • Activación/desactivación programada: automatice la pausa/reanudación de los clústeres en fechas y zonas horarias específicas.

Apagar (pausar) un cluster

    • Detiene todos los servicios del clúster.
    • Persiste los datos, la configuración y los metadatos.
    • Libera recursos informáticos para reducir costes manteniendo intacto el almacenamiento.

Encender (reanudar) un clúster

    • Restaura el clúster desde un estado de pausa.
    • Reinicia los servicios y vuelve a hacer accesibles los datos.
    • Permite a los clientes volver a conectarse y reanudar las operaciones sin problemas.

¿Por qué utilizar la función de activación/desactivación de grupos?

  1. Ahorra costes de cálculo y optimiza en función del uso:
    • Cuando un clúster está apagado, los recursos informáticos (por ejemplo, CPU, RAM) no se facturan, lo que reduce significativamente los costes de infraestructura.
    • Cuando un clúster está desactivado, sólo se paga el importe desactivado (principalmente costes de almacenamiento y gestión).
    • Ayuda a ajustar los costes al uso real en lugar de pagar por recursos ociosos.
  1. Reduce los gastos operativos:
    • Elimina la necesidad de aprovisionar y desmontar clústeres manualmente.
    • Los usuarios pueden reanudar fácilmente un clúster en pausa sin necesidad de reconfigurar o redistribuir recursos.
  1. Persistencia de los datos y rentabilidad del desarrollo y las pruebas:
    • Los datos, el esquema (buckets, ámbitos, colecciones), los índices, los usuarios, las listas de permitidos y las copias de seguridad permanecen intactos cuando se pone en pausa un clúster.
    • Garantiza que no se pierda la configuración al reanudar las operaciones.
    • Los desarrolladores pueden pausar los entornos que no son de producción fuera del horario laboral. Así se evitan costes innecesarios en las canalizaciones de CI/CD, la puesta en escena o los entornos de UAT.

Optimización de costes

Una de las formas más sencillas y eficaces de reducir los costes operativos es apagar los clústeres cuando no se utilizan. Consideraremos el caso de uso de un clúster de AWS con 3 nodos (Datos, Índice y Consulta) utilizando un Plan Pro para desarrolladores en Couchbase Capella, con la configuración de 2 vCPUs, 16 GB RAM, tamaño de disco de 50 GB, tipo de disco GP3, y IOPS 3000.

Cuando este clúster se mantiene en línea 24 horas al día, 7 días a la semana, incurre en un coste mensual de computación de 1,5 millones de euros. $1,497.60 según el modelo de pago por uso. Sin embargo, muchos clústeres de desarrollo sólo se necesitan durante las horas de trabajo. Con sólo apagar el clúster durante 12 horas al día, por ejemplo durante la noche, los equipos pueden ahorrar $705.60 al mes, lo que supone un 47% reducción de los costes de computación. Esto supone un argumento de peso para automatizar el tiempo de inactividad de los clústeres con el fin de optimizar el gasto en la nube sin afectar a la productividad de los desarrolladores.

En entornos con varios clústeres o entornos de desarrollo que no requieren una disponibilidad ininterrumpida, al programar el tiempo de inactividad de los clústeres no esenciales, los equipos pueden reasignar sus presupuestos de forma más eficaz, invirtiendo en áreas que repercuten directamente en los resultados empresariales.


Primeros pasos: despliegue de una programación on/off mediante el proveedor Terraform

El proveedor Terraform de Capella permite a los usuarios gestionar los despliegues de Capella mediante programación, automatizando la orquestación de recursos. Veamos un sencillo tutorial para desplegar una programación On/Off en Capella a través del Terraform Provider.

Para saber más sobre cómo apagar o encender el cluster a petición utilizando Terraform, consulte los ejemplos y el LÉAME que se proporcionan en este repositorio. Aquí se explica paso a paso cómo activar/desactivar el clúster bajo demanda.

Además de la función de activación/desactivación del clúster, un App Service también puede activarse/desactivarse a petición. Consulte lo siguiente documentación y el proveedor Terraform ejemplos para más información.

Lo que aprenderá

    1. Los pasos para configurar los archivos y comprender los comandos necesarios para ejecutar los scripts de Terraform.
    2. Un tutorial paso a paso sobre el despliegue de un Cluster On/Off en Capella utilizando el proveedor.

Requisitos previos

Antes de empezar, asegúrate de que tienes:

    1. Versión de Terraform >= 1.5.2
    2. Versión de Go >= 1.2.0
    3. Cuenta de pago Capella
    4. Clúster Capella - Puede crear un clúster Couchbase utilizando el proveedor  Capella UIo el API de gestión de Capella y utilizar el organization_id, project_id y cluster_id para crear la programación de encendido/apagado.
    5. Authentication APIKey - Puede crear la clave de la API utilizando la opción Capella UI o el API de gestión de Capella. Debe crear una clave API que tenga asociado el conjunto adecuado de roles, en función del ámbito de los recursos gestionados por el proveedor.

Para obtener información sobre la configuración de la autorización y la autenticación, consulte el manual Terraform repositorio y esto blog puesto.


Paso 1: Configuración

Crear las variables

  1. Cree un archivo llamado variables.tf y añada las siguientes definiciones de variables. Vamos a utilizar estas variables dentro de nuestro archivo de configuración.
  2. Cree un archivo llamado terraform.template.tfvars y añada las siguientes líneas. Aquí, especificamos los valores de las variables clave asociadas con el despliegue.
  3. Cree un archivo llamado capella.tf y añada la siguiente configuración para crear la programación de Encendido/Apagado para un cluster Capella existente en un proyecto:

Paso 2: Despliegue y gestión de la programación

Inicializar el proveedor Terraform

Terraform debe inicializarse la primera vez que se utiliza el proveedor:

Revisar el plan Terraform

Utilice el siguiente comando para revisar los recursos que se desplegarán:

Debería ver una salida similar a la siguiente al crear una programación de encendido/apagado para un clúster existente:

Ejecutar el plan Terraform

Despliegue los recursos Couchbase Capella utilizando el siguiente comando:

Escriba "sí" si el plan le parece bien.

Nota: El despliegue de los recursos tardará unos minutos si está creando un proyecto, desplegando un clúster y creando un calendario de activación/desactivación para el mismo.

Se vería así en la interfaz de usuario de Capella:

 

Destruir el calendario


Referencias

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Paulomee De - Ingeniero de software

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.