Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La arquitectura Lambda logra reducir la latencia al indexar datos recientes en la capa de velocidad. Esto hace posible que los datos
críticos se entreguen a tiempo cuando sea necesario. Es altamente escalable porque no dicta las tecnologías y herramientas que se
puede utilizar.
Lo bueno de esta arquitectura es que si la capa por lotes falla, la capa de velocidad procesará los datos recientes mientras vuelve a
ejecutarse la capa por lotes.
El principal problema de la arquitectura Lambda es que requiere dos fuentes de código, uno para la batch layer y otro para la stream
layer. Esto solo agrega más complejidad al diseño e implementación de la aplicación. Además, las bases de código complejas son
difíciles de mantener y depurar.
A continuación podemos ver una lista de herramientas que pueden usarse en las diferentes fases de una arquitectura Lambda:
La capa por lotes consiste en el repositorio Amazon S3 para almacenar todos los datos (p. ej., flujo de clics, sensores, registros de dispositivos,
etc.) que se envían desde una o más fuentes de datos. Los datos sin procesar en S3 se pueden extraer y transformar en una vista por lotes
para análisis utilizando AWS Glue, un servicio ETL completamente administrado en la plataforma de AWS. El análisis de datos es realizado
utilizando servicios como Amazon Athena, un servicio de consulta interactivo, o un marco de Hadoop administrado utilizando Amazon EMR.
Con Amazon QuickSight, los clientes también pueden realizar
visualización y análisis de una sola vez.
La capa de velocidad se puede construir usando las siguientes tres opciones disponibles a través del servicio Amazon Kinesis:
• Kinesis Data Streams y Kinesis Client Library (KCL): los datos del origen se pueden capturar y transmitir continuamente casi en tiempo rea
con Kinesis Data Streams.
• Kinesis Data Firehose: a medida que los datos se incorporan en tiempo real, los clientes pueden usar Kinesis Data Firehose para agrupar y
comprimir fácilmente los datos para generar vistas incrementales. Kinesis Data Firehose también permite que el cliente ejecute su
transformación personalizada usando AWS Lambda antes de entregar la vista incremental a Amazon S3.
• Kinesis Data Analytics: este servicio proporciona la forma más sencilla de procesar los datos que se están transmitiendo a través de Kinesis
Data Stream o Kinesis Data Firehose mediante SQL. Este permite a los clientes obtener información procesable casi en tiempo real a partir de
la información incremental transmitida antes de almacenarla en Amazon S3.
AWS & LAMBDA
Finalmente, la capa de servicio se puede implementar con Spark SQL en Amazon EMR para procesar los datos en el depósito de Amazon S3
desde la capa por lotes y Spark Streaming en un Amazon EMR clúster, que consume datos directamente de los flujos de Amazon Kinesis para
crear una vista del conjunto de datos completa que se puede agregar, fusionar o unir. El conjunto de datos fusionados se puede mandar
a Amazon S3 para una mayor visualización.
AZURE & LAMBDA
Hay muchas opciones para aumentar, sustituir y ampliar esta arquitectura. El objetivo aquí es brindar una referencia de lo que
probablemente necesitaríamos en nuestro ecosistema para admitir lambda si optamos por los servicios nativos de Azure.
AZURE & LAMBDA
A continuación, se muestra una implementación con preferencia a los servicios de HDInsight: