Categories
54cuatro

Herramientas para modelar Arquitecturas Empresariales

Quienes trabajamos como #EnterpriseArchitect sabemos de la necesidad de documentar lo que vamos creando. Necesitamos herramientas UML para poder bajar a detalle y crear un esquema visual de lo que luego se convertirá en un producto.

¿Qué es #UML?

Esquema de UML

UML es una técnica para la especificación sistemas en todas sus fases, un lenguaje para hacer modelos y es independiente de los métodos de análisis y diseño.

Nació en 1994 cubriendo los aspectos principales de todos los métodos de diseño antecesores y, precisamente, los padres de UML son Grady Booch, autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor de los métodos OOSE y Objectory.

¿Cuales son las herramientas de UML?

Existen algunas herramientas tradicionalmente usadas para este tipo de trabajos. Tradicionalmente el #Visio de #Microsoft es de las más referenciadas.

En la actualidad existen muchas nuevas herramientas, algunas web, algunas open source, que permiten realizar el modelo de Arquitecturas Aplicativas o de IT en general.

El gran auge de la #nube, creó un sinfín de nuevas herramientas de modelado, algunas específicas para cada nube, como el caso de Cloud Craft que permite crear modelos basados en tecnología #AWS, y que además permite conectarse a la calculadora de #Amazon para realizar el presupuesto de lo que está definiendo.

Visual cloud designer
Captura de Cloud Craft

Sin dudas es una herramienta súper potente. Siguiendo dentro de la misma familia, existen algunas como Cloud Skew o Hava que nos permiten realizar el diseño no solo para AWS sino también para #Azure o #GCP.

Modelando en la web

No podemos dejar pasar por alto herramientas de mucha utilidad como LucidChart o Draw.io (ahora renombrada como Diagrams.net), que no solo son de utilidad para Arquitectos, sino para generar todo tipo de gráficos anidados con cierta lógica como Flujos de Procesos u Organigramas, como para mencionar algunos ejemplos.

Nuestra preferida: Archimate

Nuestra preferida es sin dudas #Archimate. Es quizás la herramienta hecha por y para Arquitectos Empresariales o Enterprise Architects, bajo el estándar abierto propuesto por Open Group.

Archi
Captura de Archimate

Archimate es una herramienta #OpenSource, que puede ser usada en #Windows, #Linux y #Mac, y que puede ser descargada desde la web archimatetool.com. Permite a los usuarios de esta tool, crear modelos basados en frameworks de arquitectura como #TOGAF. Dentro de una misma aplicación se pueden crear flujos de negocios, modelos de planificación de tipo Mind Mapping, modelos de interrelación aplicativa, y hasta planificaciones basadas en #Agile.

Sin dudas es la elegida por nuestro equipo, y la que recomendamos para llevar a cabo las tareas de planificación inherentes a un arquitecto.

¿Y tu equipo, qué herramienta utiliza?


