SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
#GlobalAzure
Por qué todo
lo que subo a azure está mal
Puedes llamarme “Fer”. Tengo un blog en github pages
www.developerro.com. Me puedes encontrar en twitter
cómo @fernandoescolar. Trabajo en Tokiota. Mi color
preferido es el naranja.
Fernando Escolar
¡Gracias!
#GlobalAzure#GlobalAzure
Los archivos que generamos o que
creamos tienen que estar en un almacen
compartido
Las variables de sesion tienen que estar
accesibles para todas las instancias.
Si usamos memoria cache, para evitar
conflictos con la consistencia es
mejor almacenarla en una cache
compartida.
La base de datos que subimos a un servicio
PaaS de Azure tiene que cumplir unas
normas/limitaciones.
#GlobalAzure#GlobalAzure
#GlobalAzure#GlobalAzure
E N MI MAQ UIN A VA
G E N IA L, P ERO C U AN DO
S U B O LO MISMO A A Z U RE
VA S UP ER LE N TO
#GlobalAzure#GlobalAzure
Tengo una instancia de appservices
de 1 core con 1.75 Gb de RAM y
entran muchos usuarios.
Lo mas importante en relacion a la
velocidad es tener todos los
servicios en el mismo datacenter.
Tengo un laptop i7 con 16Gb de RAM
y 512 Gb de disco SSD. Y solo entro
yo en el IIS Express.
Realiza procesos cortos, si son
procesos que hacen esperar al
usuario. Lo mas recomendable es
distribuir los procesos largos.
Hay que conocer los limites
exactos del servicio para saber si
se ha de escalar a una instancia mas
grande.
BAM
EYOW
CRAS
ZLOP
biff
#GlobalAzure#GlobalAzure
SI A AD YA TIE N E G ESTO R
D E US U ARIO S, ¿PARA Q U E
HAC ER E L MIO D E N TRO
D E MI AP LIC AC IO N ?
#GlobalAzure#GlobalAzure
Si un usuario es borrado del AAD,
¿Pierdo todos sus datos en mi
aplicacion?
Mi aplicacion debe gestionar los
usuarios, que van a interactuar
con mi aplicacion.
¿Eres el usuario que dices ser?
¿tienes permiso para ver el
recurso? AAD lo gestiona.
Mi aplicacion debe almacenar los
permisos que se asigna a cada
usuario que el AAD autorice.
Vincula la información relacionada
con un usuario, con un usuario de la
propia aplicacion.
Relaciona los usuarios de la
aplicacion con los de AAD mediante
su UPN.
BAM
EYOW
CRAS
boff
ZLOP
biff
#GlobalAzure#GlobalAzure
E L S ERV IC IO D E A Z U RE
RE D IS C AC HE ES MU Y
LE N TO. . .
#GlobalAzure#GlobalAzure
Procura no usar variables de
sesion, o al menos reducir al
maximo lo que ahí almacenas.
No almacenes muchos datos en una
sola clave de redis, es mucho mas
eficiente almacenar muchas
claves y filtrar en redis.
Activa REDIS CACHE ADVISOR que te
informa de los defectos tipicos
que detecte en tu servicio.
Aunque SSL es más seguro para
conectar, es algo lento mezclado
con el protocol de Redis (vnet).
Si solo vas a usar variables de sesion
y/o no vas a sacarle partido a redis,
puedes usar el Memcached Client
Shim.
Observa los limites de conexiones,
Mb y carga de tu servicio cache
para escalar a la instancia adecuada.
BAM
EYOW
CRAS
boff
ZLOP
biff
#GlobalAzure#GlobalAzure
ESTO Y MU Y C O N TE N TO
C O N E L S ERV IC IO D E
C O SMO S D B P ERO ES
C ARISIMO
#GlobalAzure#GlobalAzure
Si usas un poco de espacio de
almacenamiento y haces pocas
solicitudes, debes pagar al menos el
mínimo precio de RU por
collection
Puedes configurar un Throughput
dedicado a cada coleccion o uno
compartido por toda una base de
datos.
Comos DB se te factura por
collection. Si usas muchas
collections la factura es
equivalente a tener varias bases de
datos.
Usa conexiones con “direct mode”
sobre TCP. Usa las llamadas
asíncronas de la API.
Cosmos DB acepta particiones
partiendo de valores de propiedades
de los documentos.
BAM
EYOW
CRAS
boff
biff
#GlobalAzure#GlobalAzure
S E ME B LO Q U E A LA B AS E
D E DATO S E N LO S
MOME N TO S D E MAYO R US O
Y YA N O PU E DO ES C A LAR
MAS
#GlobalAzure#GlobalAzure
Activar el advisor para que nos de
recomendaciones que aumenten la
performance
La lógica de negocio no debería
estar embebida en la base de datos
en forma de store procedures
Existe una aplicacion (dentro de
SSMS) que nos ayuda a migrar las
bases de datos a Azure
Usa el DTU Calculator para saber el
tamaño de instancia que necesitas:
https://dtucalculator.azurewebsi
tes.net/
Usa QUERY PERFORMANCE INSIGHTS
para saber si una query es eficiente
o no
BAM
EYOW
CRAS
boff
ZLOP
#GlobalAzure#GlobalAzure
¡C LARO! C OMO A Z U RE ES
D E MIC RO S O FT LAS
AP LIC AC IO N ES
D ES ARRO LLADAS E N N O D E
VAN FATA L
#GlobalAzure#GlobalAzure
Si usas websockets tienes que
activar la opción de utilizarlos en
los settings del App Service.
Nodejs se ejecuta sobre el módulo IISNODE. Se
puede configurar:
https://github.com/Azure/iisnode/blob/master/src
/config/iisnode_schema_x64.xml
No se puede usar node.cluster
dentro de un Azure App Service. Hay
otras formas de hacerlo.
V8-PROFILER: Herramienta que nos
ayudará a detectar donde están los
problemas de nuestra aplicación
nodejs.
IISNODE . yML
https://github.com/Azure-Samples/app-
service-web-nodejs-get-
started/blob/master/iisnode.yml
BAM
EYOW
CRAS
ZLOP
biff
#GlobalAzure#GlobalAzure
MIC RO S O FT HAC E Q U E
LAS AP LIC AC IO N ES D E
P HP S E ARRASTRE N PARA
Q U E P RO G RA MES E N . N E T
#GlobalAzure#GlobalAzure
Podemos configurar extensiones
en el archivo extensions.ini o desde
los app settings
.USER.INI
Este archivo funciona
exactamente igual que el php .ini
WEB.CONFIG
Hay multitud de cachés y demás
configuraciones que se pueden
hacer a PHP desde aqui
PHP >= 7
Lo mas recomendable es usar la
ultima version de PHP
BAM
CRAS
ZLOP
biff
#GlobalAzure#GlobalAzure
FU N C IO N A TOMC AT E N
A Z U RE?
B U E N O, YO TE N G O MI
P RO P IO TOMC AT
C USTOMIZ ADO. . .
#GlobalAzure#GlobalAzure
Hibernate
Cuidado si en tu base de datos no usas
“nvarchar”. Usar “varchar” reduce
la performance muchisimo.
Selecciona el tipo de tamaño
necesario y usa caches allí donde
puedas
Se puede subir un Tomcat
customizado, pero seguro que lo
tienes que modificar para azure
BAM
EYOW
boff
biff
#GlobalAzure#GlobalAzure
ES Q U E A Z U RE ES MU Y
C ARO
#GlobalAzure#GlobalAzure
A una empresa pequeña no tiene por
que serle rentable migrar a azure
A = lo que me cuesta
reprogramar
B = lo que me cuesta aumentar el
hierro
Generalmente B < A…
24 x 7, SLA 99.9[5|9], te olvidas del
mantenimiento… entonces no es tan
caro
SERVICIOS ESPECIALIZADOS
Por ejemplo 1 Tb. en azure son 16 e/mes
con 3 replicas. A una empresa grande
con otro servicio contratado le
resulta muy barato
BAM
EYOW
CRAS
boff
ZLOP
biff
#GlobalAzure#GlobalAzure
SI N O ME LO ARRE G LA
MIC RO S O FT, ME VO Y A IR
A A MA Z O N
#GlobalAzure#GlobalAzure
AWS Es un buen servicio de Cloud, posiblemente
mejor en algunos aspectos que azure, aunque peor
en otros
Si no funciona bien en Azure, tampoco
lo va a hacer en amazon por el mismo
precio
BAM
CRAS
biff
#GlobalAzure#GlobalAzure
S O Y E L U N IC O B ATMAN
Q U E N O N E C ESITA
MUS C U LO S D E P E G A
#GlobalAzure#GlobalAzure
¡Gracias!
Por qué todo lo que subo a azure esta mal

