Categories
54cuatro

Reseña de Azure Data Factory

Cómo conectar Azure Data Factory con un servidor SFTP, guardando las  credenciales en Azure Key Vault? | IfgeekthenEveris

Somos partners gold de Microsoft y quizás podría parecer que esta entrada es tendenciosa, pero la realidad es que siendo imparciales, #Azure Data Factory es una herramienta increíble, quizás, de lo mejor que hay un Azure junto con #DataBricks y #Synapse para la parte de datos.

¿Que es Data Factory?

Comencemos mencionando que es una herramienta totalmente administrada, basada en proveer servicios de integración de datos y #ETL que permite orquestar el transito de datos y las transformaciones.

Como característica adicional podemos mencionar que se adapta al pequeño cambio de #ETL a #ELT para modelos de #datalakes. Recordemos que ETL significa Extraer, Transformar y Cargar, mientras que ELT significa Extraer, Cargar y Transformar. En ETL, los datos fluyen desde la fuente de datos hasta la preparación y el destino de los datos. ELT permite que el destino de los datos realice la transformación, eliminando la necesidad de almacenar los datos. En esta nota hay mas informacion al respecto.

Por otro lado, y super importante de remarcar. ADF es la herramienta que “absorbe” los paquetes de SSIS cuando se lleva una base #MSSQL de on-premise a la nube.

Veamos a detalle. ¿Que puede hacer #ADF por nosotros?

Inteligencia empresarial automatizada - Azure Architecture Center |  Microsoft Docs

Estas son algunas características necesarias para correr ADF:

Pipelines:  un pipeline es una agrupación de actividades que es realizada como un proceso integrado. En un solo pipeline se pueden ejecutar todas las acciones referidas a la manipulación de datos necesaria por un proceso.

Activities: son justamente las actividades que se corren como parte de un pipeline. Son una acción explicita, como copiar datos a una tabla de almacenamiento o transformar datos.

Dataset: los conjuntos de datos son estructuras de datos dentro de los almacenes de datos, que apuntan a los datos que las actividades necesitan utilizar como entradas o salidas.

Triggers: estos triggers o en español desencadenantes son una forma de correr una ejecución de pipeline. Los desencadenadores determinan cuándo debe comenzar la ejecución de un pipeline, de acuerdo a 3 tipos de activadores:

  • Programado : este activador invoca una canalización a una hora programada.
  • Tumbling windows trigger : este desencadenador opera en un intervalo periódico.
  • Basado en evento: un activador que invoca una ejecución de pipeline cuando hay un determinado evento.

Tiempo de ejecución de integración: El tiempo de ejecución de integración (IR) es la infraestructura informática que se utiliza para proporcionar capacidades de integración de datos como flujo de datos, movimiento de datos, envío de actividades y ejecución de paquetes SSIS. Hay tres tipos de tiempos de ejecución de integración disponibles, que son:

  • Azure, para Flujo de datos, movimiento de datos, envío de actividades
  • Self hosted, para Movimiento de datos, envío de actividades
  • SSIS, para la ejecución de paquetes #SSIS (integration services de SQL)

¿Que alternativas existen a Data Factory?

Si vamos a un esquema cloud, AWS Glue y Data Pipelines, son productos de Amazon para competir con ADF. En el aspecto #OpenSource, Apache #Kafka junto a #NiFi podrían ser un competir muy digno.

Respecto a la parte de transformación, quizás pierde un poco respecto a sus competidores, por ejemplo contra #Pentaho.

La gran ventaja de los productos 100% cloud se da por la rápida integración hacia otros productos. Por ejemplo, en el caso de una plataforma de #IoT, ADF en pocos clics se integra a Azure Event Hub. O poder trabajar integrado a Azure DevOps para poder trabajar el desarrollo de las integraciones como si fuera un software normal.

Device To Cloud Connectivity with Azure IoT Hub | by Prosenjit Chakraborty  | Medium

Conclusión

