SlideShare una empresa de Scribd logo
1 de 25
uy.vopen.tech
Construye tu aplicación
Multi-Tenant
Fernando Sonego
Solution Architect
¿Qué es una aplicación Multi-Tenant?
● Construir una aplicación basándonos en SaaS (Software as a Service)
○ Básicamente aplicaciones que accedemos por una suscripción, en su gran mayoría, accedida
desde internet.
○ Ejemplo: Office 365, Dropbox, Jira Cloud.
● Única instancia de la aplicación puede servir a varios clientes.
● Multi-Tenancy es un concepto para soluciones en la nube.
● Proporciona aislamiento de datos entre lo clientes.
● Cada vez mas popular es hacia onde va el mundo
○ XaaS (lo que sea como servicio)
Características de los inquilinos
● Cada inquilino tiene una identidad especifica.
● La aplicación se comporta de manera diferente para cada inquilino
dependiendo de:
○ Interfaz de usuario.
○ Parámetros de configuración.
○ Datos propios.
○ Funcionalidad individual y propiedades no funcionales.
○ Comportamientos específicos.
● Cada inquilino debe solo acceder a su información o recursos.
Conceptos
Dos estrategias básicas
Conceptos: 2 Básicos
Utilizamos una estrategia de
identificación (o resolución) de
inquilinos para averiguar con qué
inquilino esta consumiendo.
Una estrategia de acceso a datos
del inquilino descubrirá la forma de
recuperar (y almacenar).
Estrategias para Identificar
Encabezado del host
El inquilino será inferido por el
encabezado del host enviado por el
navegador al acceder a la aplicación
Cadena de consulta
Se utilizará un parámetro de cadena
de consulta para distinguir entre los
diferentes inquilinos, por ejemplo, " ?
Tenant = abc "; probablemente útil
solo para fines de desarrollo o prueba
IP de origen
Ees posible que desee que las
solicitudes que se originan en las
mismas IP obtengan el mismo
inquilino todo el tiempo
Modelos de Recursos
Compartidos / No compartidos
Compartiendo todos los recursos
Datos
App Hosting /
Services Datos
App Hosting /
Services
Tenant 1 Tenant 2 Tenant 3 Tenant 4
Compartiendo algunos de los recursos
Storage
CDN
App Hosting
SQL
Database
Storage
Cache
Tenant 1 Tenant 2
Sin compartir recursos
CDN
App Hosting
Storage
Tenant 1
CDN
App Hosting
Storage
Tenant 2
Tres patrones SaaS
Aplicaciones e Inquilinos
Standalone App
● Permite implementarse en la suscripción
del cliente.
● Mayor nivel de aislamiento, pero es la
opción mas costosa.
○ No se puede compartir recursos entre
varios inquilinos.
● Es perfecto para aplicaciones complejas.
● Los inquilinos son mas simple de
personalizar.
Una base de datos por inquilino
● Pefecto para situaciones donde temenos
Proveedores de servicios que se ocupan
del aislamiento.
● Permite ejecutar servicios centralizados
como recursos compartidos reduciendo
costos.
● Todas la bases de datos se administran
de forma central.
● Se utiliza una base de datos de catalago
para la parametrización de los inquilinos y
sus bases.
Multiples particiones
● Mejor opción para costos reducidos por
inquilino siempre que el aislameiento sea
reducido
● Permite empaquetar gran cantidad de
inquilinos en una base de datos.
● Escalamiento casi infinito.
● Al igual que la anterior tiene una base
catalogo.
Como elegir el modelo adecuado
● Escalabilidad:
○ Número de inquilinos.
○ Almacenamiento por inquilino.
○ Almacenamiento de forma agregada.
○ Carga de trabajo.
● Aislamiento de inquilinos: aislamiento de los datos y rendimiento (si la carga
de trabajo de un inquilino afecta a otros).
● Costo por inquilino: costos de la base de datos.
● Complejidad de desarrollo:
○ Cambios en el esquema.
○ Cambios en las consultas (requeridos por el patrón).
Como elegir el modelo adecuado
● Complejidad operativa:
○ Supervisión y administración del rendimiento.
○ Administración del esquema.
○ Restauración de un inquilino.
○ Recuperación ante desastres
● Capacidad de personalización: facilidad para admitir las personalizaciones
del esquema que son específicas del inquilino o específicas de la clase de
inquilino.
Código
¿Que necesitamos en nuestras clases?
GetTenantDefinition()
Service Providers
● Detectar en inquilino actual.
● Obtener las partes necesarias de la aplicación con la información.
● Permitir múltiples implementaciones.
ITenanProvider
DBTenantProvider
FileTenantProvider BlobTenantProvider
HttpTenantProvider
Middleware Multi-DBContext
● Administrar todos los tipos de solicitudes y
encargados de poner en contexto del
inquilino a la aplicación.
● Redireccionamiento de paginas,
contenidos, o recursos.
● Manejo de errores tanto de negocio como
de infraestructura.
● Nos proporcionara el context de base de
datos para para tenant.
● Las operaciones CRUD
● Chequeo de operaciones cruzadas entre
tenants / inquilinos
● El proveedor de datos debe ser agnóstico.
Conclusiones
finales
SPONSORS
¡Gracias!
fernando.sonego@gmail.com
@FernandoSonego
www.withoutdebugger.com
Fernando Sonego
Solution Architect

