Salesforce DX y Blue Canvas
Salesforce está invirtiendo en una renovación estratégica de la experiencia de desarrollo de Force.com con Salesforce DX, mientras que Blue Canvas ofrece un servicio administrado que incorpora control de código fuente nativo a la plataforma Salesforce y permite la integración continua (CI). Blue Canvas aprovechará muchas de las herramientas que DX pone a disposición, pero es compatible con tu flujo de trabajo actual y hoy está en beta privada.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··5 min de lecturaEn este artículo, descubre Salesforce DX y cómo ofrece un conjunto mejorado de herramientas para gestionar despliegues en la plataforma Salesforce. También aprendí sobre Blue Canvas y cómo se puede usar para aprovechar DX de la forma más sencilla posible, sin tener que cambiar nada de tu flujo de trabajo.
Estas son nuestras 5 conclusiones clave:
1. Salesforce DX ofrece un conjunto mejorado de herramientas para gestionar despliegues en la plataforma Salesforce.
2. Blue Canvas es un servicio administrado que incorpora control de código fuente nativo a la plataforma Salesforce y permite la integración continua (CI).
3. DX promueve el desarrollo basado en código fuente, pero mantiene el control de código fuente fuera de la plataforma.
4. Blue Canvas funciona con los flujos de trabajo existentes y no interfiere, para que los desarrolladores y administradores hagan lo que mejor saben hacer.
5. Blue Canvas aprovecha muchas de las herramientas que DX pone a disposición y es una implementación de lo mejor que DX puede ofrecer, compatible con tus procesos actuales.
En Dreamforce ‘16, Salesforce hizo un anuncio emocionante: está invirtiendo fuertemente en una renovación estratégica de la experiencia de desarrollo de Force.com en torno a los despliegues y la integración continua. Como este es el mismo ámbito en el que trabaja Blue Canvas, nos han preguntado: “¿Cómo se relaciona Blue Canvas con Salesforce DX?”. Es una gran pregunta. Esta es nuestra perspectiva.
Salesforce DX
Salesforce DX ofrece un conjunto mejorado de herramientas para gestionar despliegues en la plataforma Salesforce. Es positivo que Salesforce reconozca que la experiencia de los desarrolladores al realizar despliegues necesita mejoras. Force.com es una plataforma excelente, pero, por supuesto, existen algunos problemas reales con la ciclo de vida del desarrollo de software para Salesforce.
Salesforce DX promete mejoras necesarias en las API y las herramientas que permiten a los desarrolladores, proveedores de IDE y utilidades de línea de comandos lograr Integración continua para Salesforce. En su forma actual, lo vemos como una mejora importante de la herramienta de migración Ant junto con la introducción del concepto de organizaciones temporales - un nuevo concepto para crear organizaciones de Salesforce en tan solo unos segundos.
Todo esto busca permitir que los desarrolladores de Salesforce adopten las mejores prácticas que los principales proveedores independientes de software (ISV) de Salesforce ya aplican.
Blue Canvas es a DX lo que GitHub es a Git
Git es una excelente herramienta de código abierto que ayuda a los equipos de software a colaborar de forma distribuida. Usar Git ofrece muchísimas ventajas. Pero Git no despegó realmente hasta que GitHub creó un servicio alojado que hizo que Git fuera más accesible. Una versión alojada de Git significaba que los equipos ya no tenían que instalar y mantener Git en servidores ni preocuparse por el mantenimiento y las interrupciones del servicio. Con GitHub, Git simplemente funcionaba. Esto impulsó una revolución en la forma en que los equipos colaboran para crear software.
Por lo que hemos visto, DX será muy parecido a Git: un conjunto de herramientas muy potente que se puede aprovechar para hacer grandes cosas. Aun así, creemos que hace falta una capa sobre DX que facilite su uso y mantenimiento.
DX es, en gran medida, una actualización de herramientas que puedes aprovechar para crear tu propio proceso de CI o CD. En cambio, Blue Canvas es un servicio administrado que incorpora control de versiones nativo a la plataforma Salesforce de una forma que permite la CI. Blue Canvas facilita alcanzar la visión de DX sin tener que crear tu propia solución ni cambiar tus procesos.
DX fomenta el desarrollo basado en código fuente, pero mantiene el control de versiones fuera de la plataforma. En las demostraciones de DX en Dreamforce, el equipo mostró cómo puedes enviar código entre tu computadora local y GitHub, tal como lo haces hoy con Ant+GitHub o Eclipse+GitHub. Parecía más rápido y sencillo, pero es el mismo modelo. Seguirás teniendo que escribir y mantener scripts de despliegue, además de instalar y configurar tu propio servidor de CI.
Blue Canvas usará las herramientas de DX para ejecutar y mantener un sistema de despliegue que te permita concentrarte en lo que mejor haces: crear software de calidad. No tendrás que mantener nada con Blue Canvas.
Cambios declarativos y DX
¿Cómo encajan los administradores y los cambios declarativos en DX?
Al igual que Ant+GitHub, DX en su forma actual solo funcionará bien si todos los desarrolladores y administradores del equipo usan el control de versiones sin excepción. Basta con que un administrador haga una sola “corrección rápida” en producción para que tu código fuente deje de estar sincronizado con tu organización.
En Blue Canvas consideramos que este modelo de desarrollo de software es insostenible y ofrecemos un enfoque diferente: todos los comandos, scripts y lógica se ejecutan del lado del servidor en nuestro servicio administrado. Una vez que conectas tu organización, tienes control de versiones real y nativo con Git para todas tus organizaciones y metadatos. Los cambios administrativos y los realizados desde la interfaz se registran automáticamente en Git sin que nadie tenga que ejecutar un comando de sincronización en su equipo local.
Si un administrador cambia un PermissionSet o Workflow desde la interfaz, Blue Canvas lo registra automáticamente como un commit en Git. Con Blue Canvas, los administradores no necesitan dominar Git ni recordar hacer un commit cada vez que realizan un cambio. Funciona con Developer Edition, sandboxes y organizaciones de producción (cuando DX esté disponible, también funcionará con organizaciones temporales). Como los despliegues se realizan al fusionar una rama, no es posible sobrescribir accidentalmente el trabajo de otros. DX no lleva un registro del contenido de tus organizaciones ni realiza este tipo de sincronización bidireccional.
Blue Canvas no requiere nuevos procesos
Blue Canvas funciona con los flujos de trabajo existentes. Salesforce DX requiere algunos cambios clave en tu forma de desarrollar. En primer lugar, DX admite una estructura de directorios diferente. Esto significa que tendrás que hacer algunos cambios en tus organizaciones.
Salesforce DX también incluirá un nuevo formato de empaquetado (también conocido como “artefactos”). A diferencia del sistema actual de src/ y package.xml, DX necesita varios archivos JSON en configs/ y el código se ha trasladado a force-app/packagename/.
Blue Canvas funciona sin problemas con tu configuración actual. No interfiere y permite que los desarrolladores y administradores hagan lo que mejor saben hacer: crear experiencias extraordinarias para sus usuarios.
Más innovación extraordinaria de Salesforce
Al igual que con Lightning, es excelente ver a Salesforce avanzar con tecnologías innovadoras. En Blue Canvas compartimos la visión de Salesforce DX y esperamos ayudar a hacerla realidad para tantos equipos como sea posible.
En definitiva, Blue Canvas es una forma de aprovechar DX de la manera más sencilla posible. No necesitas cambiar nada en tu flujo de trabajo. Usamos DX en el backend y todo funciona sin complicaciones.
Como mencionamos en nuestro blog, nos entusiasma DX. Blue Canvas aprovechará muchas de las herramientas que DX pone a disposición. De hecho, vemos Blue Canvas como una implementación de lo mejor que DX puede ofrecer, pero compatible con tu flujo de trabajo actual y ya disponible en beta privada.
Salesforce tiene una larga y destacada trayectoria de apoyo a herramientas de terceros. Nos entusiasma seguir trabajando con Salesforce para mejorar la experiencia de sus desarrolladores.



