Creación de un marco de gestión de SSIS, parte 1

​Descargue un PDF de este Artículo

 

 

El entorno de administración de Microsoft SQL Server Integration Services (SSIS) fue desarrollado para hacer frente a una multitud de problemas de gestión y desarrollo de SSIS. Este marco fue diseñado para optimizar, no sólo desarrollo, sino también las prácticas de desarrollo y sus normas. Instituye una metodología que pone las normas y prácticas en primer plano, para que el proceso de desarrollo se estructure en torno a un conjunto de principios, y se minimicen así las grandes diferencias en los estilos de desarrollo.

El marco también implementa una estructura organizada para administrar SSIS,  los paquetes  de ejecución de SSIS y las mediciones de rendimiento. Proporciona información detallada que se puede usar para realizar un seguimiento y generar informes amplios e informativos. Las  piezas clave de la parte de presentación de informes del marco de gestión proporcionan información detallada de alertas e identifican áreas de posibles problemas o paquetes problemáticos, además de suministrar estadísticas para mediciones de rendimiento. Además, los informes del marco de gestión de SSIS proporcionan planes detallados para la solución de problemas, así como un mecanismo para estandarizar el conjunto de pasos a seguir en el proceso de la solución de esos problemas.

Hemos identificado los siguientes problemas al trabajar con SSIS en diferentes clientes:

  1. 1. Varios estilos de desarrollo. Muchas organizaciones tienen varios
  2.     desarrolladores, equipos y divisiones de creación de paquetes SSIS. SSIS no
  3.     sólo se utiliza para desarrollar paquetes ETL, sino que también puede
  4.     utilizarse para diferentes tipos de movimiento de datos o para automatizar
  5.     procesos repetitivos en la administración de datos. La existencia de tantas
  6.     variables con diferentes estilos, así como la falta de estándares de desarrollo
  7.     (dentro de una empresa), a menudo resulta en muchos estilos distintos de
  8.     paquetes a través de las distintas divisiones y a veces dentro de un solo
  9.     equipo o proyecto.
  10. 2. Administración de configuración incoherente. Una vez más, a menudo varía
  11.     según el  desarrollador, los equipos y los departamentos. Algunos equipos
  12.     utilizan procedimientos de administración de la configuración, mientras que
  13.     otros equipos no lo hacen. El reto que aparece no es poder administrar
  14.     claramente los cambios en el entorno, como puede ser una base de datos
  15.     trasladada a otro servidor, sino garantizar que todos los paquetes que tienen
  16.     acceso a esa base de datos automáticamente apuntan a la nueva ubicación.
  17. 3. Varias ubicaciones de configuración. No es raro tener más de un archivo
  18.     dtsconfig en un único servidor o un archivo de dtsconfig por paquete SSIS.
  19.     Las múltiples ubicaciones de configuración hacen sumamente difícil
  20.     administrar los cambios de configuración. El objetivo de la administración de
  21.     la configuración es centralizar y estandarizar la administración de paquetes
  22.     SSIS en equipos, departamentos, divisiones y organizaciones.
  23. 4. No hay auditoría centralizada. No es raro que una organización tenga varios
  24.     paquetes SSIS que se ejecuten diariamente, a menudo en diferentes
  25.     servidores. Cuando se produce un error en un paquete, por lo general es muy
  26.     difícil identificar lo que provocó el fracaso del paquete debido a controles
  27.     inconsistentes de auditoría. Es incluso posible que un paquete haya fallado
  28.     muchas veces y más de un mes, pero si los controles adecuados del error y la
  29.     auditoría no estaban en su sitio (en el paquete) no se habrá notificado del
  30.     error al personal adecuado. Obviamente, estos escenarios ponen en riesgo al
  31.     Departamento y a las personas responsables de manejar SSIS.
  32. 5. Reactivos notificación de problemas. En ausencia de una buena supervisión,
  33.     los problemas a menudo son ignorados o no se descubren hasta que los
  34.     usuarios finales los encuentran y lo notifican. A veces, esta notificación
  35.     puede ser demasiado tarde para recuperar algunos cambios en los datos.
  36. 6. Métodos incoherentes de solución de problemas. Los métodos dependerán de
  37.     la persona que trate de resolver el problema. El desarrollador de un paquete
  38.     bien podría saber cómo identificar rápidamente donde ha fallado el paquete.
  39.     Sin embargo, no es raro que las empresas gestionen paquetes que fueron
  40.     escritos por consultores externos. Esto deja espacio para el riesgo al no
  41.     tener métodos predefinidos o normas para resolver los problemas.
  42. 7. La falta de información apropiada y adecuada. No es raro que un paquete
  43.     falle y no se indiquen específicamente las razones para el fracaso. La falta
  44.     de estándares en el desarrollo y la administración, genera escenarios aún
  45.     peores al intentar resolver los problemas de del  paquete.

Áreas de normalización en SSIS