Más contenido relacionado

Similar a vOpenUy: Construye tu aplicación Multi-Tenant

Instituto tecnológico de nor oriente
Instituto tecnológico de nor orienteInstituto tecnológico de nor oriente
Instituto tecnológico de nor orientemarcordon
 
Instituto tecnológico de nor oriente
Instituto tecnológico de nor orienteInstituto tecnológico de nor oriente
Instituto tecnológico de nor orientemarcordon
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nubefredya1234
 
La nube de internet
La nube de internet La nube de internet
La nube de internet claudiaci28
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...campus party
 
8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...
8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...
8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...Luis Fernando Aguas Bucheli
 
Cloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nubeCloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nubeJesús Moreno León
 
Almacenamiento de la nube
Almacenamiento de la nubeAlmacenamiento de la nube
Almacenamiento de la nubeRonny López
 
Curso ofimática en la nube
Curso ofimática en la nubeCurso ofimática en la nube
Curso ofimática en la nubepcland
 
AWS.pptx
AWS.pptxAWS.pptx
AWS.pptxEnrique
 
[webinar]: Optimizando costos en un entorno cloud | Capitulo VII
[webinar]: Optimizando costos en un entorno cloud | Capitulo VII[webinar]: Optimizando costos en un entorno cloud | Capitulo VII
[webinar]: Optimizando costos en un entorno cloud | Capitulo VIIGonzalo Chelme
 

Similar a vOpenUy: Construye tu aplicación Multi-Tenant (20)

Cloud computing
Cloud computingCloud computing
Cloud computing
 
Instituto tecnológico de nor oriente
Instituto tecnológico de nor orienteInstituto tecnológico de nor oriente
Instituto tecnológico de nor oriente
 
Instituto tecnológico de nor oriente
Instituto tecnológico de nor orienteInstituto tecnológico de nor oriente
Instituto tecnológico de nor oriente
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nube
 
La nube de internet
La nube de internet La nube de internet
La nube de internet
 
Clud storage
Clud storage Clud storage
Clud storage
 
Meery
Meery Meery
Meery
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
 
8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...
8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...
8-Unidad 2: Tecnologías y Tendencias de Sistemas de Información-2.4 Computaci...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nubeCloud Storage, Almacenamiento en la nube
Cloud Storage, Almacenamiento en la nube
 
Almacenamiento de la nube
Almacenamiento de la nubeAlmacenamiento de la nube
Almacenamiento de la nube
 
Almacenamiento En La Nube
Almacenamiento En La NubeAlmacenamiento En La Nube
Almacenamiento En La Nube
 
Curso ofimática en la nube
Curso ofimática en la nubeCurso ofimática en la nube
Curso ofimática en la nube
 
La nuve. sandy gutierrez
La nuve. sandy gutierrezLa nuve. sandy gutierrez
La nuve. sandy gutierrez
 
Profundiza u5
Profundiza u5Profundiza u5
Profundiza u5
 
AWS.pptx
AWS.pptxAWS.pptx
AWS.pptx
 