Más contenido relacionado

La actualidad más candente

Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 
AWS Initiate Day Mexico City | Optimización de costos en AWS
AWS Initiate Day Mexico City | Optimización de costos en AWSAWS Initiate Day Mexico City | Optimización de costos en AWS
AWS Initiate Day Mexico City | Optimización de costos en AWSAmazon Web Services LATAM
 
AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...
AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...
AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...Amazon Web Services LATAM
 
Amazon Web Services
Amazon Web ServicesAmazon Web Services
Amazon Web ServicesBeto Vega
 
Migration Day - Migración a AWS: La base de la transformación empresarial
Migration Day - Migración a AWS: La base de la transformación empresarialMigration Day - Migración a AWS: La base de la transformación empresarial
Migration Day - Migración a AWS: La base de la transformación empresarialAmazon Web Services LATAM
 
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...Amazon Web Services LATAM
 
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
 
Migration Day - SAP en AWS: Estrategias de migración
Migration Day - SAP en AWS: Estrategias de migraciónMigration Day - SAP en AWS: Estrategias de migración
Migration Day - SAP en AWS: Estrategias de migraciónAmazon Web Services LATAM
 
Arquitecturas de comercio electrónico de la próxima generación
Arquitecturas de comercio electrónico de la próxima generaciónArquitecturas de comercio electrónico de la próxima generación
Arquitecturas de comercio electrónico de la próxima generaciónAmazon Web Services LATAM
 
Migration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSMigration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSAmazon Web Services LATAM
 
Qué es la informática en la nube
Qué es la informática en la nubeQué es la informática en la nube
Qué es la informática en la nubeElvynSani
 
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSAmazon Web Services LATAM
 
Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?Amazon Web Services
 

La actualidad más candente (20)

Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Como Migrar a la Nube AWS
Como Migrar a la Nube AWSComo Migrar a la Nube AWS
Como Migrar a la Nube AWS
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 
AWS Initiate Day Mexico City | Optimización de costos en AWS
AWS Initiate Day Mexico City | Optimización de costos en AWSAWS Initiate Day Mexico City | Optimización de costos en AWS
AWS Initiate Day Mexico City | Optimización de costos en AWS
 
AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...
AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...
AWS Initiate Day Mexico City | Migración de datos a la nube, explorando sus o...
 
Amazon Web Services
Amazon Web ServicesAmazon Web Services
Amazon Web Services
 
Migration Day - Migración a AWS: La base de la transformación empresarial
Migration Day - Migración a AWS: La base de la transformación empresarialMigration Day - Migración a AWS: La base de la transformación empresarial
Migration Day - Migración a AWS: La base de la transformación empresarial
 
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
AWS Webinar Series Latinoamérica: Cómo salir de su datacenter y modernizar la...
 
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...
 
Migration Day - SAP en AWS: Estrategias de migración
Migration Day - SAP en AWS: Estrategias de migraciónMigration Day - SAP en AWS: Estrategias de migración
Migration Day - SAP en AWS: Estrategias de migración
 
Servicios de bases de datos en AWS
Servicios de bases de datos en AWSServicios de bases de datos en AWS
Servicios de bases de datos en AWS
 
Arquitecturas de comercio electrónico de la próxima generación
Arquitecturas de comercio electrónico de la próxima generaciónArquitecturas de comercio electrónico de la próxima generación
Arquitecturas de comercio electrónico de la próxima generación
 
Migration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSMigration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWS
 
