Una mirada al nuevo Balanced SSD de Google Cloud Platform
Los arquitectos e ingenieros de DoiT international trabajan codo a codo con los principales proveedores cloud para probar nuevas funcionalidades, dar feedback y capacitar a otros sobre las últimas mejoras, sobre todo pensando en nuestra creciente base de clientes que lleva estas plataformas al límite todos los días.

Una de las mejoras que más esperábamos es una nueva clase de almacenamiento en Google Cloud Platform llamada Balanced SSD. Ofrece el rendimiento de un SSD a un precio atractivo: $0.10/GB frente a los $0.17/GB del SSD estándar al momento de escribir esto, casi un 50% de ahorro.

Fuente: Google

Fuente: Google
Cuando le anunciamos el lanzamiento GA a varios clientes de DoiT International que usan SSD intensamente en su infraestructura, la respuesta fue muy positiva (algunos ejemplos abajo). Por eso quisimos compartir esta gran noticia y algunos consejos con el resto del mundo.
"¿Existe un botón de "más correos como este"?"
"Voy a ver si nos sirve, ¡gracias!"
"Me encanta recibir avisos proactivos como este. Ojalá tuviera tiempo de estar al día con cada cambio que hace GCP, pero no lo tengo."
Requisito para habilitar Balanced SSD en GKE
Balanced SSD para workloads de Kubernetes administrado requiere un addon de driver CSI, tan simple como ejecutar el siguiente comando.
gcloud beta container clusters update <YOUR-CLUSTER-NAME> --update-addons=GcePersistentDiskCsiDriver=ENABLED # add zone or region
Nota: según los términos de servicio de Google, el driver CSI por ahora no está cubierto por SLA, así que vale la pena tenerlo presente.
Advertencia: actualizar tu cluster es una operación bloqueante y puede dejarlo no disponible durante 10 minutos o más.
Si planeas actualizar tus workloads de Kubernetes, más adelante en este artículo vas a ver ejemplos de cambios al StorageClass y a los Volume Claim Templates.
Crear discos persistentes zonales o regionales
Migrar discos existentes a Balanced SSD
Una opción es montar el nuevo disco Balanced SSD junto al existente y copiar los datos; otra es seguir los pasos de abajo para crear una nueva imagen a partir del snapshot.
1. Snapshot. Si vas a cambiar un disco de arranque, primero detén la instancia. Si es un disco regular, no hace falta detenerla. Puedes tomar el snapshot con la instancia en ejecución, pero existe el riesgo de perder datos.
- https://cloud.google.com/compute/docs/disks/create-snapshots
- https://cloud.google.com/compute/docs/disks/snapshot-best-practices
# stop instance (optional if boot or concerned on data loss)
gcloud compute instances stop <instance name># create snapshot
gcloud compute disks snapshot <disk-name> --region <region>
2. Crear. Crea un nuevo disco a partir del snapshot.
# create new disk from snapshot
gcloud compute disks create <disk-name> --type pd-balanced --source-snapshot <snapshot ID> --size <size in GB>
3. Desconectar y volver a conectar. Si vas a cambiar un disco de arranque, edita la instancia y reemplaza el disco de arranque por el nuevo. Si se trata de un disco regular, basta con desconectar el existente y conectar el nuevo.
- https://cloud.google.com/compute/docs/disks/detach-reattach-boot-disk
- https://cloud.google.com/sdk/gcloud/reference/compute/instances/detach-disk
- https://cloud.google.com/sdk/gcloud/reference/compute/instances/attach-disk
# unmount volume
sudo umount /dev/disk/by-id/google-DEVICE_NAME# detach old disk
gcloud compute instances detach-disk <instance name> --disk <old disk> --zone <zone># attach new disk
gcloud compute instances attach-disk <instance name> --disk <new disk> --zone <zone># start instance (if stopped)
gcloud compute instances start <instance name># SSH into instance and mount volume
sudo lsblk # make note of new disk (sda1, sdb, etc.)
sudo mkdir -p /path/to/mount
sudo mount -o discard,defaults /dev/sdb /path/to/mount
4. Probar. Inicia la instancia y verifica que el sistema operativo arranque como corresponde. Si surge algún problema, puedes detenerla y volver al disco anterior.
Nota: ten en cuenta que la opción de Disk Cloning no aplica en este caso; no puedes cambiar el tipo de disco con Disk Clone.
Ejemplo práctico
Para probarlo usé un proyecto sandbox donde estaba experimentando con Mongo DB multi-VM de Bitnami. Decidí reemplazar un disco persistente estándar por un Balanced SSD y verificar que mis datos siguieran ahí. Mira el resultado abajo.

Detener instancia, desconectar disco, crear el nuevo disco, conectar e iniciar
Tras conectar el nuevo disco creado como tipo pd-balanced y reiniciar la instancia, usé la terminal SSH del navegador para conectarme.

Haz clic en SSH de la instancia para iniciar sesión
Luego listé los dispositivos conectados y monté el nuevo disco Balanced SSD para confirmar que todos mis archivos de MongoDB seguían ahí.

Disco nuevo montado y archivos verificados
¡Listo! Espero que este ejemplo te resulte útil y te ahorre tener que saltar entre varios artículos para sacarle provecho a este nuevo producto.
GKE: actualizar Storage Class y Volume Claims
Si corres workloads en GKE y te sientes cómodo con el estado actual del driver CSI, una vez actualizado tu cluster basta con agregar o editar un StorageClass y referenciarlo desde los PersistentVolumeClaims de tus workloads.
Uno de mis colegas probó actualizar un proyecto demo de GKE para Apache Ignite para usar el nuevo almacenamiento Balanced SSD; abajo puedes ver los cambios que hizo.

Cambia el provisioner y el type
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: ignite-persistence-storage-class # <your-name-here>
namespace: ignite
provisioner: pd.csi.storage.gke.io
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
parameters:
type: pd-balanced #Default: pd-standard
Si todavía no declarabas un StorageClass, los workloads de aplicación solo requieren ediciones menores.

Si ya usas un StorageClass personalizado, no necesitas hacer cambios; en caso contrario, referéncialo en tus workloads de esta forma
Te mantenemos al día
Seguimos trabajando con nuestros partners cloud para aportarles feedback desde el terreno, basado en los casos de uso y desafíos que vemos a diario en nuestros clientes. Nos entusiasma que Google haya lanzado soluciones como el tan esperado Balanced SSD.
Mantente atento, vienen más novedades sobre productos que creemos pueden ayudar tanto a nuestros clientes actuales como a los futuros.