Para evitar problemas, pueden ser normalizadas las siguientes áreas en toda la organización para su uso más consistente con SSIS:

  1. 1. Administración configuraciones. La identificación de estándares de
  2.     configuración generará  consistencia en toda la organización respecto al
  3.     proceso de desarrollo. Esta normalización hará más fácil la administración de
  4.     objetos configurables en paquetes SISS.
  5. 2. Auditorías de paquetes y procesos.
    1. a. Auditoría de paquetes: implementa el uso de la información de versión
    2.     y tiempo de ejecución de un paquete para identificar y realizar un
    3.     seguimiento de las modificaciones de la versión y la ejecución del
    4.     paquete.
    5. b. Auditoría de gestión de procesos: implementa la auditoría a nivel de
    6.     procesos, que proporciona información relativa a un conjunto de
    7.     paquetes que implementan un proceso, como puede ser un proceso ETL.
    8.     Organizar y estandarizar esta información proporcionará un  nivel de
    9.     proceso de auditoría, como el éxito o fracaso de un proceso y la
    10.     evolución de los paquetes dentro del proceso. Sabiendo que un proceso
    11.     ETL no ha demorado significativamente su tiempo de ejecución puede
    12.     proporcionar información valiosa para el proceso de administración.
    13. c. Infraestructura común de registro (Logging): identifica un conjunto
    14.     común de reglas de estandarización con las que registrar los detalles de
    15.     ejecución del paquete. Esta información proporciona hojas de ruta para
    16.     la solución de problemas, análisis de tendencias de rendimiento y
    17.     análisis de tiempo de ejecución de paquetes.
    18. d. Administración común de Errores: identifica las normas dentro del
    19.     diseño del paquete sobre cómo administrar y manejar los errores de los
    20.     paquetes. Este tipo de estandarización garantiza la captura de errores,
    21.     proporcionando así un marco para organizar e notificar esta
    22.     información.
  6. 3. Seguimiento y solución de problemas de rendimiento. Implementar la
  7.     administración de configuraciones y paquetes y la auditoría de procesos,
  8.     proporcionará una estructura rica en información para monitorizar mejor el
  9.     rendimiento de los paquetes SSIS que se ejecutan en el entorno. También
  10.     proporcionará planes altamente visibles y normalizados para la solución de
  11.     problemas.

Los estándares nos ofrecerán un importante conjunto de beneficios:

  1. 1. Simplificar la supervisión. El marco de la gestión de SSIS proporciona una
  2.     racionalización acerca de la administración y la supervisión de la ejecución
  3.     de paquetes SSIS.
  4. 2. Fácil acceso a información sobre la solución de problemas. Entre otros datos,
  5.     la estructura proporciona tiempos de ejecución de los paquetes SSIS para
  6.     tendencias de rendimiento y cambios de información de versión a nivel de
  7.     paquete. La estructura también proporciona un enfoque estándar para
  8.     identificar fallos, permitiendo un plan fácil de seguir para localizar la raíz
  9.     del problema o del error.
  10. 3. Mayor productividad en los desarrolladores. La creación de plantillas SSIS con
  11.     procedimientos y normas incorporadas simplifica el proceso de desarrollo.
  12.     Las funciones de auditoría y administración de paquetes se integran en cada
  13.     paquete SSIS mediante la utilización de plantillas prediseñadas. Todas las
  14.     cadenas de conexión necesarias y la  funcionalidad estándar están
  15.     prefabricadas, dejando a la aplicación solamente el paquete de
  16.     construcción. Se garantizan las mejores prácticas para la organización
  17.     mediante la implementación y utilización de un conjunto global de
  18.     estándares, sin tener que depender de cada programador para crear el
  19.     mismo conjunto de normas dentro de sus paquetes. La utilización de
  20.     plantillas, aumenta automáticamente la productividad del desarrollador y
  21.     disminuye la diferenciación en los estilos y enfoques de programación.
  22. 4. Administración de configuración simplificada. El marco elimina la duplicación
  23.     de la información de configuración y proporciona una estructura fácil de
  24.     mover los paquetes de desarrollo para el aseguramiento de la calidad a la
  25.     producción.

