Proyecto Rental Cars

Una empresa de vehiculo blindados desea implementar una arquitectura para su negocio. El objetivo principal de ellos es tener una parte de Base de Datos transaccional, un almacenamiento analitico, orquestacion de datos, plataforma de analisis y gestion de secretos.

Se define la arquitectura como si se tratase de una base de datos transaccional, con su fuente de datos el cual proviene de una API, ademas de esto tambien se desea implementar una parte de almacenamiento y plataforma para analisis, por lo que tambien implementaremos servicios de Data Warehouse.

La empresa ademas desea conocer la rentabilidad, mantenimiento y patrones de uso. Para ello, tendremos que saber el estado de los vehiculos para saber su mantenimiento y poder sacar provecho de la informacion para verificar el estado de los mismos vehiculos, por lo que otra fuente de datos sera mediante dispositivos de IoT para dar monitoreo a los vehiculos. Ademas tambien un monitoreo a la API para conocer su estado.

Arquitectura de la Solucion

Se implemento la parte de las WebApps para poder contener la interfaz de usuario y la API de la aplicacion que sera usada por el empleado del negocio. Ademas de un App Insights que sirve para monitorear la API

Tambien para la base de datos transaccional, se selecciono SQL Database de Azure, al ser esta basada en SQL Server y ser una base de datos relacional.

Para el almacenamiento analitico se selecciono Azure Data Lake, este nos ayudara a contener la informacion transformada de la base de datos relacional a una forma facil de seleccionar por la plataforma de analisis, ademas de que contendra directamente los datos de los dispositivos IoT de los vehiculos al ser estos datos no estructurados. El Data Lake ayuda a que las consultas para analisis no sean sobre la base de datos transaccional, que sirve como servicio principal del negocio, debido a que estas consultas pueden ser muy pesadas y podria resultar en una ineficiencia de la OLTP.

Para la orquestacion de datos se eligio a Azure Data Factory, este recurso se puede conectar facilmente a SQL Database y al Data Lake, en este recurso se pueden crear pipelines que seran los que seleccionaran los datos de la OLTP y los transformara para poder almacenarlos en el Data Lake

La plataforma de analisis sera el Azure Synapse Analytics, esta plataforma incluye todo lo necesario para una plataforma de analisis. Ademas de tener caracteristicas de un DataWarehouse, tambien cuenta con soporte para Spark Pools y Notebooks, que ayudan a realizar analisis que pueden llegar a ser muy complejos o muy pesados hablando de coste computacional.

Para la gestion de secretos se selecciono a Azure Key Vault, este recurso puede guardar passwords de forma segura para ser utilizados por otros recursos o incluso para ser utilizados en los notebooks en dado caso que se necesite solicitar una credencial.