Blog de Amazon Web Services (AWS)

Ejecución de cargas de Microsoft Business Intelligence en la nube de AWS

Por Javier Gálvez, Arquitecto de Soluciones y
Luis Gerardo Baeza, Arquitecto de Soluciones

 

Encontramos casos de uso de clientes que en sus despliegues en entornos locales utilizan las funciones de Business Intelligence (BI) incluidas en Microsoft SQL Server para dar soporte a necesidades de análisis de datos, incluyendo SQL Server Analysis Services (SSAS), SQL Server Reporting Services (SSRS) y/o SQL Server Integration Services (SSIS). Cuando los clientes quieren migrar estas cargas de trabajo a la nube de AWS, a menudo están interesados en utilizar estas funciones en sus bases de datos en la nube para acelerar el proceso de migración a través de una re-plataforma que no implique cambios de arquitectura.

Para utilizar Microsoft SQL Server y sus funciones SSIS, SSAS y SSRS en la nube de AWS, anteriormente era necesario configurar Microsoft SQL Server en instancias de Amazon Elastic Compute Cloud (Amazon EC2). Actualmente, los clientes también tienen la opción de usar Amazon Relational Database Service (Amazon RDS) para SQL Server e implementar varias versiones de SSIS, SSRS y SSAS en cuestión de minutos. Amazon RDS permite centrarse en el desarrollo de la aplicación, ya que se ocupa de las tareas de administración de bases de datos que tanto tiempo consumen, como el aprovisionamiento, las copias de seguridad, los parches de software, el monitoreo y el escalado del hardware.

En este blog hemos recopilado información que le ayudará a ejecutar sus cargas de trabajo de Microsoft Business Intelligence en Amazon RDS. Además, también le mostraremos cómo podría eventualmente aprovechar mayores beneficios en desempeño, escalabilidad y optimización de costos modernizando su arquitectura para utilizar servicios nativos de la nube.

¿Qué es Microsoft Business Intelligence?

Son tres las herramientas que comúnmente se utilizan en conjunto:

  • SQL Server Integration Services es usado para transformar y migrar datos desde varios repositorios como por ejemplo sistemas transaccionales o archivos planos. La extracción, transformación y carga de datos se conocen como ETL que es un término común en Business Intelligence.
  • SQL Server Analysis Services es usado como motor de procesamiento analítico en línea (OLAP) para analizar y comprender la información que puede estar distribuida en varias bases de datos o en diferentes tablas o archivos.
  • SQL Server Reporting Services es usado una vez que los datos se encuentran en su estado final para crear reportes que ayuden a comprender los datos.

 

Figura 1: Arquitectura de cargas Microsoft Business Intelligence on-premises

 

¿Cómo utilizar SSIS, SSAS y SSRS en Amazon RDS?

Algunos motores de base de datos ofrecen características adicionales como lo es SSIS, SSAS y SSRS. Amazon RDS usa grupos de opciones para habilitar y configurar estas características. Al asociar una instancia de base de datos a un grupo de opciones, las opciones especificadas y la configuración de estas se habilitan para dicha instancia de base de datos.

 

Figura 2: Arquitectura de cargas Microsoft Business Intelligence en la nube de AWS

 

Además de la asociación de un grupo de opciones hay otras configuraciones a tomar en cuenta, por lo cual a continuación encontrará una serie de blogs en español donde se describen los pasos para configurar cada una estas funciones en el servicio de Amazon RDS para SQL Server. Cada blog incluye pre-requisitos y una descripción paso a paso:

Versiones y ediciones compatibles

SQL Server Integration Services

Amazon RDS admite SSIS para SQL Server Standard y Enterprise Edition en varias versiones:

  • SQL Server 2016
  • SQL Server 2017
  • SQL Server 2019

 SQL Server Analysis Services

Amazon RDS admite SSAS para SQL Server Standard y Enterprise Edition en varias versiones:

  • SQL Server 2016
  • SQL Server 2017
  • SQL Server 2019

SQL Server Reporting Services

Amazon RDS admite SSRS para SQL Server Standard y Enterprise Edition en varias versiones:

  • SQL Server 2016
  • SQL Server 2017
  • SQL Server 2019

Integración de Amazon RDS para SQL Server con Amazon S3

Una situación común al configurar y utilizar SSIS y SSAS en Amazon RDS, es la de intercambiar archivos con otros sistemas, por ejemplo:

  • Modelos de datos SSAS y paquetes SSIS creados con Visual Studio o SQL Server Data Tools (SSDT).
  • Cargar o exportar archivos con formato CSV en SSIS.

Para esto, en el artículo Integración de Amazon RDS para una instancia de base de datos de SQL Server con Amazon S3 se explica cómo realizar este intercambio de archivos. Estos archivos se pueden cargar a un bucket de Amazon S3 y ser accedidos desde la instancia de base de datos en la ruta D:\S3\

 

Modernización de cargas Microsoft Business Intelligence a servicios nativos de la nube

La migración a la nube es solo el comienzo del viaje para muchos clientes que obtienen beneficios a través de la modernización progresiva de sus aplicaciones, datos e infraestructura. Algunos de esos beneficios incluyen: desbloquear la innovación, reducir los costos, fortalecer la seguridad y mejorar la relación costo / rendimiento.

