Lista de tareas de lanzamiento para Spanner

En esta lista de tareas de lanzamiento, se ofrece una lista de consideraciones que deben realizarse antes del lanzamiento de una aplicación de producción en Spanner. No pretende ser exhaustiva, sino que destaca las consideraciones clave para minimizar los riesgos, optimizar el rendimiento y garantizar la alineación con los objetivos comerciales y operativos, y ofrece un enfoque sistemático para brindar una implementación de Spanner confiable y sin problemas.

Esta lista de tareas está dividida en las secciones siguientes:

Diseño, desarrollo, pruebas y optimización

Optimizar el diseño del esquema, las transacciones y las consultas es fundamental para usar la arquitectura distribuida de Spanner y lograr un alto rendimiento y escalabilidad. Las pruebas rigurosas a escala de producción y de extremo a extremo garantizan que el sistema pueda controlar las cargas de trabajo del mundo real, las cargas máximas y las operaciones simultáneas, a la vez que minimizan los riesgos de cuellos de botella o fallas en la producción.

Casilla de verificación Actividad
❑  
Diseña el esquema teniendo en cuenta la escalabilidad y la arquitectura distribuida de Spanner. Sigue las prácticas recomendadas, como seleccionar claves primarias e índices adecuados para evitar los hotspots, y considera optimizaciones como la intercalación de tablas para los datos relacionados. Revisa las prácticas recomendadas para el diseño de esquemas para garantizar que el esquema admita un alto rendimiento y escalabilidad en las cargas de trabajo esperadas.
❑  
Optimiza las transacciones y las consultas para minimizar el bloqueo y maximizar el rendimiento. Usa los modos de transacción de Spanner, como las declaraciones de DML particionado, de solo lectura sólida y de lectura y escritura con bloqueo, para equilibrar la coherencia, el rendimiento y la latencia. Minimiza los alcances de bloqueo con transacciones de solo lectura para las consultas, procesamiento por lotes para el máximo rendimiento de DML o declaraciones DML particionadas para actualizaciones y eliminaciones a gran escala. Cuando migres desde sistemas con diferentes niveles de aislamiento (por ejemplo, PostgreSQL o MySQL), usa transacciones para evitar cuellos de botella en el rendimiento. Para obtener más información, consulta Transacciones.
❑  
Realiza pruebas de carga rigurosas a gran escala para validar el diseño del esquema, el comportamiento de las transacciones y el rendimiento de las consultas. Simula situaciones de alta simultaneidad y de horas pico que imitan las cargas de aplicaciones del mundo real, incluidos diversos patrones de consultas y formas de transacciones. Evalúa la latencia y el procesamiento en estas condiciones para confirmar que el diseño de la base de datos y la topología de la instancia cumplen con los requisitos de rendimiento. Usa las pruebas de carga de forma iterativa durante el desarrollo para optimizar y perfeccionar la implementación.
❑  
Extiende las pruebas de carga para abarcar todos los servicios que interactúan, no solo las aplicaciones aisladas. Simula recorridos del usuario integrales junto con procesos paralelos, como cargas por lotes o tareas de administración que acceden a la base de datos. Ejecuta pruebas en la configuración de la instancia de Spanner de producción y asegúrate de que los controladores y servicios de prueba de cargas estén alineados geográficamente con la topología de implementación de producción prevista. Este enfoque integral identifica posibles conflictos con anticipación y garantiza un rendimiento fluido de la base de datos durante las operaciones del mundo real.
❑  
Para garantizar un rendimiento predecible de las consultas, usa la versión del optimizador en la que se probó la carga de trabajo. De forma predeterminada, las bases de datos de Spanner usan la versión más reciente del optimizador de consultas. Evalúa periódicamente las nuevas versiones del optimizador en un entorno controlado y actualiza la versión predeterminada solo después de confirmar la compatibilidad y las mejoras en el rendimiento. Para obtener más información, consulta la Descripción general del optimizador de consultas.
❑  
Asegúrate de que las estadísticas del optimizador de consultas estén actualizadas para admitir planes de ejecución de consultas eficientes. Si bien las estadísticas se actualizan automáticamente, considera la posibilidad de crear manualmente un nuevo paquete de estadísticas en situaciones como modificaciones de datos a gran escala (por ejemplo, inserciones, actualizaciones o eliminaciones masivas), la adición de nuevos índices o cambios de esquema. Mantener actualizadas las estadísticas del optimizador de consultas es fundamental para mantener un rendimiento óptimo de las consultas.

