Multi-tenencia: ¿cómo soportar múltiples clientes en tu aplicación?

Поделиться
HTML-код
  • Опубликовано: 30 июл 2024
  • El video definitivo sobre multitenencia! Hablaremos de qué trata, cómo puedes organizar los datos y también discutiremos los patrones de arquitectura y diseño que te ayudan a implementarla.
    Patrón de arquitectura microkernel
    • Patrón de arquitectura...
    MIS CURSOS
    🧹 Arquitecturas Limpias para Desarrollo de Software: platzi.com/l/manuelzapata
    📐 Arquitectura de Software: manuelzapata.co/ars
    🔌 Patrones de Diseño: manuelzapata.co/curso-pdd
    📦 Programación Profesional con Objetos (Gratis): manuelzapata.co/objetos
    🌲 Principios de Diseño SOLID (Gratis): manuelzapata.co/mcp
    🙌 Hazte miembro del canal: / @manuelzapata
    🌎 Mi sitio web: manuelzapata.co
    🎦 Suscríbete al canal: manuelzapata.co/suscribete
    📩 Mi lista de correo: manuelzapata.co/lista
    #ManuelZapata #MultiTenencia #Cliente #Aplicación
  • НаукаНаука

Комментарии • 138

  • @AlexAcostaB
    @AlexAcostaB 3 года назад +3

    En una ocasión para un cliente integré un pasarela de pagos online en México en su plataforma que funcionaba de maravilla. Hasta que llegó un momento donde, por decision de negocio, se optó por cambiar de proveedor y tuve que migrar a otra pasarela y con ello las implementaciones a nivel de la plataforma. Gracias a que había definido un Adaptador y Fábrica, la migración no tuvo mayor complicación. La fábrica generaba las instancias según la interfaz que el adaptador arrojaba y el resto de las implementaciones funcionaban sin afectaciones por la migración.
    Genial tu video, Manuel.
    Saludos.

  • @cmarsiglia
    @cmarsiglia 3 года назад +2

    He diseñado una aplicación web Multi-tenant, única aplicación con múltiples bases de datos(DB) y los retos fueron los siguientes:
    1- Crear la DB por cada tenant registrado en la aplicación.
    - En este punto tengo una clase que crea al tenant, y usuario de acceso a la DB para finalmente con los datos anteriores ejecuta migraciones del tenant.
    2- Para acceder a la DB del tenant, al iniciar sesión se valida información de conexión para ver sus datos.
    3- Se dice que actualizar la estructura de DB es complejo y es verdad, pero logre crear una clase que al hacer login se obtienen los datos de conexión hacia la DB del tenant, uso esa información para validar que migraciones están pendientes y ejecutarlas de ser necesario, esto ayuda a no generar updated de la DB de forma masiva sino por demanda cada vez que inicia sesión el tenant o los usuarios pertenecientes al tenant.
    ¡En cuanto al vídeo muy bien explicado!

  • @williand.529
    @williand.529 3 года назад

    Excelente contenido, gracias por compartir tus conocimientos.

  • @noeliafernanda1061
    @noeliafernanda1061 7 месяцев назад +1

    Hola, buen video 👍🏽
    Una consulta, tendrás un vídeo o sabrás de una web o vídeo sobre la elaboración de una base de datos multi tenant (para un Saas), es decir de un caso o negocio completo..??? 🤔🤔🤔

  • @diegotorres50
    @diegotorres50 3 года назад +1

    Muchas gracias Manuel, seria genial que hablaras un poco para complementar sobre las tecnologías que facilitan este tipo de implementacion, que d hecho existen evitando hacer de cero lo que nos compartes y se adecuan a distintos tipos de lenguajes, gracias de nuevo

  • @eduardojosegarcia258
    @eduardojosegarcia258 2 года назад

    Gracias, muy instructivo

  • @nelsongomez8547
    @nelsongomez8547 2 года назад +4

    Hola Manuel excelente contenido, te felicito.
    Tienes algun video en donde demuestres como implementar lo expuesto en el video? Por ejemplo .net core y c#
    A la espera de tu valiosa respuesta.

  • @Magistrado1914
    @Magistrado1914 3 года назад

    Excelente vídeo
    Visto en 08/11/2020

  • @emiliowildberger7151
    @emiliowildberger7151 2 года назад

    Gracias, me ayudas muchísimo

  • @adrianvega3148
    @adrianvega3148 3 года назад

    Muy buen video, me gusta este tipo de contenido

  • @ksantacruz
    @ksantacruz 5 месяцев назад

    Gracias por el video a mi me tocó implementar multitenant con .NET aplicamos IdentityServer y RBAC. Se creó un middleware para gestionar los contextos y con eso se conocía a BD apuntar

  • @dev.martin6156
    @dev.martin6156 4 года назад +1

    Excelente, gracias por compartir tus conocimientos, me ayuda mucho a tomar una decisión

  • @oscarbarajas3610
    @oscarbarajas3610 3 года назад +12

    Excelente contenido Manuel. Para este tema, deberías haber un video del cómo lidiar en las peticiones REST para un multi tenencia. Qué tengas un excelente día!

    • @elvargas1327
      @elvargas1327 3 года назад

      @Manuel Zapata

    • @JIDiaz
      @JIDiaz Год назад +1

      Lo que pasa es que todo parte de un modelo de negocio central. A raiz de eso tu dibujas tus modelos principales. Ejemplo si desarrollas un software multitenant para gestión académica, vas a requerir conocer cuales son tus procesos de negocio central, registrar notas, subir tareas, pagar en línea, etc. Al final del día esos procesos serán representados por endpoints. Pero los servicios hacen uso de implementaciones diferentes dependiendo el tenant. Es por eso que se nombran mucho algunos patrones estructurales o comportamiento para estas labores, porque de lo contrario terminarias haciendo un montón de validaciones para ejecutar reglas de negocio por cada inquilino.

    • @JIDiaz
      @JIDiaz Год назад +1

      El endpoint sigue siendo el mismo, pero dependiendo el tenant se comporta diferente. Fin

  • @douglasperez3701
    @douglasperez3701 3 года назад

    Muy buen video, exitos

  • @Peligroficial2
    @Peligroficial2 12 дней назад

    Que crack muchas gracias.

  • @OswaldMoreno
    @OswaldMoreno 4 года назад

    Muy buen vide, bien claro sencillo de entender y directo al punto

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Gracias por el feedback, Oswald!

  • @josevicente632
    @josevicente632 4 года назад

    Excelente!!! ...gracias por el aporte

  • @ing.nelsonsantamaria9913
    @ing.nelsonsantamaria9913 3 года назад

    Hola, excelente video, quisiera saber que tan buena o mala seria la multitenencia en un patrón de microservicios??

  • @jesusalejandro2911
    @jesusalejandro2911 3 года назад

    Hola Manuel, excelente aporte sobre todo los patrones de arquitectura y diseño.
    Tengo una consulta sobre implementacion para acceder a las base de datos por cliente (estoy con la opcion 2 Separada (Isolated)) internamente en mis token tengo un identificador unico por cliente el cual uso para consultar en una tabla tenant sus datos de conexion hacia su base de datos,
    Este seria los paso, 1) acceso a mi DB princical tabla tenant y obtengo los datos de conexion, 2) cierro esa instancia y creo una nueva para este cliente, 3) conculta a realizar.
    Estoy usando un ORM, mi pregunta es; lo estoy bien o hay una forma mejor de aplicar esto?

  • @cristobalcifuentes8149
    @cristobalcifuentes8149 Год назад

    tus videos siempre que busco algo son de mucha ayuda. muchas gracias

  • @JuanCarlosChoqueQuispe
    @JuanCarlosChoqueQuispe 4 года назад

    Muy buena la explicación, gracias!!

  • @oscargarcia1851
    @oscargarcia1851 2 года назад

    Hola Manuel, muchas gracias por compartir este tipo de videos!
    Quería saber si me puedes compartir por favor más recursos, cursos o información para saber cómo comenzar a implementar esto en una aplicación. Muchas gracias!!

  • @dvdcampos17
    @dvdcampos17 3 года назад

    Muy buen video. Recomiendas algún libro, sitio o curso para aprender a desarrollar multi-tenencia ? En mi caso estoy desarrollando una aplicación .Net Core 3 + Angular 8 y me interesa saber como pudo implementarlo.

  • @TechieGuy79
    @TechieGuy79 4 года назад

    gracias Manuel, justo hoy leyendo documentacion en ingles de cosmos db me dejaba la duda sobre multitenant. A buen momento encontre tu video

  • @travko1833
    @travko1833 4 года назад

    excelente muy bien explicado. es justo como lo tengo configurado, agregar además que tuve que crear un sub tenant, es decir un sub cliente o sucursal (distinta region) porque comparten datos

  • @diegoalejandroh6139
    @diegoalejandroh6139 8 месяцев назад

    gracias

  • @paulvalencia9243
    @paulvalencia9243 4 года назад

    Gracias excelente video

  • @Daviidscovers
    @Daviidscovers 2 месяца назад

    Excelente video, quiza seria bueno expandir el multitenant por esquemas.

  • @flaviodias8542
    @flaviodias8542 4 года назад

    Excelente video Manuel.

  • @develpers
    @develpers 14 дней назад

    Haz un project multitenant partiendo de esta teoria seia genial aprender de ti la forma en como nos brindas enseñansas

  • @Algedibarrios
    @Algedibarrios 4 года назад +1

    Gracias Manuel! Super útil este video!! Claro y conciso además👍

    • @Algedibarrios
      @Algedibarrios 4 года назад

      Además describes un problema a los que nos enfrentamos con mucha frecuencia cuando queremos crear un producto que sirva a muchos clientes y hacer la menor cantidad de cambios posibles.

    • @Algedibarrios
      @Algedibarrios 4 года назад

      Y además muestras las posibles soluciones.

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Gracias por la retroalimentación positiva, Algedi!

  • @MegaJeanpierr
    @MegaJeanpierr 23 дня назад

    Excelente video. Alguien sabe si sería útil el uso de Keycloack para el desarrollo en este tipo de infraestructura?

  • @danielvera4661
    @danielvera4661 4 года назад

    Muy buen video manuel, he estado trabajando en un sistema asi pero un poco desorganizado y no entendia. tu video me ayudo a enteder y aplicar estrategias para mejorar ese sistema o programar uno nuevo aplicando los puntos que mensionaste

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Que bacano eso que me comentas. Saludos Daniel!

  • @daviscruz1101
    @daviscruz1101 4 года назад +2

    Excelente, este canal debería tener muchos mas suscriptores 😜

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      De acuerdo contigo, David! Ahí vamos.

  • @leviatanMX
    @leviatanMX 4 года назад

    Excelente video, tengo en mente un proyecto que voy a necesitar soportar multiples clientes

  • @LeonardoAngel3000
    @LeonardoAngel3000 4 года назад

    Gracias por el video, me suscribo si me ayudas a las dudas que tenga

  • @chacatico
    @chacatico 3 года назад

    gracias por la info, excelente trabajo, siempre pensé que tenant significaba inquilino y por eso sería multi inquilino y no multitenencia pero es bueno aclarar que al español también se puede decir. explicas muy bien, sigue con el excelente trabajo, tienes un subscriptor +

    •  3 года назад +2

      De hecho si va por multi-inquilino, lo que pasa es que con la tropicalizacion del ingles, queda tenencia, pero para no generar controversia, ambas cosas llegan a ser lo mismo para efectos practicos

  • @julianvargas228
    @julianvargas228 7 месяцев назад

    El más claro 👏🏻👏🏻

  • @trex3612
    @trex3612 3 года назад

    Hola excelente video no lo había encontrado. Estoy desarrollando en PHP y Codeigniter. Este framework es MVC pero en el camino nos perdemos tienes un curso para desarrollo web app.

  • @cuentadeyoutuization
    @cuentadeyoutuization 3 года назад

    Excelente contenido!

  • @jaajcade
    @jaajcade 4 года назад +4

    Justo en mi trabajo existe ese problema... El código es spaghetti ... Gracias por el contenido, estudiaré los patrones que mencionas para implementar en mi trabajo

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Excelente Jaime! Cualquier duda, por aquí a la orden.

  • @ricardocorralesduque1485
    @ricardocorralesduque1485 4 года назад +1

    Muchas gracias Manuel. Excelentes tus vídeos, son muy claros y explicas muy bien. Te pregunto algo, cómo se podría implementar una arquitectura multitenan con microservicios? Podrías hacer un vídeo explicando un poco esto? . Gracias.

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Sería muy similar a como si la aplicación fuera monolítica. Saludos Ricardo!

  • @-trycatch-
    @-trycatch- 4 года назад

    Yo trabajo en un proyecto para un sistema multitenecia y este video me cae perfecto ya que no conocía todos los conceptos que mensionas, pienso que otro patrón útil puede ser el patrón builder para cuando queremos crear un objeto personalizado que puede tener muchas configuraciones.

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Tienes mucha razón @Try Catch. El builder también puede ser muy útil.

  • @armandomartinez443
    @armandomartinez443 3 года назад +1

    Gracias excelente contenido, vengo por recomendacion de yesi days

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Bienvenido Armando! Gracias por compartirme el dato de que Yesi te sugirió el contenido.

  • @emmanuels.r9957
    @emmanuels.r9957 4 года назад

    Tocas temas muy buenos e interesantes. Yo siempre he tenido problemas con usuarios roles y permisos cómo modelar la bd y crear la lógica de la app si pudieras hacer un video sobre ello te estaría agradecido.

    • @ManuelZapata
      @ManuelZapata  4 года назад +2

      Te voy a dar una opinión un poquito controversial: yo no programaría el módulo de usuarios y roles. Yo usaría algo que ya está hecho. Tanto frameworks como herramientas como Auth0 hacen eso mil veces mejor de lo que nosotros podríamos.
      Ahora, si en realidad lo quieres hacer desde cero, te comparto este vídeo de mi colega @hdeleon.net: ruclips.net/video/Xrbl6Xgmi-Q/видео.html

  • @shk.mexico
    @shk.mexico 7 месяцев назад

    Tendras un curso de la 2 opcion?

  • @diana_nerd
    @diana_nerd 3 года назад

    Se me ocurre que también se podría tener un sistema de BD híbrido en el que haya 1 DB para los datos de NUESTRO negocio (que es dar el servicio), y 1 DB por cliente para los datos de SU negocio. Así incluso podría cada cliente tener sus configuraciones y reglas de negocio en su DB.

  • @bryantbaldallaque814
    @bryantbaldallaque814 4 года назад +1

    Excelente video... Tienes un video de. Como. Hacer el multi tenancy en core 3.1

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Hola Bryant, no lo tengo. Pero con las explicaciones acerca de como modelar las tablas y la BD, debería ser un proceso sencillo.

  • @chackycrypto
    @chackycrypto 4 года назад

    Manu! Excelente tu video, súper claro! Tengo una duda, esta es la arquitectura que por ejemplo utiliza Shopify? Para poder registrar clientes de manera “automática” ? Gracias !

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      Excelente pregunta, Damian! No conozco los detalles de cómo esté implementada esa parte de Shopify, pero seguro por ahí va la cosa.

  • @giuliuploader
    @giuliuploader 2 года назад

    Mí ejemplo más común es que tuve que desarrollar un sistema para varias sucursales de una empresa..donde tienen mínimo un usuario o PC por sucursal a veces mas

  • @jorgegomez2629
    @jorgegomez2629 4 года назад

    Excelente vídeo, muchas gracias!
    Respecto a la estrategia de repositorio de datos para aplicaciones multitenant, hay una sobre la que he estado investigando últimamente y es el data sharding; el cual permite escalabilidad (horizontal) y data isolation por tenant, según sea implementado.
    Saludos!

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Gracias por tu aporte Jorge. El sharding es muy potente!

  • @jklmg10
    @jklmg10 4 года назад

    Hola Manuel, como aporte, para implementar "multitenencia" también hay que considerar temas de seguridad de los datos, personalmente me toco participar en un proyecto donde un requisito era ser "HIPPA compliant", por lo cual cada base de datos de cada cliente, tenia que estar totalmente separada y cumplir ciertos estandares adicionales. Saludos desde La Paz, Bolivia

  • @gonzasotocastro
    @gonzasotocastro 4 года назад +2

    Hola Manuel , en realidad no tengo experiencia sobre este tema , tendrias links donde podria informarme mas. Gracias buen contenido

    • @ManuelZapata
      @ManuelZapata  4 года назад +3

      Con el vídeo ya tienes un buen contexto sobre el tema, Onasis. Profundizar en el tema depende del reto particular que tengas: bases de datos, escalabilidad, reglas de negocio, entre otros.

  • @marioolivera2843
    @marioolivera2843 11 месяцев назад

    Hola manuel muchas gracias por tu explicación. Entiendo de que va todo, pero sigo sin saber que me convendria hacer en mi caso. Estoy desarrollando un sistema, el cual voy a vender a varios clientes, por un lado estoy con tecnologia Next JS, y como API PHP, que estoy pensando si usar php puro o laravel como api. El sistema va a ser un sistema administrativo, a nivel de recursos de procesamiento, generar archivos pdf creo seria una de las funcionalidades que demande un poco mas de procesamiento, pero despues no creo que consuma muchos recursos. La DB seria Mysql, ahora... No tengo idea que cantidad de clientes puedo llegar a captar. Si un sistema llega a tener 8000 clientes, sistema sencillo, querys dentro de todo sencillas, y solo generacion de archivos pdf por ejemplo, a que debo apuntar? Y como manejas el almacenamiento (archivos subidos por el cliente) total de informacion? Me da mucha duda el semejante peso que puede llegar a tener una db con todos los datos de los clientes.

  • @jose21francisco
    @jose21francisco 2 года назад

    una pregunta estoy empezando con node tengo una pequeña api pero no entiendo como podria conectarme a diferentes base de datos dependiente de cliente como lo hago tendran un curso o alguien podria darme asesoria??

  • @fernandopoveda5485
    @fernandopoveda5485 3 года назад

    Debo crear un capa Domain y Application por cada cliente?

  • @aguileraq
    @aguileraq 2 года назад

    Excelente video, tengo una duda sobre llevarlo a practica... por ejemplo, ¿que tipo de dato debería de ser un campo *tenant_id* ?

    • @yeanurdaneta736
      @yeanurdaneta736 2 года назад +1

      Hola. Nosotros en nuestros desarrollos multitenant usamos Guid para los caso de tenantid.

  • @oliverdjbrown
    @oliverdjbrown 4 года назад

    Manuel, ¿existe algun tipo de documentación que se pueda consultar sobre patrones de diseño dependiendo del tipo aplicaciones que queremos crear?

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Hola OAntu! No que yo sepa. Los patrones de diseño los usas para problemas puntuales en tu código, no para un sistema completo como tal. Por eso no estoy seguro que exista. Saludos!

  • @albertonavarroperez3686
    @albertonavarroperez3686 2 года назад

    Hola Manuel, excelentes videos, me han servido mucho, solo una pregunta, en la empresa donde trabajo hay varias plataformas, una desarrollada con laravel, la otra con c# devExpress, otra con angular y la ecommerce que está con Magento, mi pregunta sería, ¿Cual o cómo sería la mejor forma para hacer que entre todas las plataformas y servicios mencionados se usen un solo login, osea centralizar el login mismo usuario y contraseña para todas las plataformas ?

    • @JIDiaz
      @JIDiaz Год назад

      Valla hace un año yo tenía esa misma duda. Con una plataforma multitenant y varios aplicaciones separadas. Quizás a estas alturas sepas la respuesta, pero básicamente necesitas un single sign on, existe soluciones en la nube para eso, no recomiendo implementaciones propias, se puedén cometer varios errores y problemas de vulnerabilidad.

  • @juandavidreina9696
    @juandavidreina9696 3 года назад

    Buen video, muy educativo... pregunta, esos patrones de diseño don aplicables a cualquier lenguaje de programación? Por ejemplo, JS? De antemano, muchas gracias!

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      En cualquier lenguaje orientado a objetos los puedes implementar. Saludos!

    • @juandavidreina9696
      @juandavidreina9696 3 года назад

      @@ManuelZapata Muchas gracias!

  • @AbrahamJLR
    @AbrahamJLR 4 года назад

    Muy buen vídeo amigo, una pequeña consulta: sí presento una aplicación web donde mi lógica de negocio está siendo trabajada en una única API con una única Base de Datos, pero a su vez el API está trabajando con control de versiones en caso de que uno o más cliente requieran nuevas características, ¿entraría en el concepto de Multi-tenencia?

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Esa es una excelente pregunta Adrian. La multi-tenencia normalmente está asociada a los datos. Ya a nivel de funcionalidad, puedes explorar patrones de diseño o patrones de arquitectura.

  • @TheSolopop
    @TheSolopop 3 года назад

    Me encanta! En donde has aprendido todo esto que sabes?

    • @ManuelZapata
      @ManuelZapata  3 года назад

      🙌 En muchos lugares, Keiny. Estudiando y en la práctica. Saludos!

  • @tecnologiawebinteligente4565
    @tecnologiawebinteligente4565 4 года назад

    Hola Manuel .. tienes algún curso de tenancy..saludos

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Hola! No, no tengo curso sobre el tema.

  • @eriksonsamayoa2529
    @eriksonsamayoa2529 3 года назад

    Ahora, como puedo aplicar la opción número 2 ?

  • @alexo2537
    @alexo2537 4 года назад

    Hola pregunta, es posible darle un prefijo a los clientes por ejemplo 1-egahuxhuah; 2-jhshjhlas etc

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Por supuesto. Tu tienes la libertad de identificar los clientes como consideres más apropiado.

    • @alexo2537
      @alexo2537 4 года назад

      @@ManuelZapata Y como por donde podría configurar eso, es que soy re novato con esto del tenant y mientras creo al cliente por comando y en la Base de datos me lo crea con caracteres cifrados que no entiendo en que ira

  • @davidpccode
    @davidpccode 3 года назад +1

    Hola. La estrategia híbrida que propones es confusa, una BD por cliente pero a la vez con un tenanId? Si te entendí bien? si es así.. no tiene mucho sentido. De hecho la estrategia mas optima en mi concepto es el de esquemas, pues funciona con un aislamiento tan alto como tener BD separadas (también te libras de estar filtrando por un tenantId que es peligrosisimo) con el bajo costo y optimización de una columna tenantId en las tablas. El problema que dices de mantener las tablas actualizadas tanto para la estrategia de BD x tenat como Esquema x tenat es el mismo y se resuelve creando un un script muy bien hecho multi thread que sea capaz de ejecutar los cambios en todos los esquemas/bd tan rápido como sea posible, nosotros corremos scripts de actualización de varios cambios DDL en uno o dos minutos afectando 2000 esquemas cada una con 300 tablas aprox (600,000 tablas en total)

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      Hola David. Interesantisimo el caso que comentas y como han logrado escalar esos scripts de actualización.
      El esquema híbrido puede ser útil en esos puntos donde hay incertidumbre y no sabes cómo puedan crecer los datos de ciertos tenants. Pero ciertamente trae complejidad adicional.
      Gracias por tu aporte!

  • @efrainespaderocanaviri2741
    @efrainespaderocanaviri2741 2 года назад

    Te agradeceria mucho si pudieras recomendarme un libro que implemente o oriente sobre esta arquitectura.

    • @ManuelZapata
      @ManuelZapata  2 года назад

      A quien he visto compartir más información sobre multi-tenencia es Salesforce. Más allá de eso, no tengo un libro recomendado.

  • @raul7254
    @raul7254 4 года назад

    Harías un video sobre escalar aplicaciones web y usuarios concurrentes

    • @ManuelZapata
      @ManuelZapata  4 года назад +3

      Pues mira que justo andaba pensando en hacer un live sobre el tema 🤔

  • @gussware4177
    @gussware4177 4 года назад

    Amigo por casualidad no haces vídeos en udemy o platzi o en alguna plataforma ??? de vdd pagaría lo que fuera por un taller avanzado sobres todo lo que acabas de mencionar en este vídeo.

    • @ManuelZapata
      @ManuelZapata  4 года назад +3

      Gracias Guss! Motivan tus palabras!

  • @JoseDlucca
    @JoseDlucca 2 года назад

    En el caso de una DB por cliente, si tenemos una tabla con información que debe estar disponible para todos los tenants (digamos, una tabla de países). Cuál sería la mejor manera de compartir ese recurso? Tener la tabla en todos los tenants y replicar la información?

    • @yeanurdaneta736
      @yeanurdaneta736 2 года назад

      Si es una tabla en común con datos que no cambien o que controles directamente tu como negocio, como países o estados por ejemplo es una sola tabla a la que van a consultar todos tus tenant pero sin permitirles borrar o editar. En el caso que los tenant puedan modificar la información entonces tienes que igualmente a tu tabla de países agregarle un tenantid y que cada cliente administre la información. Lo que podrías es cuando creas un tenant le inyectas a esa base de datos unos valores básicos y que luego el cliente los personalice

    • @JoseDlucca
      @JoseDlucca 2 года назад

      @@yeanurdaneta736 gracias por tu respuesta. Justamente pensaba en eso, que la tabla países debiese ser una sola tabla que los demás tenants consulten a ella. Pero eso me crea otra duda, que pasa con las claves foráneas? Si voy a insertar un registro en un tenant haciendo referencia al país, no tendría posibilidad de implementar una clave foránea.
      Existe una manera de mitigar este problema o es un sacrificio que hay que hacer al momento de trabajar con esta arquitectura?

    • @yeanurdaneta736
      @yeanurdaneta736 2 года назад

      La clave foránea iría contra la tabla de países. Lo único es que tendrías que quitarle que se borre en cascada para evitar eliminar datos sin querer. Pero en teoría no debería hablar problemas con eso. Seria cosa de probar y ver si se adapta a lo que realmente estás buscando hacer.

  • @JIDiaz
    @JIDiaz Год назад

    En mi experiencia metiendome con esta arquitectura dañando erp's, yo pienso que el problema no es desarrollarlo si no desplegarlo y escalarlo. Porque la plataforma a final del día escala como un monolito, y eso ya no es bueno para sistemas grandes que siempre deben estar disponibles. Por lo que quizás la mejor solución sea otra, tal vez combinandola con una arquitectura orientada a servicios. Además de que esta arquitectura puede resultar si el sistema es de 0, no en sistemas legados. Ahi lo único que te queda es microserviciar.

  • @elbranching
    @elbranching 3 года назад

    12:22 Manuel, esto NO es solo una pésima practica, es "Sacrilegio"
    estuve trabajando para una empresa en la que se hacia esto para diferentes clientes y el mantenimiento era un infierno.
    Nunca lo hagan!

  • @giuliuploader
    @giuliuploader 2 года назад

    Nunca había escuchado la palabra multi tenencia..pero sería multiusuario o concurrencia..

  • @MarkTin2000
    @MarkTin2000 4 года назад

    Esti tipo de aplicaciones es buena pero pienso que tiene mas contras que pros.

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Cuáles son las desventajas más grandes que le ves, @Majestic Gold?

    • @MarkTin2000
      @MarkTin2000 4 года назад

      @@ManuelZapata el rendimiento de la aplicación puede verse afectado cada que un usuario crece más que otro. Y respecto al costo me parece que solo en un principio puede verse como un ahorro sin embargo al paso del tiempo y al ir creciendo la BD los costos van a crecer más rápido.

    • @nelsonscript
      @nelsonscript 4 года назад

      @@MarkTin2000 no es tan así si tienes lo combinas con una arquitectura de microservicios donde escale según la demanda de la aplicación y soportado por un buen proveedor en cloud.

  • @ahelord
    @ahelord 2 года назад

    Tenant es inquilino no tenedor.

    • @ManuelZapata
      @ManuelZapata  2 года назад

      Inquilino suena mucho mejor. Gracias por la corrección.

  • @MarcosHernandez_VE
    @MarcosHernandez_VE 3 года назад

    Multi-tenencia??? 🤔 creo que ese nombre fue inventado por este canal jajajaja

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      jejeje ya quisiera yo atribuirme el nombre.

    • @MarcosHernandez_VE
      @MarcosHernandez_VE 3 года назад

      @@ManuelZapata jajajaja se que no, sólo lo dije en broma

  • @ComisarioLobo
    @ComisarioLobo 4 года назад

    Tienes buen contenido, pero tienes que dejar de decir LISTO cada 10 segundos

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Gracias por el comentario. Ya me lo habian hecho notar. Estoy trabajando en corregir la muletilla. No siempre es fácil.

    • @ComisarioLobo
      @ComisarioLobo 4 года назад

      @@ManuelZapata perfecto Manuel, sigue adelante con el canal ya que hay muy poco contenido de arquitectura de software

  • @DamCipolat
    @DamCipolat 2 года назад

    Excelente video, gracias por compartirlo!