Multitenant Mystery Only Rockers in the Building by Thomas Vitale @ Spring I/O 2023

Поделиться
HTML-код
  • Опубликовано: 11 окт 2024
  • Spring I/O 2023 - Barcelona, 18-19 May
    Slides: speakerdeck.co...
    GitHub repo: github.com/Tho...
    Multitenancy is one of the pillars of modern SaaS solutions. Cloud native technologies provide scalability, resilience and cost efficiency. But we also need to ensure the proper level of isolation, security and data control among tenants. This talk will show how to do that in Java and Spring.
    Every bean has a secret. To uncover the truth, we must dive into the mysterious world of multitenancy in Spring Boot. The plot thickens as a precious guitar goes missing from a residential building housing only rockers. But something doesn’t quite add up - why is there a deafening silence?
    Join us on a thrilling journey as we explore the intricacies of multitenant applications. Together, we’ll embark on a detective mission to uncover what really happened to the stolen guitar. As we investigate, we’ll reveal the secrets of storing data safely and securely, configuring authentication and authorization, and enabling observability - all using Java, Hibernate, Keycloak, and Spring.
    Put on your detective hat and join us in solving this mystery. We need your expertise to interrogate tenants, analyze facility staff routines, and review surveillance footage. With your help, we will solve the case and bring music back to the building. Get ready to unravel the plot and learn how to implement multitenancy in modern Java applications.
    Will you join us on this thrilling adventure?

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

  • @bijeesraj007
    @bijeesraj007 Год назад +8

    This is one the best in youtube about multi tenancy . Best part is that it was the live coding instead just PPT. Thank you very much !!

  • @srinivassagit2573
    @srinivassagit2573 8 месяцев назад +1

    You saved my day, Thomas Vitale. Thank you so much.

  • @aplusphilic
    @aplusphilic Год назад +6

    Thomas Vitale is such a good presenter. Couldn’t pause the presentation.

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

    nice sharing,learn a lot

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

    I am simple man, i see Thomas Vitale i click and enjoy!

  • @masrizalw
    @masrizalw 9 часов назад

    Spring frameworld ❤

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

    Beautiful, thank you very much for your work. Excelente video, I learned a lot !

  • @51aw0m1r
    @51aw0m1r Год назад +3

    nice presentation. docker command to remove all: docker rm -f $(docker ps -a -q)

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

    Thanks @Thomas for the great presentation.

  • @FunFusionKids747
    @FunFusionKids747 Год назад +3

    Thanks @Thomas Vitale for the good presentation. But one thing I thought was missing was how is the schema for tenant created dynamically. Every time you add a tenant you can create a realm in keycloak but you need also create schema for that tenant dynamically

  • @MukeshGupta-qn6pg
    @MukeshGupta-qn6pg Год назад

    Thanks @Thomas for a great presentation. Great to see good stuff in Spring3.0.

  • @stuartistm.5727
    @stuartistm.5727 Год назад

    thanks...absolute great presentation!

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

    Excellent presentation.

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

    Great presentation

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

    Nice presentation

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

    Great talk by Thomas as always 🚀

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

    nice one.

  • @7Kubbo7
    @7Kubbo7 Год назад

    Perfect

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

    Thank you Thomas Vitale for this session. Very informative! As per the SaaS platform you've mentioned a few times as an example of a business case appropriate to multi-tenant, How do you envision the creation of schema on the fly upon new client subscription (let's say that the registration module hits the "PUBLIC" schema but specific data for each customer should be stored in their dedicated tenant)?

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

      Yeah same doubt

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

    Great presentation! thanks, I have one question, instead of using http to connect to the microservice, when using kafka/redis queue, how can we extract the tenant info

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

    How would we implement version control for database schema e.g. using liquibase or flyway

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

    Thanks Thomas Vitale. Very informative. However, I have a doubt. In Data Isolation, you say we have 3 strategies, discriminator, separate schema and separate database. I'm stuck with this thought that schema is basically a fancy name for a database. At least for non-oracle RDBMS. How does strategy 2 differ from strategy 3 on a MYSQL dB??
    I would really appreciate if someone can clear my doubts on what a schema is and how is it different from a database.

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

      A database is the actual repository that stores data, while a schema is the logical design that defines how that data is organized and structured within the database. Multiple schemas can exist within a single database, each defining a different logical organization of data. As it was mentioned in the presentation, the difference between strategy 2 & 3 is that in strategy 2 you don't require a different connection while in strategy 3 you do.

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

    what if a user needs to access to multiple tenants data with the schema and database approach?

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

      At the same time? If not, why not set the identifier instead.

  • @GameGiggles2021
    @GameGiggles2021 10 месяцев назад

    How to add tenant dynamically lets say we use schema per tenant and we have a new customer how to add schema dyanmically ornew database dynamically if we use database per tenant.?? Could you clarify please

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

      I don't see how this is possible! without redeploying everything

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

    I disaggree, discriminator for Data Isolation is robust as long as the discriminator is a composite key enforced at the database level. I don't see how you can "accidentally" expose tenant data with this approach!