Migración (opcional)

La migración de bases de datos es un proceso integral que requiere un análisis detallado de los aspectos específicos de cada recorrido de migración individual. Ten en cuenta lo siguiente en tu estrategia de migración:

Casilla de verificación Actividad
❑  
Desarrolla un procedimiento operativo estándar (SOP) detallado para el cambio de migración. Esto incluye los pasos para el lanzamiento de la aplicación, el cambio de base de datos y la automatización para minimizar la intervención manual. Identifica y comunica a las partes interesadas los posibles períodos de inactividad con suficiente anticipación. Implementa mecanismos sólidos de supervisión y alertas para hacer un seguimiento del proceso de migración en tiempo real y detectar cualquier anomalía de inmediato. Asegúrate de que el proceso de cambio incluya verificaciones de validación para confirmar la integridad de los datos y las capacidades de la aplicación después de la migración.
❑  
Prepara un plan de resguardo detallado para volver al sistema fuente en caso de que surjan problemas críticos durante la migración. Prueba los procedimientos de respaldo en un entorno de etapa de pruebas para asegurarte de que sean confiables y se puedan ejecutar con un tiempo de inactividad mínimo. Define claramente las condiciones que activarían una alternativa y asegúrate de que el equipo esté capacitado para ejecutar este plan de forma rápida y eficiente.

Implementación

Una planificación de implementación adecuada garantiza que las configuraciones de Spanner cumplan con los requisitos de carga de trabajo en cuanto a disponibilidad, latencia y escalabilidad, y que se tengan en cuenta las consideraciones geográficas y operativas. La alineación del dimensionamiento, la administración de recursos, las situaciones de conmutación por error y la automatización minimizan los riesgos, garantizan un rendimiento óptimo y evitan las restricciones o interrupciones de recursos durante las operaciones críticas.

Casilla de verificación Actividad
❑  
Asegúrate de que la configuración de la instancia de Spanner (ya sea regional, birregional o multirregional) se alinee con los requisitos de disponibilidad y latencia de la carga de trabajo de tu aplicación, y también ten en cuenta las consideraciones geográficas. Calcula la capacidad de procesamiento objetivo en función de los tamaños de almacenamiento esperados, los patrones de tráfico y los límites de utilización recomendados, y asegúrate de que haya capacidad suficiente para las interrupciones zonales o regionales. Planifica los picos de tráfico habilitando el ajuste de escala automático. Puedes establecer un límite superior para la capacidad de procesamiento y, así, establecer medidas de seguridad de costos. Para obtener más información, consulta Capacidad de procesamiento, nodos y unidades de procesamiento.
❑  
Si usas una configuración de instancia birregional o multirregional, elige una región líder que minimice la latencia de las escrituras de la aplicación desde los servicios implementados en tus ubicaciones más sensibles a la latencia. Prueba las implicaciones de las diferentes regiones principales en la latencia de la operación y realiza ajustes para optimizar el rendimiento de la aplicación. Planifica situaciones de conmutación por error. Para ello, asegúrate de que la topología de la aplicación pueda adaptarse a los cambios en la región líder durante las interrupciones regionales. Para obtener más información, consulta Modifica la región líder de una base de datos.
❑  
Configura las etiquetas de forma adecuada para lograr claridad operativa y realizar el seguimiento de los recursos de Google Cloud. Usa etiquetas para agrupar instancias por entorno o tipo de carga de trabajo. Usa etiquetas para los metadatos que ayudan en el análisis de costos y la administración de permisos. Para obtener más información, consulta Controla el acceso y organiza instancias con etiquetas.
❑  
Evalúa si es necesario el calentamiento de Spanner, en especial para los servicios que esperan un tráfico repentino y alto en el lanzamiento. Probar la latencia con cargas iniciales altas puede revelar la necesidad de un calentamiento previo al lanzamiento para garantizar un rendimiento óptimo. Si se requiere un período de calentamiento, genera carga artificial. Para obtener más información, consulta Prepara la base de datos antes del lanzamiento de la aplicación.
❑  
Revisa los límites y las cuotas de Spanner antes de la implementación. Si es necesario, solicita aumentos de cuota en la Google Cloud consola para evitar restricciones durante los períodos de mayor actividad. Ten en cuenta los límites estrictos (por ejemplo, la cantidad máxima de tablas por base de datos) para evitar problemas después de la implementación. Para obtener más información, consulta Cuotas y límites.
❑  
Usa herramientas de automatización, como Terraform, para aprovisionar y administrar tus instancias de Spanner, y asegúrate de que las configuraciones sean eficientes y a prueba de errores. Para la administración de esquemas, considera usar herramientas como Liquibase para evitar la eliminación accidental de esquemas durante las actualizaciones. Para obtener más información, consulta Usa Terraform con Spanner.

Recuperación ante desastres

Establecer una sólida estrategia de recuperación ante desastres (DR) es fundamental para proteger los datos, minimizar el tiempo de inactividad y garantizar la continuidad empresarial durante las fallas inesperadas. Las pruebas periódicas de los procedimientos de restablecimiento y la automatización de las copias de seguridad ayudan a garantizar la preparación operativa, el cumplimiento de los objetivos de recuperación y la protección de datos confiable adaptada a las necesidades de la organización.

Casilla de verificación Actividad
❑  
Define una estrategia integral de recuperación ante desastres para Spanner que incluya la protección de datos, los objetivos de recuperación y las situaciones de falla. Establece objetivos de tiempo de recuperación (RTO) y objetivos de punto de recuperación (RPO) claros que se alineen con los requisitos de continuidad de la empresa. Especifica la frecuencia de las copias de seguridad y las políticas de retención, y usa la recuperación de un momento determinado (PITR) para minimizar la pérdida de datos en caso de fallas. Revisa el Resumen de recuperación ante desastres para identificar las herramientas y técnicas adecuadas que garanticen el cumplimiento de los requisitos de disponibilidad, confiabilidad y seguridad de tu aplicación. Para obtener más información, consulta el informe técnico Soluciones de protección y recuperación de datos en Spanner.
❑  
Crea documentación detallada para los procedimientos de copia de seguridad y restablecimiento, incluidas guías paso a paso para diversas situaciones de recuperación. Prueba estos procedimientos con regularidad para garantizar la preparación operativa y validar los requisitos de RTO y RPO. Las pruebas deben simular condiciones y situaciones de falla del mundo real para identificar brechas y mejorar el proceso de recuperación. Para obtener más información, consulta Descripción general del restablecimiento.
❑  
Implementa programas de copias de seguridad automatizadas para garantizar una protección de datos coherente y confiable. Configura los parámetros de frecuencia y retención para que coincidan con las necesidades comerciales y las obligaciones reglamentarias. Usa las funciones de programación de copias de seguridad de Spanner para automatizar la creación, la administración y la supervisión de copias de seguridad. Para obtener más información, consulta Crea y administra programas de copias de seguridad.
❑  
Alinea los procedimientos de conmutación por error con la topología de configuración de instancias de tu aplicación para minimizar los impactos en la latencia en caso de una interrupción. Probar situaciones de recuperación ante desastres para garantizar que la aplicación pueda operar de manera eficiente cuando la región principal se mueva a una región de conmutación por error Para obtener más información, consulta Modifica la región líder de una base de datos.

Administración de estadísticas y del optimizador de consultas

Administrar las versiones y las estadísticas del optimizador de consultas es importante para mantener un rendimiento de las consultas predecible y eficiente. Usar versiones probadas y mantener actualizadas las estadísticas garantiza la estabilidad, evita cambios inesperados en el rendimiento y optimiza los planes de ejecución de consultas, en especial durante las modificaciones significativas de los datos o el esquema.

