SlideShare una empresa de Scribd logo
1 de 46
Microsoft Azure nos provee de diferentes
servicios de caché distribuida
Cachés en Azure
FERNANDO ESCOLAR
fernandoescolar
Development & Cloud Lead consultant
fernando.escolar@tokiota.com
Agenda
Caché
¿Qué es?
Memory vs. no-memory
Tipos de datos
A fondo
¿Cómo usar la cache?
Patrón: cache-aside
¿Por qué usar cachés?
Caché moderna
Cachés distribuidas
Cachés en Microsoft Azure
Redis
Resumen
Pruebas
Conclusiones
Caché
¿Qué es?
Tipos de datos
A fondo
¿Cómo?
Patrones de diseño
¿Por qué?
Caché
moderna
Microsoft Azure
Redis
Resumen
Pruebas
Conclusiones
¿Qué es una caché?
Caché L1
Caché L2
Caché L3
Cache memory vs. no-memory
Demo: output caché
Cache memory vs. no-memory
Demo: HttpRuntime.Cache
Tipos de datos
Datos de referencia
Datos de actividad
Datos de recursos
En resumen:
 Datos de referencia
 Datos de actividad
 Datos de recursos
¿Cómo usar la caché?
cache-aside pattern
1. Determinar si un objeto ya está
almacenado en la memoria caché.
2. Si no está almacenado en la memoria
caché leerlo del almacén de datos
3. Guardar el objeto que hemos cargado
en la memoria caché
?. Devolver el objeto almacenado en la
caché
Demo: cache-aside
Consideraciones a la hora de usar cachés
• Tiempo de vida de objetos en caché limitado
• Desalojo de datos
• Preparación inicial de caché
• Consistencia de la información
• Cachés locales
¿Por qué usar caché?
Porque reducimos la latencia
Latencia baja → respuesta rápida
Respuesta rápida → más velocidad
Más velocidad → cliente contento
Cliente contento…
Alternativas:
 Más hierro
 Performance de procesos
 Usando agregados
 Variables de sesión
 Caché output
Pero:
 Escalar es caro
 Los procesos tienen límites
 Los agregados no son la panacea
 La sesión no es compartida
 El output lo gestiona el cliente
Caché moderna
Caché distribuida:
Nuevos retos:
 Nuevo hierro
 Gestión
 Integración
 Escalabilidad
 Plan de contingencia
 …
Servicios de caché en la nube
Caché en azure
 AppFabric Cache
 Cache In-Role
 Azure Cache Services
 Virtual Machine
 Redis
Demo: Microsoft Cache
Demo: Cache InRole
Demo: InRole Gateway
Demo: Cache Services
Redis
Redis:
Es una base de datos NO-SQL que almacena información del tipo Clave/Valor.
Características de redis
• Maneja cadenas de texto (o byte arrays)
• 5 tipos de datos:
• Keys
• Hashes
• Lists
• Sets
• Sorted Sets
• Pub/Sub
• Operaciones con datos
• Scripts en LUA
• En memoria, pero persiste en forma de snapshots
Demo: Redis
Casos de uso de redis
• Listados de últimos xxx: LPUSH y LTRIM
• Tablas de top o de rankings: ZADD, ZREVRANGE y ZREVRANGEBYSCORE
• Cálculos de tipo “karma”: ZADD, ZRANK, ZINCRBY
• Contadores usuarios activos: INCR y EXPIRE
• Publicación y suscripción: mediator
• QUEUE’s (colas): BLPOP y LPUSH
• Textos auto-completables: ZADD, ZRANK y ZRANGE
• Almacenar información que caduca: EXPIRE
• …
https://www.desarrollaconmicrosoft.com/dotnetspain2015
Pruebas
Conclusiones </>
Bibliografía
• http://www.wikipedia.org
• http://www.stackoverflow.com
• http://www.msdn.com
• https://msdn.microsoft.com/en-us/library/dn568099.aspx
• Microsoft Azure Documentation
• http://redis.io/
• http://oldblog.antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html
• http://www.memcached.org
• https://github.com/enyim/EnyimMemcached
• https://github.com/ServiceStack
• https://github.com/StackExchange
• https://github.com/fernandoescolar/Tokiota.Redis
Muchas gracias!!!
Fernando Escolar
fernando.escolar@tokiota.com
@fernandoescolar

Más contenido relacionado

