SlideShare uma empresa Scribd logo
1 de 25
2019
Netcoreconf
Como crear apps multitenant
en Azure
Adrián Díaz Cervera @AdrianDiaz81
Sergio Parra Guerra @sparraguerra
Sponsors
Nosotros
http://blogs.encamina.com/desarrollandosobresharepoint
@AdrianDiaz81
http://blogs.encamina.com/piensa-en-software-desarrolla-en-
colores/
@sparraguerra
Agenda
• ¿Qué es una aplicación Multitenant?
• Cómo poder hacerlo en Azure
• Autenticación
• Base de Datos
• Otras consideraciones
• Demo
• Preguntas
#netcoreconf
Qué es una aplicación Multitenant
Qué es una aplicación Multitenant
arquitecturadesoftware
L
Las empresas alquilaban CPU entre varias para procesar los datos de sus clientes
para reducir costes. Era … 1960
Los proveedores de servicios de aplicaciones tradicionales (ASP) alojaron
aplicaciones (en ese momento) en nombre de sus clientes.
Aplicaciones web populares orientadas al consumidor (como Hotmail) desarrolladas con una única
instancia de aplicación que sirve a todos los clientes
• Optimizar el uso de los recursos
Optimización
de recursos
• Actualizar una sola instancia
• Mejoras de inmediato en todos
los clientes
• Posibilidad de datos agregados
Actualización
• Todo el mundo se entera
• Single Failure => Anillos de
actualización
Fallos
A valorar
#netcoreconf
Autenticación
Requiere que el URI de id. de aplicación sea único a nivel global
Actualizar :
del código para enviar solicitudes a /common
el código para administrar varios valores issuer
Consentimiento del Administrador
DEMO TIME
#netcoreconf
Base de datos
Tipos de Patrones a utilizar
App
Sharded Multi-tenant Database
Tenant C
Catalog
Tenant
C
Tenant
B
App
Tenant
M
Catalog
Tenants
A,B,C,D
Tenant
A
Tenants
E,F,J,K
Standalone App Database per Tenant
Tenant B
Tenant
DB
App
Tenant A
Tenant
L
Standalone App Database per tenant Sharded Multi-tenant
Scale High
1-1000s
Very high
1-100,000s
Unlimited
1-1,000,000s
Database cost–per tenant High (sized for peaks) Low (using pools) Lowest (small tenants)
Tenant isolation Very High High Low (high for singletons)
Performance
monitoring/mgt.
Per-tenant Aggregate + per-tenant Aggregate, per-tenant for
singletons only
Restore single tenant Easy Easy Hard (easy for singletons)
Disaster recovery (all
tenants)
Moderate
Many components to
recover
Moderate
Patterns address complexity
at scale
Easy (for multi-tenant dbs)
Patterns address singleton
complexity at scale
Development complexity Low Low Medium (sharding)
Operational complexity Medium-High
Individually simple,
complex at scale
Low-Medium
Patterns address complexity
at scale
Low-High
Individual tenant
management is complex
Per-tenant customization Easy Easy Complex
Comparando los modelos, que vemos …
FINAL DEMO
#netcoreconf
Más información:
info@netcoreconf.com
@Netcoreconf
Visítanos en:
netcoreconf.com

Mais conteúdo relacionado

Semelhante a Netcore Galica Como crear Apps multitenant en Azure

diseño aplicaciones de interente
diseño aplicaciones de interentediseño aplicaciones de interente
diseño aplicaciones de interente
Dmoralks
 
Open ERP e-Ghost-01-arj-jornadas estatales open erp
Open ERP e-Ghost-01-arj-jornadas estatales open erpOpen ERP e-Ghost-01-arj-jornadas estatales open erp
Open ERP e-Ghost-01-arj-jornadas estatales open erp
Open ERP Finanzas
 
Curso ofimática en la nube
Curso ofimática en la nubeCurso ofimática en la nube
Curso ofimática en la nube
pcland
 

Semelhante a Netcore Galica Como crear Apps multitenant en Azure (20)

Dynamics saturday madrid 2019 conecta business central con el mundo v2
Dynamics saturday madrid 2019   conecta business central con el mundo v2Dynamics saturday madrid 2019   conecta business central con el mundo v2
Dynamics saturday madrid 2019 conecta business central con el mundo v2
 
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
 
Power apps to the next level
Power apps to the next levelPower apps to the next level
Power apps to the next level
 
