Ofrecer software como servicio
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Discutir los beneficios de implementar y mantener una sola versión de su producto.
- Explicar cómo implementar la actualización sin problemas.
La promesa de la plataforma
Los clientes de Salesforce conocen sus beneficios. No tienen que mantener servidores ni prestar atención a los sistemas operativos. No tienen que saber cómo diseñar, ejecutar u optimizar una base de datos relacional. Ni siquiera tienen que hacer copias de seguridad de sus propios datos.
Obtienen tres versiones de software principales al año con nuevas funciones y mejoras de rendimiento. Obtienen numerosas notas de versiones y materiales de capacitación (como este fabuloso módulo Trailhead). Obtienen AppExchange, un mercado completo de productos que funcionan a la perfección con Salesforce. Todo lo que necesitan a la hora de hacer negocios está ahí para que lo usen.
Grandes expectativas
¿Lo ve? El software corporativo no tiene que ser tedioso. Puede simplemente funcionar. Esa es la promesa del software como servicio (Software as a Service, SaaS). Durante más de 20 años, Salesforce ha mantenido esa promesa a sus clientes. Incluso las actualizaciones principales de la plataforma de Salesforce, por lo general, ocurren sin problemas y sin que los clientes lo adviertan.
Sus clientes esperan mucho de los productos que usted desarrolla en nuestra plataforma. ¡Así se siente el éxito! Entonces, cuando actualice su oferta, ¿cómo puede llegar a sus clientes manteniendo la promesa de SaaS?
Elegir una estrategia de actualización
Las actualizaciones vienen en varias formas. Los parches son el tipo más pequeño de actualización: corrigen errores y hacen ajustes secundarios en el producto. El lanzamiento de una nueva versión del paquete principal o secundario son actualizaciones que implementan cambios más grandes.
Cuando actualiza su producto, puede elegir el modo en que sus clientes obtienen la nueva versión. Hay dos maneras de hacerlo:
- Instalación manual: Los clientes deciden cuándo quieren la nueva versión y la instalan mediante una URL que usted proporciona.
- Instalación automática: Usted envía actualizaciones a sus clientes para que siempre tengan la versión más reciente del producto y todos usen siempre la misma versión. Llamamos a esto una actualización de envío.
En este punto, usted puede preguntarse por qué ofrecemos la opción de autoservicio. Ese no es el modo en que Salesforce hace sus propios lanzamientos y, ciertamente, no se dan “sin problemas”. ¿Por qué no hacer las cosas a la manera de Salesforce y actualizar a todos al mismo tiempo?
La realidad es la siguiente: Salesforce tiene un extenso historial de actualizaciones exitosas sin inconvenientes. Los clientes confían en que Salesforce lanzará las versiones correctamente y solucionará con rapidez cualquier problema que pueda ocurrir en el proceso. Pero algunos de estos mismos clientes necesitan estar más convencidos para poder sentirse cómodos con las actualizaciones automáticas de los socios de Salesforce.
Vamos a hablar de los beneficios de las actualizaciones de envío, para que pueda difundir el mensaje.
Las actualizaciones de envío facilitan las cosas
Recomendamos que, siempre que sea posible, use actualizaciones de envío para distribuir nuevas versiones de su producto y que utilice las actualizaciones de autoservicio solo para clientes que insistan en ello.
Con las actualizaciones de envío, todos sus clientes usan la misma versión de su aplicación. Esto es bueno para usted y para sus clientes. ¿Por qué? Considere la alternativa: admitir múltiples versiones activas de su aplicación. Al conservar múltiples versiones, las cosas se complican:
- Su equipo de asistencia tiene que realizar un seguimiento de las funciones y correcciones en cada versión para que puedan responder adecuadamente a los problemas del cliente.
- Necesita mantener varias versiones de su documentación y sus materiales de capacitación.
- Al corregir un error, es posible que tenga que volver a solucionarlo en varias versiones.
En cambio, cuando usa actualizaciones de envío para mantener a sus clientes al día, evita todo ese trabajo adicional.
No rompa su promesa
No hace falta aclararlo, pero lo diremos de todos modos: no perjudique a las organizaciones de sus clientes ni su aplicación. Por supuesto, actualizar el producto sin arruinarle el día a un cliente puede ser difícil. Salesforce le ofrece algunas herramientas útiles y algunos límites para mantenerlo en el camino correcto.
Automatizar el proceso
A veces, una actualización exige que usted haga algún trabajo en la organización del cliente cuando se instala la nueva versión del producto. Tal vez quiera validar algunos datos o hacer una limpieza en la organización después de la instalación.
Podría incluir un botón en la aplicación para que haga el trabajo, pero, si el cliente no lo presiona, el trabajo no se hará. En lugar de involucrar al cliente, le sugerimos que haga el trabajo automáticamente durante la instalación. Cuando configure su paquete, incluya secuencias de comandos para hacerlo. Las secuencias de comandos pueden actualizar datos y ciertos metadatos.
Por ejemplo, supongamos que encuentra un error en algún código de Apex que calcula el valor almacenado en un campo. Como parte de su actualización, puede corregir el error y ejecutar una secuencia de comandos que también corrija todos los valores erróneos que se generaron antes de la corrección.
Un poco de preparación hace maravillas
Mencionamos el impresionante historial de Salesforce en términos de versiones y actualizaciones sin inconvenientes. ¿Cuál es nuestro secreto? Pruebas meticulosas. No es algo superemocionante, pero funciona. Más pruebas equivalen a menos inconvenientes.
A veces, los socios se centran tanto en sus nuevas y fabulosas funciones que pasan por alto algunos detalles mientras se prueba una actualización. Este es un ejemplo de un procedimiento de prueba incompleto: instala su aplicación actualizada en una organización de prueba vacía recién creada; si funciona allí, cree que está todo listo, ¿verdad? Eso es cierto si todos sus clientes comienzan a partir de organizaciones nuevas.
Sin embargo, la mayoría de los clientes del mundo real están en medio de su negocio en un momento determinado. Van a instalar su actualización en una organización donde ya están ocurriendo un millón de cosas. Por lo tanto, pruebe sus actualizaciones en organizaciones desordenadas y de aspecto real, además de en organizaciones prístinas.
Implementar las actualizaciones sin problemas y en silencio
Los clientes no pueden simplemente pulsar el botón de pausa en su negocio mientras su software se actualiza. Eso no es parte de la promesa de SaaS. Es imposible garantizar que nada fallará, pero puede minimizar el caos pensando de qué modo sus actualizaciones afectan a los clientes.
- Considere el impacto de sus actualizaciones. ¿Está cambiando la forma en que sus clientes usan su producto?
- Primero, pruebe los cambios internamente. Use una variedad de organizaciones de prueba rellenadas, no solo las nuevas que están vacías.
- Considere usar niveles en su implementación: los usuarios avanzados reciben primero las actualizaciones, y luego las reciben todos los demás. En Salesforce usamos este proceso, que nos ayuda a entender el impacto en los clientes reales.
Ahora veamos las diferentes formas en que puede ofrecer sus actualizaciones.
Recursos
- Guía del desarrollador de Empaquetado gestionado de segunda generación: Creación y actualización de versiones de un paquete gestionado de segunda generación
- Guía del desarrollador de Empaquetado gestionado de segunda generación: Ejecutar Apex al instalar/actualizar paquete