Cómo acelerar las actualizaciones de sandboxes en Salesforce
¿Y si pudieras acelerar el proceso de actualización de tus sandboxes reduciendo, desde el principio, la cantidad de actualizaciones que necesitas realizar?
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··5 min de lectura
Pocas cosas generan tanta preocupación entre los desarrolladores y administradores de Salesforce como una actualización completa de un sandbox. Nuestros clientes potenciales nos cuentan que esto les cuesta más tiempo productivo que casi cualquier otra actividad. Para muchos equipos, completar todos los pasos manuales asociados con la actualización de un sandbox puede tomar hasta cinco días. Para muchas de las personas con las que hablamos cada semana, esta es la principal mejora que buscan en su proceso de DevOps para Salesforce.
Despliegues de datos
La mayoría de los equipos comienza a mejorar su flujo de actualización automatizando sus despliegues de datos. Recrear minuciosamente los datos de prueba a mano puede tomar días de trabajo tedioso.
dataloader.io
Dataloader.io es una herramienta (en su mayor parte) gratuita proporcionada por Mulesoft que te permite importar y exportar datos de un entorno de Salesforce a otro. Su interfaz sencilla y clara la hace popular entre los administradores de Salesforce que transfieren datos entre CRM o sandboxes. Muchos desarrolladores y administradores también están recurriendo a dataloader.io como una herramienta sencilla y sin complicaciones para volver a cargar datos de prueba en sus sandboxes.

Dataloader.io es fácil. Solo tienes que iniciar sesión con OAuth, sin lidiar con tokens de seguridad complicados, lo que simplifica la autenticación. Luego puedes crear "Tareas" reutilizables para importar datos mediante el mapeo de conjuntos de datos y la búsqueda de campos y objetos en una herramienta que se maneja con clics. Incluso hay atajos de teclado que agilizan mucho el trabajo de los usuarios avanzados. También conserva un historial de todas las tareas ejecutadas.
Lo mejor de dataloader.io son su sencillez y su gratuidad (hasta 100,000 registros al mes). Sin embargo, aún requiere varios pasos manuales y no incluye enmascaramiento de datos, por lo que debes usarla con un conjunto de datos ficticios. Aunque dataloader.io ahorra mucho tiempo, aún no se adapta del todo a un verdadero flujo de trabajo de DevOps porque no es fácil automatizarla con scripts ni integrarla en un proceso de integración continua.

Prodly
Una mejor solución para el contexto de DevOps es Prodly. Prodly se dio a conocer al ayudar a los equipos de Salesforce a configurar y desplegar registros de datos de CPQ sin complicaciones, y está intentando crear un espacio al que llama "AppOps". Su herramienta de despliegue de datos también puede usarse para cargar datos iniciales en sandboxes. Es una solución líder en su categoría que te permite mover datos directamente entre entornos de Salesforce (sin recurrir a hojas de cálculo) e incluye todas las funciones que podrías necesitar, como el enmascaramiento de datos y la creación de campos y valores de listas de selección faltantes.
Usa Git para actualizar tus sandboxes con menos frecuencia
Pero ¿qué pasaría si pudieras reducir desde el principio las actualizaciones completas de sandboxes? ¿Y si pudieras simplificar tu flujo de trabajo y mantener tus ramas mejor sincronizadas con producción sin tener que actualizar datos ni realizar pasos manuales? Porque, incluso con mejores herramientas, actualizar por completo un sandbox sigue tomando tiempo y requiere pasos manuales.
Al aprovechar Git para mantener tus sandboxes sincronizados, puedes realizar pequeñas actualizaciones frecuentes, atómicas y automatizadas que te permitirán concentrarte en desarrollar funcionalidades. Con las ramas de Git, puedes reducir drásticamente la cantidad de actualizaciones completas que necesitas realizar y seguir trabajando en entornos actualizados. Esto te beneficia al:
- Reducir la complejidad de tu pipeline de DevOps al requerir menos migración de datos
- Menos necesidad de configurar datos
- Reducir la necesidad de realizar numerosos pasos manuales
Cómo funciona
Al realizar tus despliegues de Salesforce mediante solicitudes de incorporación de cambios, también puedes enviar solicitudes a tus sandboxes para mantener tus entornos sincronizados.
Durante un sprint, los desarrolladores crearán solicitudes de incorporación de cambios. Más adelante, cada solicitud se agrupa en un Lanzamientos masivos en Blue Canvas y se prepara para enviarse a producción. Cuando el responsable del despliegue inicia el lanzamiento masivo, Blue Canvas activa automáticamente la validación y todos los controles de calidad configurados para el entorno de destino. Si todo pasa los controles y la versión se aprueba y se despliega, tu equipo contará con una versión exitosa lista para clonarse en los entornos posteriores.
El responsable de versiones simplemente hace clic en "Clonar a varios":

Luego, pueden seleccionar los entornos de destino posteriores, incluidos UAT, integración y todos los sandboxes de desarrollo.

Esto creará automáticamente solicitudes de incorporación de cambios para cada entorno de destino que hayas seleccionado. Cada desarrollador verá una solicitud pendiente con los cambios de la última versión para su entorno personal. Podrá ver el estado de validación y si hay algún problema de dependencias que deba tener en cuenta. Un administrador o desarrollador puede aceptar la solicitud para sincronizar por completo los cambios de la versión con su sandbox. O puede seleccionar archivos específicos para excluirlos. Incluso puede fusionar parte de un archivo. Por ejemplo, si solo quiere fusionar 2 métodos nuevos de una clase Apex, pero aún no sincronizar otros, puede hacerlo así:

Una vez aprobada la solicitud de incorporación de cambios al entorno posterior, Blue Canvas fusionará y desplegará los cambios de la versión de producción en el sandbox de destino. Ahora el sandbox está sincronizado con producción y contiene los cambios más recientes. Sin embargo, no hace falta volver a cargar datos ni reconfigurar el sandbox desde cero. Esto permite una verdadera integración continua, en la que los cambios entre entornos se sincronizan con frecuencia.
Este flujo de trabajo puede mejorarse aún más usando organizaciones temporales como "ramas de funcionalidades" atómicas. (También tenemos grandes expectativas para Sandboxes de Lightning Developer Pro aunque no hemos visto que se usen ampliamente).
Resultados
Con este método, nuestros clientes ahora pueden reducir la cantidad de actualizaciones completas de sandboxes que realizan en Salesforce. Muchos pasaron de realizarlas mensualmente a hacerlo solo una vez por trimestre. Es mucho más sencillo que preocuparse por configurar la carga de datos en tu pipeline de DevOps. Otra forma en la que, con Blue Canvas, menos puede ser más en DevOps para Salesforce.