La actualidad más candente

Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQLIsabel Gómez
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargasMichaelAngel1000
 
Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014Enrique Catala Bañuls
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosAnthony Sotolongo
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresqlAnthony Sotolongo
 
Data wrangling en R para programadores SQL
Data wrangling en R para programadores SQLData wrangling en R para programadores SQL
Data wrangling en R para programadores SQLSoftware Guru
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentesomenar
 
Primeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid MeetupPrimeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid Meetupdhiguero
 
Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Shon AE
 
Sql Saturday Guatemala 2018 - Azure SQL Data Warehouse
Sql Saturday Guatemala 2018 - Azure SQL Data WarehouseSql Saturday Guatemala 2018 - Azure SQL Data Warehouse
Sql Saturday Guatemala 2018 - Azure SQL Data WarehouseJOSE AHIAS LOPEZ PORTILLO
 
MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010Rafael Hernamperez
 
Introducción a Redis y Azure Redis Cache en Net Core 2.2
Introducción a Redis y Azure Redis Cache en Net Core 2.2Introducción a Redis y Azure Redis Cache en Net Core 2.2
Introducción a Redis y Azure Redis Cache en Net Core 2.2Jorge Jeffrey Vargas Ipince
 
Hibernate framework
Hibernate frameworkHibernate framework
Hibernate frameworkCesar Suarez
 
Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015Ruben Gómez García
 

La actualidad más candente (19)

Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
 
Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentos
 
Presentación4
Presentación4Presentación4
Presentación4
 
MongoDB
MongoDBMongoDB
MongoDB
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresql
 
Data wrangling en R para programadores SQL
Data wrangling en R para programadores SQLData wrangling en R para programadores SQL
Data wrangling en R para programadores SQL
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 
Primeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid MeetupPrimeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid Meetup
 
Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)
 
Xquery_UNSAAC
Xquery_UNSAACXquery_UNSAAC
Xquery_UNSAAC
 
Sql Saturday Guatemala 2018 - Azure SQL Data Warehouse
Sql Saturday Guatemala 2018 - Azure SQL Data WarehouseSql Saturday Guatemala 2018 - Azure SQL Data Warehouse
Sql Saturday Guatemala 2018 - Azure SQL Data Warehouse
 
MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010
 
Introducción a Redis y Azure Redis Cache en Net Core 2.2
Introducción a Redis y Azure Redis Cache en Net Core 2.2Introducción a Redis y Azure Redis Cache en Net Core 2.2
Introducción a Redis y Azure Redis Cache en Net Core 2.2
 
Hibernate framework
Hibernate frameworkHibernate framework
Hibernate framework
 
Paralelismo en SQL Server
Paralelismo en SQL ServerParalelismo en SQL Server
Paralelismo en SQL Server
 
Gestión de data y Storage en Azure
Gestión de data y Storage en AzureGestión de data y Storage en Azure
Gestión de data y Storage en Azure
 
Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015
 

Destacado

Blue Hill Presentation
Blue Hill PresentationBlue Hill Presentation
Blue Hill PresentationGreenPace2010
 
¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009
¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009
¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009Susana Heredia
 
Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...
Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...
Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...RAFAEL ALGUACIL ROLDAN
 
Proyectonacionalsimnbolvar
ProyectonacionalsimnbolvarProyectonacionalsimnbolvar
Proyectonacionalsimnbolvarorsonrene
 
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRSDescripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRSAlex Pin
 
LIRS Compliance Requirements for MSMEs
LIRS Compliance Requirements for MSMEsLIRS Compliance Requirements for MSMEs
LIRS Compliance Requirements for MSMEsFATE Foundation
 
Airpull filter Co.,Ltd --company introduction--factory
Airpull filter Co.,Ltd --company introduction--factoryAirpull filter Co.,Ltd --company introduction--factory
Airpull filter Co.,Ltd --company introduction--factoryShiny Liang
 
La devaluación del trabajo femenino
La devaluación del trabajo femeninoLa devaluación del trabajo femenino
La devaluación del trabajo femeninoCarolinaCerz
 
Convocatoria de provisiã“n de vacantes infocam 2014 bueno
Convocatoria de provisiã“n de vacantes infocam 2014 buenoConvocatoria de provisiã“n de vacantes infocam 2014 bueno
Convocatoria de provisiã“n de vacantes infocam 2014 buenosindicatosatif
 
Dred Scott
Dred Scott Dred Scott
Dred Scott jmsymes
 