Construyendo un data lake en la nube aws
Construyendo un data lake en la nube awsConstruyendo un data lake en la nube aws
Construyendo un data lake en la nube aws
 
Qué es la informática en la nube
Qué es la informática en la nubeQué es la informática en la nube
Qué es la informática en la nube
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Implementando DRP en AWS
Implementando DRP en AWSImplementando DRP en AWS
Implementando DRP en AWS
 
AWSome Day - Conferencia Online Junio 2020
AWSome Day - Conferencia Online Junio 2020 AWSome Day - Conferencia Online Junio 2020
AWSome Day - Conferencia Online Junio 2020
 
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
 
Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?Viaje a través de la nube - ¿Qué es AWS?
Viaje a través de la nube - ¿Qué es AWS?
 

Similar a Por qué todo lo que subo a azure esta mal

Machine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceMachine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceEduardo Castro
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con DrupalPablo Cerda
 
Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.jorge Muchaypiña
 
24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...
24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...
24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...SpanishPASSVC
 
Microsoft Azure - La plataforma de Nube para su Transformación Digital
Microsoft Azure - La plataforma de Nube para su Transformación DigitalMicrosoft Azure - La plataforma de Nube para su Transformación Digital
Microsoft Azure - La plataforma de Nube para su Transformación DigitalJavier Gonzales
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 
Mejorar la usabilidad y la conversion con WPO en Wordpress
Mejorar la usabilidad y la conversion con WPO en WordpressMejorar la usabilidad y la conversion con WPO en Wordpress
Mejorar la usabilidad y la conversion con WPO en WordpressRaiola Networks
 
Azure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday BogotaAzure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday Bogotajorge Muchaypiña
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Entendiendo Iaas/Paas/Saas en Azure
Entendiendo Iaas/Paas/Saas en AzureEntendiendo Iaas/Paas/Saas en Azure
Entendiendo Iaas/Paas/Saas en AzureFernando Mejía
 
Aplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y NassiAplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y NassiGuillermo Nassi
 
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAzure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAdrian Diaz Cervera
 

Similar a Por qué todo lo que subo a azure esta mal (20)

Machine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceMachine Learning con Azure Managed Instance
Machine Learning con Azure Managed Instance
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con Drupal
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
 
24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...
24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...
24 HOP edición Español - Sql server 2014 como crear soluciones de bases de da...
 
Microsoft Azure - La plataforma de Nube para su Transformación Digital
Microsoft Azure - La plataforma de Nube para su Transformación DigitalMicrosoft Azure - La plataforma de Nube para su Transformación Digital
Microsoft Azure - La plataforma de Nube para su Transformación Digital
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
Mejorar la usabilidad y la conversion con WPO en Wordpress
Mejorar la usabilidad y la conversion con WPO en WordpressMejorar la usabilidad y la conversion con WPO en Wordpress
Mejorar la usabilidad y la conversion con WPO en Wordpress
 
Smbd (2)
Smbd (2)Smbd (2)
Smbd (2)
 
Smbd (2)
Smbd (2)Smbd (2)
Smbd (2)
 
Smb Dfin
Smb DfinSmb Dfin
Smb Dfin
 
Azure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday BogotaAzure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday Bogota
 
Azure SQL Databases para DBAs
Azure SQL Databases para DBAsAzure SQL Databases para DBAs
Azure SQL Databases para DBAs
 
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
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Explorando los Sabores de Azure Data Factory
Explorando los Sabores de Azure Data FactoryExplorando los Sabores de Azure Data Factory
Explorando los Sabores de Azure Data Factory
 
Entendiendo Iaas/Paas/Saas en Azure
Entendiendo Iaas/Paas/Saas en AzureEntendiendo Iaas/Paas/Saas en Azure
Entendiendo Iaas/Paas/Saas en Azure
 
Aplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y NassiAplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y Nassi
 
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAzure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
 

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)

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
 
