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.