Desarrollo de Apps nativas multiplataforma con Xamarin
Desarrollo de Apps nativas multiplataforma con XamarinDesarrollo de Apps nativas multiplataforma con Xamarin
Desarrollo de Apps nativas multiplataforma con Xamarin
 
Casos exito santiago toribio almatech
Casos exito santiago toribio almatechCasos exito santiago toribio almatech
Casos exito santiago toribio almatech
 
Presentacion azure
Presentacion azurePresentacion azure
Presentacion azure
 
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
 
diseño aplicaciones de interente
diseño aplicaciones de interentediseño aplicaciones de interente
diseño aplicaciones de interente
 
Avansys-Cloud computing
Avansys-Cloud computingAvansys-Cloud computing
Avansys-Cloud computing
 
Webinario PowerApps Portals
Webinario PowerApps PortalsWebinario PowerApps Portals
Webinario PowerApps Portals
 
Open ERP e-Ghost-01-arj-jornadas estatales open erp
Open ERP e-Ghost-01-arj-jornadas estatales open erpOpen ERP e-Ghost-01-arj-jornadas estatales open erp
Open ERP e-Ghost-01-arj-jornadas estatales open erp
 
Open ERP: ¿Por qué un ERP bajo licencia libre?
Open ERP: ¿Por qué un ERP bajo licencia libre?Open ERP: ¿Por qué un ERP bajo licencia libre?
Open ERP: ¿Por qué un ERP bajo licencia libre?
 
Portal del Cliente D365 FO, D365CE, Power Platform y Dataverse
Portal del Cliente D365 FO, D365CE, Power Platform y DataversePortal del Cliente D365 FO, D365CE, Power Platform y Dataverse
Portal del Cliente D365 FO, D365CE, Power Platform y Dataverse
 
Plataforma de computacion en la nube
Plataforma de computacion en la nubePlataforma de computacion en la nube
Plataforma de computacion 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
 
Las nuevas demandas en gestión de contenidos - SOFTENG Portal Builder - IDC
Las nuevas demandas en gestión de contenidos - SOFTENG Portal Builder - IDCLas nuevas demandas en gestión de contenidos - SOFTENG Portal Builder - IDC
Las nuevas demandas en gestión de contenidos - SOFTENG Portal Builder - IDC
 
Azure | Digital Transformation with Azure Overview - 16/11/2017
Azure | Digital Transformation with Azure Overview - 16/11/2017Azure | Digital Transformation with Azure Overview - 16/11/2017
Azure | Digital Transformation with Azure Overview - 16/11/2017
 
Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft Cloud
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TI
 
Las apps
Las appsLas apps
Las apps
 

Mais de Adrian Diaz Cervera

Soluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresarialesSoluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresariales
Adrian Diaz Cervera
 

Mais de Adrian Diaz Cervera (20)

gRPC vs Rest La batalla final
gRPC vs Rest La batalla finalgRPC vs Rest La batalla final
gRPC vs Rest La batalla final
 
Autenticar y securizar API en .NET Core como un Avenger
Autenticar y securizar API en .NET Core como un AvengerAutenticar y securizar API en .NET Core como un Avenger
Autenticar y securizar API en .NET Core como un Avenger
 
Como desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico AvengerComo desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico Avenger
 
React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?
 
Global Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameGlobal Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGame
 
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
 
Dockeriza tu SQL Server
Dockeriza tu SQL ServerDockeriza tu SQL Server
Dockeriza tu SQL Server
 
Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2
 
Docker para desarrolladores .NET
Docker para desarrolladores .NETDocker para desarrolladores .NET
Docker para desarrolladores .NET
 
Helo10 Da inteligencia a tus Apps con el proyecto Oxford
Helo10 Da inteligencia a tus Apps con el proyecto OxfordHelo10 Da inteligencia a tus Apps con el proyecto Oxford
Helo10 Da inteligencia a tus Apps con el proyecto Oxford
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
 
Asp vNext Is Comming
Asp vNext Is CommingAsp vNext Is Comming
Asp vNext Is Comming
 
Gapand 2015 machine learning
Gapand 2015 machine learningGapand 2015 machine learning
Gapand 2015 machine learning
 
ALM y Office 365
ALM y Office 365 ALM y Office 365
ALM y Office 365
 