A continuación, se describen algunas estrategias que usted puede tomar para modernizar sus aplicaciones y obtener estos beneficios:

  • En la capa de aplicación, puede utilizar AWS App2Container para migrar aplicaciones que se ejecutan en máquinas virtuales y ejecutarlas en contenedores administrados por Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), o AWS App Runner, reduciendo la carga operativa e incrementando la agilidad en el desarrollo y despliegue de sus aplicaciones. Consulte el siguiente blog para más detalles: Modernización de aplicaciones ASP.NET usando AWS App2Container.
  • Para optimizar costos de bases datos, consulte el blog Estrategias de reducción de costos para SQL en la nube de AWS
  • Respecto al almacenamiento, Amazon FSx for Windows proporciona un sistema de archivos basado en Windows Server totalmente administrado al que sus aplicaciones pueden acceder a través del protocolo Server Message Block (SMB) estándar. Puede optimizar el costo con múltiples opciones, así como escalar el rendimiento y almacenamiento en cualquier momento. Amazon FSx ofrece funciones como la deduplicación de datos, restauración de archivos del usuario final y la integración de Microsoft Active Directory (AD).
  • Amazon Aurora es una base de datos relacional compatible con MySQL y PostgreSQL creada para la nube que ofrece rendimiento y disponibilidad de bases de datos de nivel comercial a una décima parte del costo. Babelfish es una capa de traducción para Amazon Aurora PostgreSQL que permite a Amazon Aurora comprender los comandos de sus aplicaciones escritas para Microsoft SQL Server, ayudando a las organizaciones a contar con opciones de uso de bases de datos como PostgreSQL aprovechando los modelos de datos que han construido por años. Por favor tome en cuenta que a la fecha de publicación de este blog, Babelfish se encuentra en estado de “preview”.
  • Para migrar de forma segura sus bases de datos desde SQL Server hacia Amazon Aurora, puede utilizar AWS Schema Conversion Tool (SCT), que convierte automáticamente el esquema de la base de datos y la mayoría de los objetos de código incluidas las vistas, procedimientos almacenados y las funciones, entregándole además un reporte detallado de aquellos objetos que no podrían ser migrados automáticamente para su migración manual; así como también AWS Database Migration Service que admite migraciones heterogéneas y permite mantener la base de datos de origen totalmente operativa durante la migración.
  • AWS Glue es un servicio de integración de datos sin servidor que facilitan descubrir, preparar y combinar datos para análisis, aprendizaje automático y desarrollo de aplicaciones. AWS Glue proporciona todas las capacidades que se necesitan para la integración de datos, incluyendo enriquecer, limpiar, normalizar y combinar. Además, los ingenieros de datos y los desarrolladores de ETL pueden utilizar AWS Glue Studio para crear, ejecutar y supervisar visualmente flujos de trabajo sin utilizar código. Para acelerar la migración de sus flujos ETL existentes, puede utilizar AWS SCT para convertir proyectos de Microsoft Visual Studio SSIS Designer a código Python de AWS Glue. Para más información consulte en esta documentación: Conversión de SSIS a AWS Glue.
  • Amazon Redshift le permite consultar y combinar exabytes de datos estructurados y semiestructurados en el data warehouse, bases de datos operativas, y lago de datos utilizando lenguaje SQL estándar de forma simple con un desempeño de precio hasta 3 veces mejor que otros data warehouses empresariales en la nube. Además, puede utilizar Amazon QuickSight, un servicio de inteligencia empresarial sin servidor, para crear y publicar informes y paneles interactivos que pueden ser accedidos desde cualquier dispositivo. Amazon QuickSight admite la integración de forma sencilla en sus aplicaciones.

 

Figura 3: Arquitectura de cargas Microsoft Business Intelligence usando servicios nativos de la nube

Conclusiones

En este blog usted conoció cómo con el soporte de SQL Server SSIS, SSAS y SSRS en Amazon RDS para SQL Server, el rango de uso de este servicio se ha ampliado aún más. Además, también conoció algunas opciones de modernización que le permitirán aprovechar más beneficios de la nube, por ejemplo:

  • Escalabilidad y elasticidad usando servicios sin servidor como Amazon FSx for Windows para el sistema de archivos, AWS Glue para los trabajos de ETL y Amazon QuickSight para el análisis y exploración de los datos.
  • Eficiencia operativa migrando sus aplicaciones a servicios administrados de contenedores con AWS App2Container.
  • Ahorro de costos y mejora en el desempeño usando Amazon Aurora con Babelfish para el almacenamiento de sus datos y Amazon Redshift para la consulta y análisis.

Esperamos que los recursos compartidos en este blog le ayuden a explorar los casos de uso más relevantes para usted.

 

Referencias adicionales:

¿Están listos para probarlo?

En el siguiente link de nuestra librería de soluciones, van a encontrar una guía paso a paso donde se explica como habilitar estas funciones en Amazon RDS para SQL Server de una manera muy rápida:

https://aws.amazon.com/getting-started/hands-on/enable-business-intelligence-features-amazon-rds-sql-server/

 

 


Sobre los autores

Javier Gálvez trabaja actualmente como Arquitecto de Soluciones y ha trabajado en tecnología de la información durante más de 22 años, comenzando como administrador de sistemas especializado en tecnologías de Microsoft para grandes instituciones financieras siendo especialista en plataformas de correo e intranets corporativa para luego más tarde en su carrera pasar a tecnologías de virtualización y soluciones de código abierto como Kubernetes.
En la actualidad, se centra principalmente en el diseño y la entrega de nuevas soluciones hibridas sobre la nube AWS, así como en el desarrollo de actividades técnicas con demostraciones y sesiones interactivas para nuestros clientes.

 

 

Luis Gerardo Baeza es Arquitecto de Soluciones en Amazon Web Services (AWS) y tiene 10 años de experiencia en transformación de procesos, arquitectura empresarial, adopción de metodologías ágiles e integración de tecnología cloud. Luis ha ayudado a empresas del sector salud, financiero y educativo en México y Chile.