[webinar]: Optimizando costos en un entorno cloud | Capitulo VII
[webinar]: Optimizando costos en un entorno cloud | Capitulo VII[webinar]: Optimizando costos en un entorno cloud | Capitulo VII
[webinar]: Optimizando costos en un entorno cloud | Capitulo VII
 
Cade te #SubealaNube
Cade te #SubealaNubeCade te #SubealaNube
Cade te #SubealaNube
 
141018735 computacion-en-la-nube
141018735 computacion-en-la-nube141018735 computacion-en-la-nube
141018735 computacion-en-la-nube
 

Más de fernando sonego

Algeiba meetup Net Baires Bot Empresariales
Algeiba meetup Net Baires Bot EmpresarialesAlgeiba meetup Net Baires Bot Empresariales
Algeiba meetup Net Baires Bot Empresarialesfernando sonego
 
Novedades .Net Core - NetBaires
Novedades .Net Core - NetBairesNovedades .Net Core - NetBaires
Novedades .Net Core - NetBairesfernando sonego
 
Jornada de Arquitectura .NET - 3º Edición
Jornada de Arquitectura .NET - 3º EdiciónJornada de Arquitectura .NET - 3º Edición
Jornada de Arquitectura .NET - 3º Ediciónfernando sonego
 
vOpenvOpenUy: El misterioso CQRS
vOpenvOpenUy: El misterioso CQRSvOpenvOpenUy: El misterioso CQRS
vOpenvOpenUy: El misterioso CQRSfernando sonego
 
2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsawsfernando sonego
 
Jornada de Arquitectura .NET - 2º Edición
Jornada de Arquitectura .NET - 2º EdiciónJornada de Arquitectura .NET - 2º Edición
Jornada de Arquitectura .NET - 2º Ediciónfernando sonego
 
Xamarin y azure b2c Servicio de identidad para tus apps
Xamarin y azure b2c Servicio de identidad para tus appsXamarin y azure b2c Servicio de identidad para tus apps
Xamarin y azure b2c Servicio de identidad para tus appsfernando sonego
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1fernando sonego
 
Net-Baires: CleanCode 20190622
Net-Baires: CleanCode 20190622Net-Baires: CleanCode 20190622
Net-Baires: CleanCode 20190622fernando sonego
 
NetBaires 2018 - Azure Serach
NetBaires 2018 - Azure SerachNetBaires 2018 - Azure Serach
NetBaires 2018 - Azure Serachfernando sonego
 
NetConfUy 2018 - Azure B2C
NetConfUy 2018 - Azure B2CNetConfUy 2018 - Azure B2C
NetConfUy 2018 - Azure B2Cfernando sonego
 
NetConfCo 2018 Azure B2C
NetConfCo 2018  Azure B2CNetConfCo 2018  Azure B2C
NetConfCo 2018 Azure B2Cfernando sonego
 
.Net core multiplataforma. sera verdad???
.Net core multiplataforma. sera verdad???.Net core multiplataforma. sera verdad???
.Net core multiplataforma. sera verdad???fernando sonego
 
Net conf ar v2018 start up
Net conf ar v2018 start upNet conf ar v2018 start up
Net conf ar v2018 start upfernando sonego
 
DevDayAr de Junior a Sernior ¿Cual es el camino?
DevDayAr de Junior a Sernior ¿Cual es el camino?DevDayAr de Junior a Sernior ¿Cual es el camino?
DevDayAr de Junior a Sernior ¿Cual es el camino?fernando sonego
 
Net conf uy 2017 type script
Net conf uy 2017   type scriptNet conf uy 2017   type script
Net conf uy 2017 type scriptfernando sonego
 
Azure Microsft Cognite Service
Azure Microsft Cognite ServiceAzure Microsft Cognite Service
Azure Microsft Cognite Servicefernando sonego
 

Más de fernando sonego (19)

Algeiba meetup Net Baires Bot Empresariales
Algeiba meetup Net Baires Bot EmpresarialesAlgeiba meetup Net Baires Bot Empresariales
Algeiba meetup Net Baires Bot Empresariales
 
AI+ Tour 2019 Argentina
AI+ Tour 2019 ArgentinaAI+ Tour 2019 Argentina
AI+ Tour 2019 Argentina
 