Taller Multimedia en el Aula Virtual
Taller Multimedia en el Aula VirtualTaller Multimedia en el Aula Virtual
Taller Multimedia en el Aula VirtualAxel Mérida
 
Principios de los indicadores de gestion
Principios de los indicadores de gestionPrincipios de los indicadores de gestion
Principios de los indicadores de gestionBid Friend
 
Biology in Focus - Chapter 9
Biology in Focus - Chapter 9Biology in Focus - Chapter 9
Biology in Focus - Chapter 9mpattani
 
Open Innovation y modelos de negocio.
Open Innovation y modelos de negocio.Open Innovation y modelos de negocio.
Open Innovation y modelos de negocio.Eduardo Remolins
 
04 - Resume_Yoann_Secret_v.082016
04 - Resume_Yoann_Secret_v.08201604 - Resume_Yoann_Secret_v.082016
04 - Resume_Yoann_Secret_v.082016Yoann SECRET
 
Informe sobre la evolución de precios de importación de indonesia a españa
Informe sobre la evolución de precios de importación de indonesia a españaInforme sobre la evolución de precios de importación de indonesia a españa
Informe sobre la evolución de precios de importación de indonesia a españaiContainers
 

Destacado (20)

NACHA PAYMENTS 2014 Conference Brochure
NACHA PAYMENTS 2014 Conference BrochureNACHA PAYMENTS 2014 Conference Brochure
NACHA PAYMENTS 2014 Conference Brochure
 
Blue Hill Presentation
Blue Hill PresentationBlue Hill Presentation
Blue Hill Presentation
 
VICKY.2016 APRIL (1)
VICKY.2016 APRIL (1)VICKY.2016 APRIL (1)
VICKY.2016 APRIL (1)
 
¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009
¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009
¿Y para qué quiero yo eso del social media? Fdo. Sr. Cliente - 2009
 
Contactos (autoguardado)
Contactos (autoguardado)Contactos (autoguardado)
Contactos (autoguardado)
 
Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...
Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...
Unespa previsionsocial evolucion_productos_vida_notainformativa_primersemestr...
 
Proyectonacionalsimnbolvar
ProyectonacionalsimnbolvarProyectonacionalsimnbolvar
Proyectonacionalsimnbolvar
 
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRSDescripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
Descripcion del S.O. Symbian para el desarrollo de aplicaciones en la red GPRS
 
LIRS Compliance Requirements for MSMEs
LIRS Compliance Requirements for MSMEsLIRS Compliance Requirements for MSMEs
LIRS Compliance Requirements for MSMEs
 
Airpull filter Co.,Ltd --company introduction--factory
Airpull filter Co.,Ltd --company introduction--factoryAirpull filter Co.,Ltd --company introduction--factory
Airpull filter Co.,Ltd --company introduction--factory
 
La devaluación del trabajo femenino
La devaluación del trabajo femeninoLa devaluación del trabajo femenino
La devaluación del trabajo femenino
 
Convocatoria de provisiã“n de vacantes infocam 2014 bueno
Convocatoria de provisiã“n de vacantes infocam 2014 buenoConvocatoria de provisiã“n de vacantes infocam 2014 bueno
Convocatoria de provisiã“n de vacantes infocam 2014 bueno
 
Dred Scott
Dred Scott Dred Scott
Dred Scott
 
Taller Multimedia en el Aula Virtual
Taller Multimedia en el Aula VirtualTaller Multimedia en el Aula Virtual
Taller Multimedia en el Aula Virtual
 
Principios de los indicadores de gestion
Principios de los indicadores de gestionPrincipios de los indicadores de gestion
Principios de los indicadores de gestion
 
Biology in Focus - Chapter 9
Biology in Focus - Chapter 9Biology in Focus - Chapter 9
Biology in Focus - Chapter 9
 
Open Innovation y modelos de negocio.
Open Innovation y modelos de negocio.Open Innovation y modelos de negocio.
Open Innovation y modelos de negocio.
 
04 - Resume_Yoann_Secret_v.082016
04 - Resume_Yoann_Secret_v.08201604 - Resume_Yoann_Secret_v.082016
04 - Resume_Yoann_Secret_v.082016
 
Informe sobre la evolución de precios de importación de indonesia a españa
Informe sobre la evolución de precios de importación de indonesia a españaInforme sobre la evolución de precios de importación de indonesia a españa
Informe sobre la evolución de precios de importación de indonesia a españa
 