Machine learning utilizacion en redes sociales
Machine learning utilizacion en redes socialesMachine learning utilizacion en redes sociales
Machine learning utilizacion en redes sociales
 
Adrian diaz desarrollo multiplataforma en office 365
Adrian diaz desarrollo multiplataforma en office 365Adrian diaz desarrollo multiplataforma en office 365
Adrian diaz desarrollo multiplataforma en office 365
 
Extender office365
Extender office365 Extender office365
Extender office365
 
Soluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresarialesSoluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresariales
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Último (10)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
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
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Netcore Galica Como crear Apps multitenant en Azure

  • 1. 2019 Netcoreconf Como crear apps multitenant en Azure Adrián Díaz Cervera @AdrianDiaz81 Sergio Parra Guerra @sparraguerra
  • 4. Agenda • ¿Qué es una aplicación Multitenant? • Cómo poder hacerlo en Azure • Autenticación • Base de Datos • Otras consideraciones • Demo • Preguntas
  • 5. #netcoreconf Qué es una aplicación Multitenant
  • 6.
  • 7. Qué es una aplicación Multitenant arquitecturadesoftware
  • 8. L
  • 9.
  • 10. Las empresas alquilaban CPU entre varias para procesar los datos de sus clientes para reducir costes. Era … 1960 Los proveedores de servicios de aplicaciones tradicionales (ASP) alojaron aplicaciones (en ese momento) en nombre de sus clientes. Aplicaciones web populares orientadas al consumidor (como Hotmail) desarrolladas con una única instancia de aplicación que sirve a todos los clientes
  • 11.
  • 12. • Optimizar el uso de los recursos Optimización de recursos • Actualizar una sola instancia • Mejoras de inmediato en todos los clientes • Posibilidad de datos agregados Actualización • Todo el mundo se entera • Single Failure => Anillos de actualización Fallos A valorar
  • 14.
  • 15. Requiere que el URI de id. de aplicación sea único a nivel global Actualizar : del código para enviar solicitudes a /common el código para administrar varios valores issuer
  • 19.
  • 20.
  • 21. Tipos de Patrones a utilizar App Sharded Multi-tenant Database Tenant C Catalog Tenant C Tenant B App Tenant M Catalog Tenants A,B,C,D Tenant A Tenants E,F,J,K Standalone App Database per Tenant Tenant B Tenant DB App Tenant A Tenant L
  • 22. Standalone App Database per tenant Sharded Multi-tenant Scale High 1-1000s Very high 1-100,000s Unlimited 1-1,000,000s Database cost–per tenant High (sized for peaks) Low (using pools) Lowest (small tenants) Tenant isolation Very High High Low (high for singletons) Performance monitoring/mgt. Per-tenant Aggregate + per-tenant Aggregate, per-tenant for singletons only Restore single tenant Easy Easy Hard (easy for singletons) Disaster recovery (all tenants) Moderate Many components to recover Moderate Patterns address complexity at scale Easy (for multi-tenant dbs) Patterns address singleton complexity at scale Development complexity Low Low Medium (sharding) Operational complexity Medium-High Individually simple, complex at scale Low-Medium Patterns address complexity at scale Low-High Individual tenant management is complex Per-tenant customization Easy Easy Complex Comparando los modelos, que vemos …
  • 24.

Notas do Editor

  1. ADri
  2. Parra
  3. ADri
  4. Standalone App En este modelo, la aplicación entera se instala varias veces, una vez para cada tenant. Cada instancia de la aplicación es una instancia independiente, por lo que nunca interactúa con cualquier otra instancia independiente. Cada instancia de la aplicación tiene un solo tenant y, por tanto, necesita solo una base de datos. El tenant tiene la base de datos entera para él. Database per tenant Escalado horizontal y vertical. Aislamiento seguro de los datos del tenant. La personalización y optimización no afecta a otros tenant en la aplicación. Shared MultiTenant Database Económico. Compartir recursos entre varias base de datos Cuando se agregan más tenants, la base de datos se escala verticalmente con más recursos de proceso y almacenamiento. Operaciones de administración de los tenants más compleja, por ejemplo en los “restore “ de la base de datos. Los datos de un tenant pueden estar distribuidos a través de varias bases de datos o particiones. Escalado casi ilimitado, bases de datos más pequeñas que se administran con más facilidad. Pueden usarse Elastic pools. El identificador del inquilino es el elemento inicial de la clave principal de todas las tablas con particiones.