Casilla de verificación Actividad
❑  
De forma predeterminada, las bases de datos de Spanner usan la versión más reciente del optimizador de consultas. Para garantizar un rendimiento predecible de las consultas, usa la versión del optimizador en la que se probó la carga de trabajo. Evalúa periódicamente las nuevas versiones del optimizador en un entorno controlado y actualiza la versión predeterminada solo después de confirmar la compatibilidad y las mejoras en el rendimiento. Para obtener más información, consulta la Descripción general del optimizador de consultas.
❑  
Asegúrate de que las estadísticas del optimizador de consultas estén actualizadas para admitir planes de ejecución de consultas eficientes. Si bien las estadísticas se actualizan automáticamente, considera la posibilidad de crear manualmente un nuevo paquete de estadísticas en situaciones como modificaciones de datos a gran escala (por ejemplo, inserciones, actualizaciones o eliminaciones masivas), la adición de nuevos índices o cambios de esquema. Mantener actualizadas las estadísticas del optimizador de consultas es fundamental para mantener un rendimiento óptimo de las consultas.
❑  
En ciertas situaciones, como después de borrados masivos o cuando la generación de estadísticas nuevas podría afectar de forma impredecible el rendimiento de las consultas, se recomienda fijar un paquete de estadísticas específico. Esto proporciona un rendimiento de las consultas coherente hasta que se pueda generar y probar un paquete nuevo. Revisa periódicamente la necesidad de fijar estadísticas y desafíalas una vez que se validen los paquetes actualizados. Para obtener más información, consulta Paquetes de estadísticas del optimizador de consultas.

Seguridad

Implementar medidas de control de acceso es fundamental para proteger los datos sensibles y evitar el acceso no autorizado en Spanner. Si aplicas el acceso con privilegio mínimo, el control de acceso detallado (FGAC) y la protección contra eliminación de bases de datos, puedes minimizar el riesgo, garantizar el cumplimiento y proteger los recursos críticos contra acciones accidentales o maliciosas.

Casilla de verificación Actividad
❑  
Revisa y aplica las políticas de Identity and Access Management (IAM) siguiendo el principio de privilegio mínimo para todos los usuarios y las cuentas de servicio que accedan a tu base de datos. Asigna solo los permisos necesarios para realizar tareas específicas y audita periódicamente los permisos de control de acceso para garantizar el cumplimiento de este modelo. Usa cuentas de servicio con privilegios mínimos para los procesos automatizados y, así, reduce el riesgo de acceso no autorizado. Para obtener más información, consulta la descripción general de IAM.
❑  
Si la aplicación requiere acceso restringido a filas, columnas o celdas específicas dentro de una tabla, implementa el control de acceso detallado (FGAC). Diseña y aplica políticas de acceso condicional basadas en atributos del usuario o valores de datos para aplicar reglas de acceso detalladas. Revisa y actualiza estas políticas con regularidad para alinearlas con los requisitos de seguridad y cumplimiento en constante evolución. Para obtener más información, consulta la Descripción general del control de acceso detallado.
❑  
Implementa programas de copias de seguridad automatizadas para garantizar una protección de datos coherente y confiable. Configura los parámetros de frecuencia y retención para que coincidan con las necesidades comerciales y las obligaciones reglamentarias. Usa las funciones de programación de copias de seguridad de Spanner para automatizar la creación, la administración y la supervisión de copias de seguridad. Para obtener más información, consulta Crea y administra programas de copias de seguridad.
❑  
Habilita la protección contra la eliminación de bases de datos para evitar eliminaciones accidentales o no autorizadas. Combina esto con controles estrictos de IAM para limitar los privilegios de eliminación a un conjunto pequeño y confiable de usuarios o cuentas de servicio. Además, configura herramientas de automatización de infraestructura, como Terraform, para incluir medidas de protección contra la eliminación accidental de tus bases de datos. Este enfoque en capas minimiza los riesgos para los recursos de datos críticos. Para obtener más información, consulta Cómo evitar la eliminación accidental de bases de datos.

Registro y supervisión

El registro y la supervisión eficaces son fundamentales para mantener la visibilidad de las operaciones de la base de datos, detectar anomalías y garantizar el buen estado del sistema. Con los registros de auditoría, el seguimiento distribuido, los paneles y las alertas proactivas, puedes identificar y resolver problemas rápidamente, optimizar el rendimiento y cumplir con los requisitos de cumplimiento.

Casilla de verificación Actividad
❑  
Habilita el registro de auditoría para capturar información detallada sobre las actividades de la base de datos. Configura los niveles de registro de auditoría de forma adecuada según los requisitos operativos y de cumplimiento para supervisar los patrones de acceso y detectar anomalías de manera eficaz. Ten en cuenta que los registros de auditoría pueden crecer mucho, en especial para las solicitudes de DATA_READ y DATA_WRITE, ya que se registran todas las instrucciones de SQL y DML para estas solicitudes respectivas. Para obtener más información, consulta Registros de auditoría de Spanner.

Si enrutas estos registros a un bucket de registros definido por el usuario, puedes optimizar los costos de retención de registros (los primeros 30 días no se cobran) y controlar el acceso a los registros de forma detallada con las vistas de registro.
❑  
Recopila métricas del cliente instrumentando la lógica de tu aplicación con OpenTelemetry para distribuir el registro y la observabilidad. Configura la instrumentación de OpenTelemetry para capturar seguimientos y métricas de Spanner, lo que garantiza la visibilidad integral del rendimiento de la aplicación y las interacciones de la base de datos. Para obtener más información, consulta Cómo capturar métricas personalizadas del cliente con OpenTelemetry.
❑  
Crea y configura métricas de supervisión para visualizar el rendimiento de las consultas, la latencia, el uso de CPU y el uso de almacenamiento. Usa estas métricas para el seguimiento en tiempo real y el análisis histórico del rendimiento de la base de datos. Para obtener más información, consulta Supervisa instancias con Cloud Monitoring.
❑  
Define alertas de supervisión basadas en umbrales para las métricas críticas y, así, detectar y abordar los problemas de forma proactiva. Configura alertas para condiciones como alta latencia de consultas, baja disponibilidad de almacenamiento o aumentos repentinos inesperados en el tráfico. Integra estas alertas con herramientas de respuesta ante incidentes para tomar medidas rápidas. Para obtener más información, consulta Crear alertas para las métricas de Spanner.

Biblioteca cliente

Configurar el etiquetado de operaciones, los grupos de sesiones y las políticas de reintentos es fundamental para optimizar el rendimiento, depurar problemas y mantener la capacidad de recuperación en Spanner. Estas medidas mejoran la observabilidad, reducen la latencia y garantizan un manejo eficiente de las demandas de carga de trabajo y los errores transitorios, lo que alinea el comportamiento del sistema con los requisitos de la aplicación.

Casilla de verificación Actividad
❑  
Configura la biblioteca cliente para que use etiquetas significativas de solicitudes de consultas y transacciones. Puedes usar etiquetas de solicitudes y transacciones para comprender mejor tus consultas, lecturas y transacciones. Como práctica recomendada, usa metadatos contextuales, como el componente de la aplicación, el tipo de solicitud o el contexto del usuario, en tus etiquetas para habilitar la depuración y la introspección mejoradas. Asegúrate de que las etiquetas sean visibles en las estadísticas y los registros de las consultas para facilitar el análisis del rendimiento y la solución de problemas. Para obtener más información, consulta Soluciona problemas con etiquetas de solicitud y etiquetas de transacción.
❑  
Optimiza la administración de sesiones habilitando la agrupación de sesiones en la biblioteca cliente. Configura los parámetros del grupo, como las sesiones mínimas y máximas, para satisfacer las demandas de la carga de trabajo y minimizar la latencia. Supervisa periódicamente el uso de las sesiones para ajustar estos parámetros y asegurarte de que el grupo de sesiones proporcione beneficios de rendimiento coherentes. Para obtener más información, consulta Sesiones.
❑  
En situaciones excepcionales, los parámetros predeterminados de la biblioteca cliente para los reintentos, incluidos los intentos máximos y los intervalos de retirada exponencial, deben configurarse para equilibrar la capacidad de recuperación con el rendimiento. Prueba estas políticas a fondo para asegurarte de que se alineen con las necesidades de la aplicación. Para obtener más información, consulta Configura tiempos de espera y reintentos personalizados.