Un paseo por el factor de la productividad
Un paseo por el factor de la productividadUn paseo por el factor de la productividad
Un paseo por el factor de la productividad
 

Similar a Foro de Arquitectos: caché en azure a fondo

Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)
Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)
Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)Igalia
 
Aplicaciones escalables en Azure
Aplicaciones escalables en AzureAplicaciones escalables en Azure
Aplicaciones escalables en AzureGermán Küber
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nubeJuan Pablo
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...Amazon Web Services
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsawsfernando sonego
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseJoseph Lopez
 
Azure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_anguloAzure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_anguloAdrian Miranda
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 
Big Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSBig Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSAmazon Web Services LATAM
 
Big Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSBig Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSAmazon Web Services LATAM
 
Análisis de datos con Apache Spark
Análisis de datos con Apache SparkAnálisis de datos con Apache Spark
Análisis de datos con Apache SparkEduardo Castro
 
Arquitectura a escala
Arquitectura a escalaArquitectura a escala
Arquitectura a escalaElasticsearch
 

Similar a Foro de Arquitectos: caché en azure a fondo (20)

Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)
Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)
Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)
 
Aplicaciones escalables en Azure
Aplicaciones escalables en AzureAplicaciones escalables en Azure
Aplicaciones escalables en Azure
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nube
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Metacoretex
MetacoretexMetacoretex
Metacoretex
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
Azure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_anguloAzure SQL Data Warehouse desde cada_angulo
Azure SQL Data Warehouse desde cada_angulo
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 
Big Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSBig Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWS
 
Bd nosql clave valor
Bd nosql clave valorBd nosql clave valor
Bd nosql clave valor
 
Big Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSBig Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWS
 
Análisis de datos con Apache Spark
Análisis de datos con Apache SparkAnálisis de datos con Apache Spark
Análisis de datos con Apache Spark
 
Big Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data LakeBig Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data Lake
 
Arquitectura a escala
Arquitectura a escalaArquitectura a escala
Arquitectura a escala
 

Más de Fernando Escolar Martínez-Berganza

Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Fernando Escolar Martínez-Berganza
 

Más de Fernando Escolar Martínez-Berganza (20)

Por qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta malPor qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta mal
 
Deconstrucción de SOLID
Deconstrucción de SOLIDDeconstrucción de SOLID
Deconstrucción de SOLID
 
Gapand - por qué odio git?
Gapand - por qué odio git?Gapand - por qué odio git?
Gapand - por qué odio git?
 
Betabeers - continuous deployment
Betabeers - continuous deploymentBetabeers - continuous deployment
Betabeers - continuous deployment
 
Devops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscaleDevops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscale
 
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
 
Reconnect 2015 - ALM VSTS
Reconnect 2015 - ALM VSTSReconnect 2015 - ALM VSTS
Reconnect 2015 - ALM VSTS
 
Codemotion 2015 - Unit Testing
Codemotion 2015 - Unit TestingCodemotion 2015 - Unit Testing
Codemotion 2015 - Unit Testing
 
Unit testing en Windows 10
Unit testing en Windows 10Unit testing en Windows 10
Unit testing en Windows 10
 
Las cronicas de redis
Las cronicas de redisLas cronicas de redis
Las cronicas de redis
 
Redis: no solo una caché
Redis: no solo una cachéRedis: no solo una caché
Redis: no solo una caché
 
DotNet Conference: code smells
DotNet Conference: code smellsDotNet Conference: code smells
DotNet Conference: code smells
 
Codemotion: descubriendo las cachés
Codemotion: descubriendo las cachésCodemotion: descubriendo las cachés
Codemotion: descubriendo las cachés
 
Unit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugsUnit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugs
 
We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)
 
Mobile services by @quiqu3
Mobile services by @quiqu3Mobile services by @quiqu3
Mobile services by @quiqu3
 
Javascript no es vietnam
Javascript no es vietnamJavascript no es vietnam
Javascript no es vietnam
 
Where is my beer?
Where is my beer?Where is my beer?
Where is my beer?
 
Coding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival GuideCoding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival Guide
 
Level up your skills
Level up your skillsLevel up your skills
Level up your skills
 

Último

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (20)

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

Foro de Arquitectos: caché en azure a fondo

Notas del editor

  1. Tokiota es una empresa joven que a lo largo de su año de vida ha conseguido un gran reconocimiento como especialistas en tecnologías Microsoft. Somos gold partners en movilidad (desarrollo de Windows pone y Windows Store), pertenecemos al azure circle y como partner preferente de Microsoft estamos especializados en: Arquitectura de software Soluciones Cloud Infraestructura Desarrollo en tecnologías Microsoft
  2. Es un tipo de almacenamiento, pequeño, de acceso muy rápido que se utiliza en ingeniería de la computación para aportar una mayor velocidad al leer datos.
  3. Cache L1: en el procesador, muy rápida, pero pequeña. Es la memoria donde el procesador almacena los registros con los que hace operaciones.
  4. Cache L2: al lado de procesador, más grande pero más lenta. Aunque muy rápida. Es la típica caché que anuncian en los procesadores: i7 con 4kb de cache. Esta se usa como memoria intermedia, para almacenar más datos y luego volcarlos a la de nivel 1 para operar.
  5. Cache L3: memoria RAM o de disco (la ram es más rápida que el disco). Este es el nivel donde los vamos a mover a lo largo de la charla. Es la caché que como programadores de lenguajes manejados, estamos capacitados para gestionar. La memoria RAM a su vez tiene también una caché de acceso más rápido que la propia RAM, la SRAM, donde se almacenan los datos que más se usan. Y además puede usar la memoria de disco de la máquina si es que se ha llenado. Y los discos usan como caché el típico buffer que se usa al leer un archivo. Todo en los ordenadores usa siempre algún tipo de memoria caché :)
  6. - Una cache física (no-memory) es aquella caché que se persiste en una unidad de almacenamiento. Fisicamente quedará almacenada hasta que caduque. Un ejemplo es el outPut caché de una página web. Al usar estos parámetros, los browsers entienden que esos datos no se van a modificar. Así que los guarda y no los vuelve a pedir al servidor, usa la copia almacenada en su caché. Aunque apaguemos el ordenador, estos datos no se borran, la próxima vez que iniciemos, estarán allí.
  7. - La caché in-memory por otro lado, se almacena en la memoria RAM de la máquina. De forma que si reiniciamos la máquina, estos datos se borran y habrá que volverlos a cargar en la caché. Un ejemplo de esto sería el HttpRuntimeCache de asp.net: una caché que perdura en memoria y que gestiona por nosotros Asp.Net. Se le puede dar muchos usos, pero uno de los más típicos sería el ejemplo de un combo de países o ciudades. Datos que no suelen cambiar y que no queremos estar cargando constantemente de la base de datos. Los almacenamos en una memoria caché y accedemos a ellos de forma muy rápida.
  8. Hay 3 tipos de datos que podría interesarnos almacenar en una memoria caché:
  9. Datos de referencia: prácticamente de solo lectura. No se modifican demasiado y son comunes a todos los usuarios. Por ejemplo el listado de productos de una tienda virtual o los sprites/imagenes que luego se dibujan en pantalla en un videojuego.
  10. Datos de actividad: son datos de lectura y escritura fundamentalmente, cuyo ciclo de vida es el mismo que el de la sesión de un usuario. Por ejemplo el carrito de la compra de una tienda virtual, o la puntuación de un jugador en un videojuego.
  11. Datos de recursos: Son datos de lectura y escritura, compartidos por todos los usuarios, pero que pueden cambiar con frecuencia. Estos datos tienen la peculiaridad de poder ser accedidos por muchos usuarios. Un ejemplo sería el stockage de los productos de una tienda virtual, o las puntuaciones globales de todos los usuarios en un videojuego.
  12. En resumen: Está en manos del developer saber en cada momento y aplicación, qué datos sería mejor almacenar en qué tipo de caché. No hay una fórmula mágica para decidirlo, aunque sí algunos truquillos. Lo que sí hay que tener en cuenta es que una caché in-memory puede perder los datos en algún momento, por lo que no tenemos la seguridad de que estén ahí siempre, aunque los hayamos almacenado ahí al iniciar la aplicación...
  13. Tiempo de vida de objetos en caché limitado: una gran parte de las memorias caché que existen implementan una política de expiración de los objetos que almacenamos en ella. Esto significa que un objeto tiene un tiempo de vida concreto. Si introducimos un valor de expiración muy alto, es posible que terminemos teniendo un objeto ya no válido. El uso de la caché está recomendado sobre todo para datos prácticamente estáticos o que se leen con mucha frecuencia. Desalojo de datos: también la mayoría de las cachés implementan un sistema automático de desalojo de objetos. Como la memoria de la caché es limitada, cuando esta se llena se opta por borrar los objetos más antiguos. Aunque podríamos implementar un modo de desalojo global, con un tiempo determinado para cualquier objeto, podría ser que haya objetos que sea recomendable saltarse estas limitaciones por razones de performance y de que el dato no varía con facilidad. Preparación inicial de caché: Muchos programas a la hora de arrancar realizan un llenado inicial de varios objetos en la memoria caché y alguno de ellos pueden ser usados en el proceso de inicio. Si usamos el patrón cache-aside, podemos garantizar que leemos correctamente estos datos aunque hayan caducado. Consistencia de la información: Lo primero que perdemos al utilizar memorias caché es la consistencia de los datos. No tiene por qué coincidir el objeto que está almacenado en caché con el que está en el almacén de datos. Y este problema se acentúa en la medida de la frecuencia de modificación de un dato que tenemos almacenado en la memoria caché. Cachés locales: Si usamos una aplicación con varios servidores balanceados y cada uno usa una caché local, además de tener un dato replicado en diferentes sitios, podría ser que existiera inconsistencia entre datos de la caché de un servidor y de otro. Esto tiene una fácil solución gestionando cachés distribuidas, como veremos más adelante.
  14. Entonces, por qué usar una caché si puede dar tantos problemas?
  15. Porque reducimos la latencia. Si la latencia es baja, las respuestas son más rápidas. Que las respuestas sean rápidas implica que la velocidad de la aplicación es mayor. Si tenemos una aplicación rápida, el usuario/cliente estará más contento. Y si el usuario/cliente está contento, significa que volverá a contar con nuestra aplicación o servicios de desarrollo.
  16. Y esto en definitiva va a repercutir en más dinero para nosotros.
  17. Escalando el sistema. Más hierro. Mejorando la performance de los procesos Almacenando y cargando agregados y no entidad por entidad Usando variables de sesión o la caché output del asp.net
  18. Escalar es caro. Los procesos están limitados por la tecnología y los sistemas. Almacenar agregados, tampoco nos va a aportar una velocidad tan grande, aunque es muy recomendable. Las variables de sesión están solo disponibles para una instancia de una aplicación concreta, no para todas. La caché output, la gestiona el cliente bajo unas directrices del servidor, pero no podemos borrarla bajo demanda. Solo el propio cliente es el que la puede manejar.
  19. Como hemos dicho anteriormente, en los entornos actuales en los que una aplicación puede escalar en diferentes instancias, en los que tenemos sistemas híbridos cloud/on-premises o sistemas totalmente en la nube, las cachés locales in-memory se nos antojan algo desfasadas, ya que nuestras arquitecturas requieren de un solo componente que no tenga que estar replicado por cada una de las instancias de una aplicación, y es aquí cuando aparece una forma nueva de usar la caché:
  20. Un sistema de Caché distribuido. Que no es más tratar la memoria caché como un nuevo aplicativo que consumen el resto de aplicaciones. Pero manejar y darle disponibilidad a un sistema de caché distribuido puede ser un problema: nuevo hierro, problemas de gestión, hay que ver cómo integrarlo, tener un plan de escalabilidad y otro de contingencia para posibles problemas que surjan…
  21. Y es aquí donde vemos que una gran solución para esto es usar servicios de caché en la nube
  22. - Azure Cache (deprecated, pero mola hablar de ella. Es la de appFabric) Si de hecho, funciona muy bien como cluster.. - Azure Cache InRole - Azure Cache Services - VM: cualquier sistema de cache, memcached. - Redis: el uso definitivo? Yo lo preguntaría
  23. Un sistema de Caché distribuido. Que no es más tratar la memoria caché como un nuevo aplicativo que consumen el resto de aplicaciones. Pero manejar y darle disponibilidad a un sistema de caché distribuido puede ser un problema: nuevo hierro, problemas de gestión, hay que ver cómo integrarlo, tener un plan de escalabilidad y otro de contingencia para posibles problemas que surjan…
  24. Y cómo no, como caché también se puede usar ;)
  25. Si queréis saber algo más de redis y me aceptan la charla, podréis verlo en el evento de dentro de un mes, aquí en Madrid 