Este es una simple entrada para mencionar y que conozcan Azure Data Factory. Es realmente muy poderosa y su capacidad para integrarse a otras herramientas la transforma en lo que solemos llamar ‘una navaja suiza’, donde podemos tomar la informacion, procesarla, limpiarla, darle formato y enviarla a un almacenamiento destino para su uso final, ya sean tableros de BI o modelos de Machine Learning, todo como un proceso end to end.


    Please prove you are human by selecting the plane.

    Categories
    54cuatro

    Tutorial de Microsoft Azure

    Este tutorial está destinado a que los principiantes aprendan todo acerca de #Azure. A través de este tutorial de Azure, comprenderás la arquitectura, varios productos de la suite Azure y conocer ventajas, migración de las instalaciones a la nube, administración y más.

    Digamos que estás desarrollando una aplicación como Uber. Ya tiene esta aplicación lista en su computadora y el siguiente paso es hacer que esté disponible en Internet para que las personas puedan navegar e ir a este sitio web. ¿Cómo lo harías?

    • Primero. Tendrá que comprar un servidor, en el que cargará su aplicación, con todos los roles que se requieran (Webserver, Application Server, Database, etc) y/o comprar tantos servidores como roles requiera.
    • Segundo. Ademas debería disponibilizar entornos de desarrollo mas seguros y similares a producción que su notebook.
    • A continuación, deberá asegurarse de que su aplicación esté siempre disponible, contratando personas para administrar su servidor en que esta aplicación está alojada.
    • Y, por supuesto, las máquinas están destinadas a averiarse o quedar obsoletas; por lo tanto, deberá controlar el hardware del servidor, ya sea que esté actualizado o no, y esté listo para gastar algo de dinero si algo sale mal.
    • Finalmente, el aspecto más importante, a medida que su aplicación crezca en popularidad entre sus usuarios, sus servidores sobrecargarse con todo el tráfico. Tendrá que pensar en ampliar, manteniendo un control constante sobre el tráfico en su aplicación.

    Parece factible? Bueno, lo anterior no solo requerirá mucho esfuerzo, ¡sino que también será extremadamente costoso!

    Ahora, ¿te preguntas cómo resolverlo? Bueno, la respuesta es Cloud Computing.

    ¿Que es cloud computing?

    Es básicamente el uso de servidores alquilados en Internet, en lugar de usar uno propio, se conoce como Cloud Computing.

    Cloud Computing ha llevado a casi todas las nuevas empresas a cambiar a la nube; por lo tanto, no solo están ahorrando el costo inicial de iniciar un negocio con la infraestructura de TI correcta pero su aplicación ahora está siendo manejada por varios proveedores de la nube como Amazon, Microsoft, Google, etc.

    El proveedor de la nube le cobrará en función de la cantidad de horas que utilizó sus servidores, puede configurar la redundancia en sus servidores lo que garantiza una alta disponibilidad de su aplicación, cualquier actualización de hardware o falla será manejada por su proveedor de nube evitando costos de mantenimiento significativos, y ademas puede configurar el autoescalado en su flota de servidores, es decir, siempre que haya un aumento en el tráfico de su aplicación, su proveedor de la nube escalará automáticamente sus servidores.

    Existen 3 grandes jugadores en el mercado de nubes. #Amazon, #Microsoft y #Google. Amazon es el pionero y líder en market share con sus servicios #AWS. Microsoft tiene la mayor rentabilidad de servicios en nube por medio de #Azure. Y Google lidera el cuadrante de herramientas para trabajar con datos, ML y IA. En este tutorial vamos a trabajar con Azure.

    ¿Porque Azure?

    Nuestra compañía tiene una orientación clara al uso de los datos para crear informacion que permita optimizar las decisiones de una empresa, mejorar los modelos operativos y redefinir las industrias, y en ese sentido, encontramos nuestra esencia muy acorde a las ideas de Satya Nadella, CEO de Microsoft y quien reconvirtió la compañía a este nuevo modelo. Azure nos asegura una gran cartera de servicios de Datos, tanto bases relacionales, NoSQL, Hadoop, como herramientas de Datalake, Machine Learning, IA e IoT.

    La tecnología puede permitir que millones de personas participen en la sociedad de forma plena.

    Satya Nadella.

    ¿Que es Azure?

    Azure es una plataforma abierta y flexible que provee todos los servicios para la construcción rápida, despliegue y administración de soluciones basadas en la nube. Ofrece una amplia gama de servicios basados en uso, a través de aplicaciones, cómputo, almacenamiento y redes. Le permite construir aplicaciones usando cualquier lenguaje, herramienta o marco en un portal completamente automatizado de auto-servicio que habilita el aprovisionamiento de recursos escalables en minutos.

    Microsoft define a Azure como “una creciente colección de servicios integrados en la nube, que los desarrolladores y los profesionales de TI utilizan para crear, implementar y administrar aplicaciones a través de nuestra red global de centros de datos”.

    Azure tiene más de 20 categorías de servicios para ofrecer, hemos dividido los servicios de Azure en los siguientes dominios:

    • Cómputos
    • Almacenamiento
    • Base de datos
    • Seguridad
    • Administración
    • Varios

    Cómputos: Son aquellos servicios referidos al despliegue de equipamiento para procesamiento, como las Virtual Machines que son equipos que llevan un sistema operativo Linux o Windows, y que permite trabajar con las mismas libertades que en un servidor físico. Dentro del servicio de Cómputos, se encuentran servicios de ejecución de tareas Batch y el Autoscaling.

    Almacenamiento: Son aquellos servicios que permiten almacenar informacion, crear discos de VM, compartir filesystems, etc. Azure ofrece maquinas virtuales con distintos grados de performance para que su rendimiento sea mejor según los discos elegidos, como así también, discos mas performantes equivalen a precios mas elevados. Así también se debe considerar distintos tipos de storages para el almacenamiento de informacion de bases de datos, discos compartidos, etc.

    Bases de Datos: Dentro de este titulo, vamos a englobar no solo bases de datos tradicionales como #MSSQL, #MySQL y #Postgresql, sino aquellas bases de tipo Key-Value, Documentales, de grafos, y columnares como CosmosDB, bases de cache como Redis, y los servicios de migración.

    Seguridad: En la gama de servicios de seguridad, Azure posee una gran fortaleza propia del gran desarrollo de los servicios de Active Directory, que dentro del mundo cloud habilita servicios como controles de acceso de Roles, autenticacion multifactor, Single sign on, y servicios de encriptación. Por supuesto dentro de la suite de seguridad existen opciones de Firewall, WAF, protección DDoS/Threat y provisión de certificados.

    Administración: Un factor muy importante de los servicios de nube, es poder gestionar distintos factores administrativos de forma simple y por medio de roles. Para ello en Azure existen distintos servicios como Portal, la consola donde se desplegan los servicios y aplicaciones; Billing API, una herramienta que permite controlar los gastos efectuados sobre la plataforma; Cost Management, que permite optimizar los costos y maximizar los beneficios de usar Azure; Resource Health, una excelente herramienta para monitorear el estado de los servicios contratados. Ademas Azure posee una calculadora muy simple e intuitiva para calcular los costos de nuevos servicios que quieran ser montados, que evitan sorpresas futuras.

    Varios: Para finalizar, y que la entrada no se extienda demasiado, mencionar que solo vimos características principales porque este tutorial esta pensado para alguien sin experiencia en la plataforma; pero existe toda una gama de productos preconfigurados a través de un Marketplace, servicios de BigData y MachineLearning, integraciones DevOps, plataformas para el despliegue de aplicaciones Mobile y IoT. En entradas posteriores interiorizaremos mas sobre aplicaciones de Datos, DevOps, Containers y Serverless, mientras tanto pueden revisar las entradas de nuestro blog.

    Empresas de todo el mundo están usando Azure para impulsar su infraestructura, ejecutan un servidor web / de aplicaciones para alojar sus sitios web, aplicaciones, mantener sus archivos de forma segura en la nube, usar una base de datos administrada o implementar archivos a escala global utilizando Content Delivery Network (CDN).

    ¿Por donde empezar?

    Para una persona que quiere iniciarse en Azure, puede comenzar creando una cuenta en https://azure.microsoft.com/es-mx/free/ y familiarizando con la interfaz, ademas de analizar rutas de educación como https://docs.microsoft.com/en-us/learn/paths/azure-fundamentals/.

    Ademas viendo la calculadora de costos de los servicios https://azure.microsoft.com/es-es/pricing/calculator aprender del Pago por Uso, del ahorro por reservas de instancias, pagar menos usando mas, comparativas de como ahorrar en servicios de bases de datos respecto a AWS, etc.


    [popup_anything id=”2076″]