Asistencia

Para minimizar el tiempo de inactividad y el impacto, define roles y responsabilidades claros para los incidentes y, así, garantizar respuestas rápidas y coordinadas a los problemas relacionados con Spanner. Para obtener más información, consulta Obtén asistencia.

Casilla de verificación Actividad
❑  
Establece un marco de respuesta ante incidentes claro que defina los roles y las responsabilidades de todos los miembros del equipo involucrados en la administración de incidentes relacionados con Spanner. Designa roles para incidentes, como comandante de incidentes, líder de comunicaciones y expertos en la materia (SME), para garantizar una coordinación y comunicación eficientes durante los incidentes. Desarrollar y documentar procesos para identificar, derivar, mitigar y resolver problemas Sigue las prácticas recomendadas que se describen en el Libro de trabajo de SRE de Google sobre respuesta ante incidentes y Administración de incidentes. Realiza simulaciones y capacitaciones periódicas sobre respuesta ante incidentes para garantizar la preparación y mejorar la capacidad del equipo de administrar situaciones de alta presión de manera eficaz.

Administración de costos

La implementación de estrategias de administración de costos, como el ajuste de escala automático y las copias de seguridad incrementales, garantiza un uso eficiente de los recursos y ahorros significativos. Alinear el aprovisionamiento de recursos con las demandas de la carga de trabajo y optimizar los entornos que no son de producción reduce aún más los gastos y, al mismo tiempo, mantiene el rendimiento y la flexibilidad.

Casilla de verificación Actividad
❑  
Evalúa y compra CUD para Spanner y reduce los costos en cargas de trabajo predecibles. Estos compromisos pueden proporcionar ahorros significativos en comparación con los precios según demanda. Analiza los patrones de uso históricos para determinar los compromisos óptimos de CUD. Para obtener más información, consulta Descuentos por compromiso de uso y Precios de Spanner.
❑  
Supervisa el uso de la capacidad de procesamiento y ajusta los recursos aprovisionados para mantener los niveles recomendados de uso de CPU. El aprovisionamiento excesivo de recursos de procesamiento puede generar costos innecesarios, mientras que el aprovisionamiento insuficiente puede afectar el rendimiento. Sigue los lineamientos recomendados para el uso máximo de CPU de Spanner para garantizar una alineación de recursos rentable.
❑  
Habilita el ajuste de escala automático para ajustar de forma dinámica la capacidad de procesamiento según las demandas de la carga de trabajo. Esto garantiza un rendimiento óptimo durante las cargas máximas y reduce los costos durante los períodos de poca actividad. Configura políticas de ajuste de escala con límites superior e inferior para controlar los costos y evitar el ajuste de escala excesivo. Para obtener más información, consulta Descripción general del ajuste de escala automático.
❑  
Usa copias de seguridad incrementales para reducir los costos de almacenamiento de las copias de seguridad. Las copias de seguridad incrementales solo almacenan los cambios de datos desde la última copia de seguridad. Esto reduce significativamente los requisitos de almacenamiento en comparación con las copias de seguridad completas. Incorpora copias de seguridad incrementales a tu estrategia de copias de seguridad. Para obtener más información, consulta Copias de seguridad incrementales.
❑  
Optimiza los costos para los entornos que no son de producción seleccionando la configuración de instancia más óptima y anulando el aprovisionamiento de recursos cuando los entornos no estén en uso. Por ejemplo, reduce el tamaño de los entornos no críticos después del horario de atención o automatiza el ajuste de escala de los recursos para los casos de desarrollo y prueba. Este enfoque minimiza los costos y mantiene la flexibilidad operativa.