Foro de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondoForo de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondo
 
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

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Último (12)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Por qué todo lo que subo a azure esta mal

  • 1. #GlobalAzure Por qué todo lo que subo a azure está mal Puedes llamarme “Fer”. Tengo un blog en github pages www.developerro.com. Me puedes encontrar en twitter cómo @fernandoescolar. Trabajo en Tokiota. Mi color preferido es el naranja. Fernando Escolar
  • 3. #GlobalAzure#GlobalAzure Los archivos que generamos o que creamos tienen que estar en un almacen compartido Las variables de sesion tienen que estar accesibles para todas las instancias. Si usamos memoria cache, para evitar conflictos con la consistencia es mejor almacenarla en una cache compartida. La base de datos que subimos a un servicio PaaS de Azure tiene que cumplir unas normas/limitaciones.
  • 4.
  • 6. #GlobalAzure#GlobalAzure E N MI MAQ UIN A VA G E N IA L, P ERO C U AN DO S U B O LO MISMO A A Z U RE VA S UP ER LE N TO
  • 7. #GlobalAzure#GlobalAzure Tengo una instancia de appservices de 1 core con 1.75 Gb de RAM y entran muchos usuarios. Lo mas importante en relacion a la velocidad es tener todos los servicios en el mismo datacenter. Tengo un laptop i7 con 16Gb de RAM y 512 Gb de disco SSD. Y solo entro yo en el IIS Express. Realiza procesos cortos, si son procesos que hacen esperar al usuario. Lo mas recomendable es distribuir los procesos largos. Hay que conocer los limites exactos del servicio para saber si se ha de escalar a una instancia mas grande. BAM EYOW CRAS ZLOP biff
  • 8. #GlobalAzure#GlobalAzure SI A AD YA TIE N E G ESTO R D E US U ARIO S, ¿PARA Q U E HAC ER E L MIO D E N TRO D E MI AP LIC AC IO N ?
  • 9. #GlobalAzure#GlobalAzure Si un usuario es borrado del AAD, ¿Pierdo todos sus datos en mi aplicacion? Mi aplicacion debe gestionar los usuarios, que van a interactuar con mi aplicacion. ¿Eres el usuario que dices ser? ¿tienes permiso para ver el recurso? AAD lo gestiona. Mi aplicacion debe almacenar los permisos que se asigna a cada usuario que el AAD autorice. Vincula la información relacionada con un usuario, con un usuario de la propia aplicacion. Relaciona los usuarios de la aplicacion con los de AAD mediante su UPN. BAM EYOW CRAS boff ZLOP biff
  • 10. #GlobalAzure#GlobalAzure E L S ERV IC IO D E A Z U RE RE D IS C AC HE ES MU Y LE N TO. . .
  • 11. #GlobalAzure#GlobalAzure Procura no usar variables de sesion, o al menos reducir al maximo lo que ahí almacenas. No almacenes muchos datos en una sola clave de redis, es mucho mas eficiente almacenar muchas claves y filtrar en redis. Activa REDIS CACHE ADVISOR que te informa de los defectos tipicos que detecte en tu servicio. Aunque SSL es más seguro para conectar, es algo lento mezclado con el protocol de Redis (vnet). Si solo vas a usar variables de sesion y/o no vas a sacarle partido a redis, puedes usar el Memcached Client Shim. Observa los limites de conexiones, Mb y carga de tu servicio cache para escalar a la instancia adecuada. BAM EYOW CRAS boff ZLOP biff
  • 12. #GlobalAzure#GlobalAzure ESTO Y MU Y C O N TE N TO C O N E L S ERV IC IO D E C O SMO S D B P ERO ES C ARISIMO
  • 13. #GlobalAzure#GlobalAzure Si usas un poco de espacio de almacenamiento y haces pocas solicitudes, debes pagar al menos el mínimo precio de RU por collection Puedes configurar un Throughput dedicado a cada coleccion o uno compartido por toda una base de datos. Comos DB se te factura por collection. Si usas muchas collections la factura es equivalente a tener varias bases de datos. Usa conexiones con “direct mode” sobre TCP. Usa las llamadas asíncronas de la API. Cosmos DB acepta particiones partiendo de valores de propiedades de los documentos. BAM EYOW CRAS boff biff
  • 14. #GlobalAzure#GlobalAzure S E ME B LO Q U E A LA B AS E D E DATO S E N LO S MOME N TO S D E MAYO R US O Y YA N O PU E DO ES C A LAR MAS
  • 15. #GlobalAzure#GlobalAzure Activar el advisor para que nos de recomendaciones que aumenten la performance La lógica de negocio no debería estar embebida en la base de datos en forma de store procedures Existe una aplicacion (dentro de SSMS) que nos ayuda a migrar las bases de datos a Azure Usa el DTU Calculator para saber el tamaño de instancia que necesitas: https://dtucalculator.azurewebsi tes.net/ Usa QUERY PERFORMANCE INSIGHTS para saber si una query es eficiente o no BAM EYOW CRAS boff ZLOP
  • 16. #GlobalAzure#GlobalAzure ¡C LARO! C OMO A Z U RE ES D E MIC RO S O FT LAS AP LIC AC IO N ES D ES ARRO LLADAS E N N O D E VAN FATA L
  • 17. #GlobalAzure#GlobalAzure Si usas websockets tienes que activar la opción de utilizarlos en los settings del App Service. Nodejs se ejecuta sobre el módulo IISNODE. Se puede configurar: https://github.com/Azure/iisnode/blob/master/src /config/iisnode_schema_x64.xml No se puede usar node.cluster dentro de un Azure App Service. Hay otras formas de hacerlo. V8-PROFILER: Herramienta que nos ayudará a detectar donde están los problemas de nuestra aplicación nodejs. IISNODE . yML https://github.com/Azure-Samples/app- service-web-nodejs-get- started/blob/master/iisnode.yml BAM EYOW CRAS ZLOP biff
  • 18. #GlobalAzure#GlobalAzure MIC RO S O FT HAC E Q U E LAS AP LIC AC IO N ES D E P HP S E ARRASTRE N PARA Q U E P RO G RA MES E N . N E T
  • 19. #GlobalAzure#GlobalAzure Podemos configurar extensiones en el archivo extensions.ini o desde los app settings .USER.INI Este archivo funciona exactamente igual que el php .ini WEB.CONFIG Hay multitud de cachés y demás configuraciones que se pueden hacer a PHP desde aqui PHP >= 7 Lo mas recomendable es usar la ultima version de PHP BAM CRAS ZLOP biff
  • 20. #GlobalAzure#GlobalAzure FU N C IO N A TOMC AT E N A Z U RE? B U E N O, YO TE N G O MI P RO P IO TOMC AT C USTOMIZ ADO. . .
  • 21. #GlobalAzure#GlobalAzure Hibernate Cuidado si en tu base de datos no usas “nvarchar”. Usar “varchar” reduce la performance muchisimo. Selecciona el tipo de tamaño necesario y usa caches allí donde puedas Se puede subir un Tomcat customizado, pero seguro que lo tienes que modificar para azure BAM EYOW boff biff
  • 22. #GlobalAzure#GlobalAzure ES Q U E A Z U RE ES MU Y C ARO
  • 23. #GlobalAzure#GlobalAzure A una empresa pequeña no tiene por que serle rentable migrar a azure A = lo que me cuesta reprogramar B = lo que me cuesta aumentar el hierro Generalmente B < A… 24 x 7, SLA 99.9[5|9], te olvidas del mantenimiento… entonces no es tan caro SERVICIOS ESPECIALIZADOS Por ejemplo 1 Tb. en azure son 16 e/mes con 3 replicas. A una empresa grande con otro servicio contratado le resulta muy barato BAM EYOW CRAS boff ZLOP biff
  • 24. #GlobalAzure#GlobalAzure SI N O ME LO ARRE G LA MIC RO S O FT, ME VO Y A IR A A MA Z O N
  • 25. #GlobalAzure#GlobalAzure AWS Es un buen servicio de Cloud, posiblemente mejor en algunos aspectos que azure, aunque peor en otros Si no funciona bien en Azure, tampoco lo va a hacer en amazon por el mismo precio BAM CRAS biff
  • 26. #GlobalAzure#GlobalAzure S O Y E L U N IC O B ATMAN Q U E N O N E C ESITA MUS C U LO S D E P E G A