Novedades .Net Core - NetBaires
Novedades .Net Core - NetBairesNovedades .Net Core - NetBaires
Novedades .Net Core - NetBaires
 
Jornada de Arquitectura .NET - 3º Edición
Jornada de Arquitectura .NET - 3º EdiciónJornada de Arquitectura .NET - 3º Edición
Jornada de Arquitectura .NET - 3º Edición
 
vOpenvOpenUy: El misterioso CQRS
vOpenvOpenUy: El misterioso CQRSvOpenvOpenUy: El misterioso CQRS
vOpenvOpenUy: El misterioso CQRS
 
2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws2019.10.04.v open.azurevsaws
2019.10.04.v open.azurevsaws
 
Jornada de Arquitectura .NET - 2º Edición
Jornada de Arquitectura .NET - 2º EdiciónJornada de Arquitectura .NET - 2º Edición
Jornada de Arquitectura .NET - 2º Edición
 
Xamarin y azure b2c Servicio de identidad para tus apps
Xamarin y azure b2c Servicio de identidad para tus appsXamarin y azure b2c Servicio de identidad para tus apps
Xamarin y azure b2c Servicio de identidad para tus apps
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1
 
Net-Baires: CleanCode 20190622
Net-Baires: CleanCode 20190622Net-Baires: CleanCode 20190622
Net-Baires: CleanCode 20190622
 
NetBaires 2018 - Azure Serach
NetBaires 2018 - Azure SerachNetBaires 2018 - Azure Serach
NetBaires 2018 - Azure Serach
 
NetConfUy 2018 - Azure B2C
NetConfUy 2018 - Azure B2CNetConfUy 2018 - Azure B2C
NetConfUy 2018 - Azure B2C
 
NetConfCo 2018 Azure B2C
NetConfCo 2018  Azure B2CNetConfCo 2018  Azure B2C
NetConfCo 2018 Azure B2C
 
.Net core multiplataforma. sera verdad???
.Net core multiplataforma. sera verdad???.Net core multiplataforma. sera verdad???
.Net core multiplataforma. sera verdad???
 
Net conf ar v2018 start up
Net conf ar v2018 start upNet conf ar v2018 start up
Net conf ar v2018 start up
 
DevDayAr de Junior a Sernior ¿Cual es el camino?
DevDayAr de Junior a Sernior ¿Cual es el camino?DevDayAr de Junior a Sernior ¿Cual es el camino?
DevDayAr de Junior a Sernior ¿Cual es el camino?
 
Net conf uy 2017 type script
Net conf uy 2017   type scriptNet conf uy 2017   type script
Net conf uy 2017 type script
 
DevOps - TechNights
DevOps - TechNightsDevOps - TechNights
DevOps - TechNights
 
Azure Microsft Cognite Service
Azure Microsft Cognite ServiceAzure Microsft Cognite Service
Azure Microsft Cognite Service
 

Último

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
 
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
 
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
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Último (20)

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
 
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
 
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
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
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
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
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
 
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
 
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
 
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.
 
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...
 
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
 
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
 
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
 
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
 
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
 

