Consideraciones para poner en marcha soluciones personalizadas SharePoint en ambientes de producción de nuestros clientes

Seguramente como desarrollador puede que seas el responsable o miembro de un equipo de desarrollo encargado de realizar el análisis, diseñar, construcción, pruebas o implementar una solución de colaboración, por tal motivo quiero compartir algunos consejos relacionados con este tema ya que es muy sano para todos los involucrados delimitar los ámbitos de responsabilidad para asegurar que nuestro trabajo “que definitivamente coadyuva con el de otros” pueda fluir de manera elegante y contundente.

  1. Inventario de soluciones: Es importante tener en cuenta aquellas otras soluciones de colaboración que se tengan implementadas en el ambiente de producción con la finalidad de asegurarnos que nuestra solución o sus pre-requisitos no infieran con las otras. Esto sucede por ejemplo cuando usamos las extensiones de AJAX más recientes y que desarrollos anteriores hagan uso de las extensiones de AJAX 1.0.
  2. Validación de estado de ejecución de cada solución: Antes de tocar al servidor y una vez teniendo el inventario de soluciones, asegúrate de saber y dejar en claro con el cliente cuales de estas se encuentran en debida operación y cuáles no. Esto es para eliminar el riesgo de que te hagan responsable del fallo de alguna después de que estuviste en la granja. Toma una impresión de pantalla de la sección de Solution Management donde se pueda ver el estado de implementación actual de todos los WSP instalados.
  3. No implementes en horas de oficina: parece hasta broma pero sucede que por falta de comunicación puedas pensar que la granja está vacía y que por eso te citaron a las 10:00 AM a implementar. Busca siempre una hora donde se sepa que usuarios no estarán utilizando los servicios de la granja y aconseja al cliente de realizar un comunicado oficial donde se especifique la ventana de tiempo requerida y la intermitencia del servicio. Recuerda que cuando implementamos hacemos IISRESET o modificaciones al web.config y esto causa un reciclaje que potencialmente puede transformarse en momentos de downtime o intermitencia del servicio.
  4. Respaldo de los eventos del visor de eventos: Es esencial asegurarte de tener en cuenta que eventos tanto de información o de error están registrados previo a tu intervención, si encuentras alguno que sea importante de entender sugiero exponer al cliente el estatus y dar un par de sugerencias para mitigarlos previo a tu intervención. Es común encontrar errores relacionados con el rastreo de las búsquedas y con el tamaño de los logs. Antes, durante y después de tu intervención en la granja te recomiendo realizar múltiples respaldo de los elementos que se estén registrados en el visor de eventos con la finalidad de detectar posibles colisiones funcionales producto de la instalación de tus pre-requisitos o tu funcionalidad. También si quieres ser demasiado critico en este tema, se recomienda que durante cada paso de tu implementación te asegures de que las otras aplicaciones web siguen funcionando invocándolas directamente desde un navegador.
  5. Revisar lo servidores de la granja y los servicios: Solicita un diagrama de la granja SharePoint, las organizaciones normalmente cuentan con la documentación o memoria técnica que algún proveedor realizo cuando implemento la granja de producción. Valídalo, valida que lo que está descrito en esa memoria técnica este físicamente configurado en producción y da a tu cliente evidencia de ello. Él lo agradecerá. Aquí es importante comentar que si detectas algún riesgo en la configuración lo menciones previo a tu intervención, por ejemplo, contar con el rol de Web Application en todos los servidores de la granja “index, search, sso” y que solamente se encuentren configurado 2 en el balanceador. Cuando haces despliegue de tu WSP estos estarán eternamente en estado de “Deploying” debido a que no pueden implementarse en los otros servidores que cuentan con el rol de Web Application que están fuera de los registrados en el balanceador. En la herramienta central de administración dentro de operations está la opción de Servers in farm, date el tiempo de analizar cuales servidores son Web Front End y que servicios se encuentran configurado. Insisto, toma una impresión de pantalla y si notas alguna inconsistencia de configuración comunícalo al cliente o a alguien que te pueda asesorar.
  6. Siempre utilizar archivos “WSP”: Los archivos WSP que significan “Web Solution Package” son paquetes de despliegue de archivos y ensamblados que se ejecutaran dentro del contexto funcional de SharePoint. Estos paquetes cuentan con toda una serie de instrucciones fijas y precisas sobre donde ubicar los archivos y recursos que estamos instalando con la finalidad de poder retraerlos en algún momento dado sin perder absolutamente nada de funcionalidad o configuración. Así mismo, estos archivos los podemos utilizar para re instalar en alguna otra granja la misma funcionalidad sin tanto esfuerzo ya que estos se encargan de acomodar los archivos y recursos en el lugar esperado.
  7. Ejecutar un respaldo de la granja en un servidor adicional: esta opción normalmente siempre está configurada para hacerse de manera incremental. Solo asegúrate de que el cliente cuente con un respaldo reciente de toda la granja y asegúrate de tener la certeza de ante cualquier eventualidad el cliente pueda recuperar el estado de su granja. No olvides copiar la carpeta 12.
  8. Crea un plan de despliegue: define la estrategia de despliegue desde el punto de vista técnico y logística donde se pueda acordar con los distintos actores las actividades, tiempos y sobre todo los requisitos para poder ejecutarse. Mientras el cliente sepa que esperar y entienda todas las posibles consecuencias positivas y negativas estarás con la posibilidad de poder levantar la mano y solicitar lo que necesites con la certeza de que la solución fluirá pronto.
  9. Ten un plan de desinstalación: Define la estrategia de rallback a la implementación en caso de algún fallo donde de plano no sepas que está pasando.
  10. Manten un buen humor, respirar profundamente, ser muy cuidadoso, tomar en serio las cosas, ir generando manualmente una bitaccora de movimientos de instalacion, etc etc.

Hay mas recomendaciones que podamos incluir en esta lista, vamos abriendo la discusion y por favor comparte las que en tu experiencia consideres pertinentes nos enriquecernos todos.

Originalmente publicado en msmvps.com