[popup_anything id=”2076″]
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 star.

    Categories
    54cuatro

    ETL inverso – La integración como motor del cambio

    Dentro de lo que llamamos Integración, existen distintos conceptos, distintas arquitecturas e incluso distintas herramientas a considerar.

    Elegir una plataforma de integración que permita capturar la data necesaria para ser utilizada es de vital importancia para lograr usabilidad y obtener valor de nuestra información.

    Hemos escrito muchas notas en nuestro blog sobre arquitecturas de integración de datos basadas en eventos (Event Stream). En este caso vamos a analizar como el caso de ETL inverso como flujo de eventos es igualmente importante. En los últimos años, con el crecimiento expansivo de la #analítica, han surgido cientas de herramientas de #Integración de Datos, principalmente impulsadas por el #marketing digital.

    Herramientas como Fivetran, Hightouch o la #OpenSource Grouparoo permiten crear un pipeline muy simple, de forma declarativa, de donde extraer informacion de varias fuentes y transportarla hacia un destino que permita utilizar esa data para análisis.

    Diferencias en los métodos

    Los procesos de ETL tradicionales fueron evolucionando. En la actualidad existen múltiples formas de Extraccion. De las mencionadas anteriormente Hightouch permite sincronizar datos con cualquier herramienta SaaS utilizando SQL, donde la sincronización de la tabla se puede modelar como un flujo de eventos. El modelo seria así:

    El resto utilizan Conectores prearmados, adecuándose a distintos métodos como conexiones a #API o por medio de SDK, como el caso de Fivetran:

    Como se mencionó mas arriba, este tipo de herramientas son impulsada por el marketing digital y suelen tener una fuente determinada de orígenes y destinos, muy relacionados a usar los datos para la mejora de campañas, customer experience, etc.

    La integración en otros segmentos

    Cuando vamos a un ambiente corporativo donde las necesidades de integración conlleva la extracción de datos para ser usados en casos de uso distintos al del marketing, apelamos por lo general a Extraer, Transformar y Cargar la informacion. Sin embargo, este proceso también ha cambiado mucho los últimos años. Hemos cambiado #ETL a ELT, y aunque la diferencia parezca solo una letra, en la practica el cambio es grande. En un proceso #ELT los datos sin procesar se Extraen (E) del sistema de origen y se cargan (L) en un almacén de datos o data lake y para luego ser transformados (T).

    Esta “pequeña” alteración del proceso hace que los equipos de Integración estén adoptando otro enfoque nuevo, llamado “ETL inverso”.

    Que es ETL Inverso

    En lineas generales, ETL inverso (o reverse ETL) es solo otra canalización de datos. El ETL inverso es lo que hacen las herramientas arriba mencionadas y algunas mas, como Headsup, Polytomic y Seekwell. Básicamente consiste en mover datos desde un almacén de datos a sistemas de terceros para hacer que los datos estén operativos, a través de conectores prestablecidos, tanto para la extracción como el procesamiento e inserción en el destino.

    Conclusión

    El enfoque ETL inverso está ayudando a redefinir la plataforma de integración de datos al permitir que los equipos de datos creen pipelines de extremo a extremo eligiendo las herramientas que mejor se adapten a sus casos de uso mediante conectores prestablecidos, creando una plataforma que incluya ETL tradicionales, ELT para estructuras de data lake y event streams para plataformas realtime. Las plataformas de integración deben ser lo suficiente flexibles para lograr una canalización que asegure el transito de datos hacia las fuentes o herramientas mas apropiadas para cumplir con los desafíos de negocios que nos propongan, muchas herramientas provistas por proveedores cloud, otras tantas herramientas open source y muchas otras comerciales nos están permitiendo tener un abanico de posibilidades de gran potencia.


    Queres saber mas?

    [popup_anything id=”2076″]
    Categories
    54cuatro-EN

    It is the time of DataOps. Know the details

    DataOps, is a methodology that emerged from Agile cultures that seeks to cultivate data management practices and processes to improve the speed and accuracy of the analysis, including access, quality, automation, integration and data models.

    DataOps is about aligning the way you manage your data with the goals you have for that data.

    It is not bad to remember part of the Manifiesto DataOps:

    1. People and interactions instead of processes and tools
    2. Efficient analytics solutions instead of comprehensive documentation
    3. Collaboration with the consumer instead of contractual negotiations
    4. Experimentation, interaction and feedback instead of direct extensive design
    5. Multidisciplinary ownership of operations instead of isolated responsibilities.

    We are going to give a clear example of #DataOps applied to the reduction of the customer #turnover rate. You can take advantage of your customers’ data to create a recommendation engine that shows products that are relevant to your customers, which would keep them buying for longer. But that is only possible if your data science team has access to the data they need to build that system and the tools to implement it, and can integrate it with your website, continuously feed new data, monitor performance, etc. For that you need a continuous process that will require you to include information from your engineering, IT and business teams.

    In order to implement solutions that add value, it is necessary to manage healthy data. Better data management leads to better data, and more available. More and better data lead to a better analysis, which translates into better knowledge, business strategies and greater profitability.

    DataOps strives to foster collaboration between data scientists, engineers and IT experts so that each team works synchronized to leverage data in the most appropriate way and in less time.

    DataOps is one of the many methodologies born from #DevOps. The success of DevOps lies in eliminating the silos of traditional IT: one that manages development work and another that performs operational work. In a DevOps configuration, software implementation is fast and continuous because all the equipment is linked to detect and correct problems as they occur.
    dataops

    DataOps is based on this idea, but applying it throughout the data life cycle. Consequently, DevOps concepts such as CI / CD are now being applied to the data science production process. Data science teams are taking advantage of software version control solutions such as GitHub to track code changes and container technology such as Kubernetes and Openshift to create environments for Analysis and deployment of models. This type of data science and DevOps approach is sometimes called “continuous analysis.”

    However. So far the whole theory. But … How do I start implementing DataOps?

    This is where you should start:

    • #Democratize your data. Remove bureaucratic barriers that prevent access to the organization’s data, any company that strives to be at the forefront needs data sets that are available.
    • Take advantage of #opensource platforms and tools. Platforms for data movement, orchestration, integration, performance and more.
    • Part of being agile is not wasting time building things that you don’t have to do or reinvent the wheel when the tools your team already knows are open source. Consider your data needs and select your technology stack accordingly.
    • Automate, automate, automate. This comes directly from the world of DevOps, it is essential that you #automate the steps that unnecessarily require a great manual effort, such as quality control tests and data analysis pipeline monitoring.
    • Enable self-sufficiency with #microservices. For example, giving your data scientists the ability to implement models such as #APIs means that engineers can integrate that code where necessary without #refactoring, resulting in productivity improvements.
    If you want to know more, we recommend entering our Linkedin group, DataOps en Español.
    [popup_anything id=”2095″]