vOpenUy: Construye tu aplicación Multi-Tenant

  • 3.
  • 4. ¿Qué es una aplicación Multi-Tenant? ● Construir una aplicación basándonos en SaaS (Software as a Service) ○ Básicamente aplicaciones que accedemos por una suscripción, en su gran mayoría, accedida desde internet. ○ Ejemplo: Office 365, Dropbox, Jira Cloud. ● Única instancia de la aplicación puede servir a varios clientes. ● Multi-Tenancy es un concepto para soluciones en la nube. ● Proporciona aislamiento de datos entre lo clientes. ● Cada vez mas popular es hacia onde va el mundo ○ XaaS (lo que sea como servicio)
  • 5. Características de los inquilinos ● Cada inquilino tiene una identidad especifica. ● La aplicación se comporta de manera diferente para cada inquilino dependiendo de: ○ Interfaz de usuario. ○ Parámetros de configuración. ○ Datos propios. ○ Funcionalidad individual y propiedades no funcionales. ○ Comportamientos específicos. ● Cada inquilino debe solo acceder a su información o recursos.
  • 7. Conceptos: 2 Básicos Utilizamos una estrategia de identificación (o resolución) de inquilinos para averiguar con qué inquilino esta consumiendo. Una estrategia de acceso a datos del inquilino descubrirá la forma de recuperar (y almacenar).
  • 8. Estrategias para Identificar Encabezado del host El inquilino será inferido por el encabezado del host enviado por el navegador al acceder a la aplicación Cadena de consulta Se utilizará un parámetro de cadena de consulta para distinguir entre los diferentes inquilinos, por ejemplo, " ? Tenant = abc "; probablemente útil solo para fines de desarrollo o prueba IP de origen Ees posible que desee que las solicitudes que se originan en las mismas IP obtengan el mismo inquilino todo el tiempo
  • 10. Compartiendo todos los recursos Datos App Hosting / Services Datos App Hosting / Services Tenant 1 Tenant 2 Tenant 3 Tenant 4
  • 11. Compartiendo algunos de los recursos Storage CDN App Hosting SQL Database Storage Cache Tenant 1 Tenant 2
  • 12. Sin compartir recursos CDN App Hosting Storage Tenant 1 CDN App Hosting Storage Tenant 2
  • 14. Standalone App ● Permite implementarse en la suscripción del cliente. ● Mayor nivel de aislamiento, pero es la opción mas costosa. ○ No se puede compartir recursos entre varios inquilinos. ● Es perfecto para aplicaciones complejas. ● Los inquilinos son mas simple de personalizar.
  • 15. Una base de datos por inquilino ● Pefecto para situaciones donde temenos Proveedores de servicios que se ocupan del aislamiento. ● Permite ejecutar servicios centralizados como recursos compartidos reduciendo costos. ● Todas la bases de datos se administran de forma central. ● Se utiliza una base de datos de catalago para la parametrización de los inquilinos y sus bases.
  • 16. Multiples particiones ● Mejor opción para costos reducidos por inquilino siempre que el aislameiento sea reducido ● Permite empaquetar gran cantidad de inquilinos en una base de datos. ● Escalamiento casi infinito. ● Al igual que la anterior tiene una base catalogo.
  • 17. Como elegir el modelo adecuado ● Escalabilidad: ○ Número de inquilinos. ○ Almacenamiento por inquilino. ○ Almacenamiento de forma agregada. ○ Carga de trabajo. ● Aislamiento de inquilinos: aislamiento de los datos y rendimiento (si la carga de trabajo de un inquilino afecta a otros). ● Costo por inquilino: costos de la base de datos. ● Complejidad de desarrollo: ○ Cambios en el esquema. ○ Cambios en las consultas (requeridos por el patrón).
  • 18. Como elegir el modelo adecuado ● Complejidad operativa: ○ Supervisión y administración del rendimiento. ○ Administración del esquema. ○ Restauración de un inquilino. ○ Recuperación ante desastres ● Capacidad de personalización: facilidad para admitir las personalizaciones del esquema que son específicas del inquilino o específicas de la clase de inquilino.
  • 19. Código ¿Que necesitamos en nuestras clases?
  • 21. Service Providers ● Detectar en inquilino actual. ● Obtener las partes necesarias de la aplicación con la información. ● Permitir múltiples implementaciones. ITenanProvider DBTenantProvider FileTenantProvider BlobTenantProvider HttpTenantProvider
  • 22. Middleware Multi-DBContext ● Administrar todos los tipos de solicitudes y encargados de poner en contexto del inquilino a la aplicación. ● Redireccionamiento de paginas, contenidos, o recursos. ● Manejo de errores tanto de negocio como de infraestructura. ● Nos proporcionara el context de base de datos para para tenant. ● Las operaciones CRUD ● Chequeo de operaciones cruzadas entre tenants / inquilinos ● El proveedor de datos debe ser agnóstico.

Notas del editor

  1. La foto se puede omitir, Si se quiere sumar pueden ir a “Replace Image” y si usan una foto cuadrada - redes sociales - no van a tener problema
  2. La foto se puede omitir, Si se quiere sumar pueden ir a “Replace Image” y si usan una foto cuadrada - redes sociales - no van a tener problema
  3. La foto se puede omitir, Si se quiere sumar pueden ir a “Replace Image” y si usan una foto cuadrada - redes sociales - no van a tener problema