Consideraciones

  1. 1. Personalización. Para optimizar el entorno de una organización, es
  2.     importante identificar todos los detalles requeridos por la organización y
  3.     configuración actuales, y determinar cómo puede mejorarse mediante la
  4.     utilización de las características del marco de gestión de SSIS.
  5.     Los temas específicos de la organización incluyen los tipos de sistemas, los
  6.     tipos de usuarios y el tipo de seguridad implementado. Hay muchos pasos
  7.     implicados en la personalización de un marco de gestión organizativo de
  8.     SSIS. La identificación y planificación de estos pasos son cruciales para una
  9.     implementación exitosa.
  10. 2. Implementación del entorno en la organización. El siguiente paso es
  11.     considerar en qué nivel de la organización es aplicable el marco de la gestión
  12.     de SSIS.
    1. a. Aplicación – el marco se puede implementar a nivel de aplicación para
    2.     estandarizar el desarrollo de un proyecto determinado. Sin embargo, no
    3.     es recomendable porque va contra la idea de tener políticas y
    4.     estándares en la organización.
  1. b. Departamento: el marco puede aplicarse a nivel de departamento
  2.     para estandarizar el desarrollo dentro de un departamento. Esto
  3.     puede ser beneficioso para un departamento porque crea las
  4.     políticas y normas del departamento.
  5.     También puede ser útil en entornos donde hay datos confidenciales
  6.     de un departamento respecto a otro, por lo que requiere la
  7.     instalación de diferentes instancias del marco de gestión de SSIS en
  8.     los distintos departamentos.
  9. c. Organización – La aplicación del marco de gestión de SSIS a nivel de
  10.     organización proporcionará la instantánea más concluyente para el
  11.     rendimiento de los paquetes SSIS y proporcionará información
  12.     importante sobre las métricas de rendimiento y la solución de
  13.     problemas.
  14. 3. Implementación de un marco de procesos ETL. Esto puede considerarse como
  15.     un complemento para el marco de la gestión de SSIS. El marco de procesos
  16.     ETL proporciona una mayor capacidad para utilizar los metadatos cuando se
  17.     cargan dimensiones y tablas “fact”, así como en la extracción incremental
  18.     de datos. Se construye con el mismo concepto de la utilización de plantillas.
  19. 4. Incorporación de alertas. Uno de los principales aspectos del marco de
  20.     gestión de SSIS es proporcionar un enfoque proactivo para la administración
  21.     y monitorización de SSIS. Proporciona información que puede señalar
  22.     posibles problemas de rendimiento futuro y proporciona hojas de ruta para
  23.     resolver rápidamente los problemas con paquetes rotos o fallidos. Estas
  24.     alertas pueden ser programadas en el marco para actuar como pre-
  25.     notificaciones de posibles problemas.

Comenzar el proceso

  1. 1. Determinar el propietario de proceso. Es importante determinar  la persona
  2.     que va a ser el propietario del proceso de principio a fin.
  3. 2. Determinar las necesidades.
    1. a. Componentes: ¿qué componentes del marco se necesitarán en la
    2.     organización?
    3. b. Personalización: ¿cómo se personalizarán esos componentes en la 
    4.     organización?
    5. c. Políticas de Organización: ¿Cuáles son las políticas de seguridad dentro
    6.     de la organización? ¿Por ejemplo, el uso de variables de entorno o
    7.     configuraciones de archivos XML es admisible en el entorno de la
    8.     organización?
  4. 3. Diseño de una base de datos común para la administración. Diseñar las bases
  5.     de datos del marco de gestión de SSIS, personalizándolo para la 
  6.     organización.
  7. 4. Desarrollar el paquete de plantillas y los informes de gestión. Desarrolle el
  8.     paquete de plantillas. Incluya en el mismo los objetos adicionales del
  9.     administrador de conexión y otros objetos específicos de la organización,
  10.     tales como las variables. Elabore los informes de gestión que proporcionarán
  11.     información detallada sobre el marco personalizado.
  12. 5. Desarrollar la documentación de uso del marco. En primer lugar, deben de
  13.     crearse las plantillas de documento para los desarrolladores, para
  14.     comprender bien el marco y cómo utilizar las plantillas. A continuación, el
  15.     documento del marco desde el punto de vista del personal que gestiona y
  16.     controla el sistema. Esto incluiría cómo supervisar, cómo analizar, cómo
  17.     solucionar problemas y cómo utilizar todas las herramientas de marco de
  18.     gestión de SSIS.
  19. 6. Desarrollar una estrategia de implantación. Identificar las estrategias de
  20.     implementación desde un punto de vista de organización a nivel
  21.     departamental.
  22. 7. implementación del marco. Comience a utilizar el marco en el entorno de
  23.     desarrollo directo, utilizando las características de la plantilla y las
  24.     herramientas de la versión personalizada.
  25. 8. Crear un Plan de migración para los paquetes existentes. Desarrollar un plan
  26.     para migrar los paquetes existentes. Identificar los paquetes prioritarios para
  27.     migrar y, a continuación, trabajar en una lista de prioridades con los más
  28.     paquetes más importantes a migrar.
  29. 9. Formar a los desarrolladores y a los administradores. Capacitar a los
  30.    desarrolladores y los administradores para utilizar la documentación.

Conclusión

Fácilmente podemos identificar todas las áreas en que debemos centrarnos para asegurarnos de que tenemos un desarrollo coherente de ETL en todos nuestros proyectos de BI. Nos ayudará a acelerar el desarrollo de nuevos paquetes y facilitará las tareas de mantenimiento para proyectos existentes. En los artículos siguientes, mostraremos cómo hemos estandarizado estas áreas.

Sobre el  Autor

 


Rushabh Mehta (twitter) es Director Ejecutivo de Solid Quality India, Microsoft MVP en SQL Server, y es globalmente reconocido como un experto en BI. Posee un MBA en Gestión y Administración de Sistemas de Financieros y una amplia experiencia en gestión de negocios, habiendo ocupado puestos directivos en los pasados 15 años, incluyendo la Vice Presidencia y Operaciones para un grupo de compañías químicas en la India. Rushab es actualmente Presidente de la Asociación Profesional de SQL Server (PASS).

Follow us on: