Multi-tenancy architecture | The Backend Engineering Show

Поделиться
HTML-код
  • Опубликовано: 3 июл 2024
  • Multi-tenancy refers to placing two or more clients, customers or tenants so they share a single resource. The idea behind Multitenancy is to save on resources instead of giving each client its own resource (storage, app, memory, network etc..). You slice each part and give it to dedicated client. The number one rule is those tenants shouldn’t be aware of the existence of other tenants, they need to be completed isolated, no one tenant can read or influence the other’s tenant share. If this is confusing don’t worry I’ll go through examples in this episode of the backend engineering show.
    0:00 Intro
    2:50 Ssd Multitenancy
    6:45 Database Multitenancy
    10:14 Networking Multitenancy (SDN)
    16:55 VMs and Containers Multitenancy
    19:00 Application Multitenancy
    Become a Member on RUclips
    / @hnasr
    🔥 Members Only Content
    • Members-only videos
    Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
    database.husseinnasser.com
    Introduction to NGINX (link redirects to udemy with coupon)
    nginx.husseinnasser.com
    Python on the Backend (link redirects to udemy with coupon)
    nginx.husseinnasser.com
    🏭 Backend Engineering Videos in Order
    backend.husseinnasser.com
    💾 Database Engineering Videos
    • Database Engineering
    🎙️Listen to the Backend Engineering Podcast
    husseinnasser.com/podcast
    Gears and tools used on the Channel (affiliates)
    🖼️ Slides and Thumbnail Design
    Canva
    partner.canva.com/c/2766475/6...
    🎙️ Mic Gear
    Shure SM7B Cardioid Dynamic Microphone
    amzn.to/3o1NiBi
    Cloudlifter
    amzn.to/2RAeyLo
    XLR cables
    amzn.to/3tvMJRu
    Focusrite Audio Interface
    amzn.to/3f2vjGY
    📷 Camera Gear
    Canon M50 Mark II
    amzn.to/3o2ed0c
    Micro HDMI to HDMI
    amzn.to/3uwCxK3
    Video capture card
    amzn.to/3f34pyD
    AC Wall for constant power
    amzn.to/3eueoxP
    Stay Awesome,
    Hussein
  • НаукаНаука

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

  • @JohnMcclaned
    @JohnMcclaned 2 года назад +114

    Can you make a video on environments (dev, staging and prod) and how to manage them with a monorepo or microservices with each environment?

    • @hm-zg3ee
      @hm-zg3ee 2 года назад +4

      I'm super interested to know about this as well!

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

      I would love this as well!

    • @vivsh.1999
      @vivsh.1999 2 года назад +2

      i would love to see a microservice implementation

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

      Yes would you please make a video about this. I feel as you would do a wonder job at explaining this

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

      I don't see any correlation between environments (where/how you deploy), monorepos vs multirepos (how you organize git projects) and Microservices/monolith (how you architect and run things)

  • @moaxtariq9093
    @moaxtariq9093 Месяц назад

    I've asked a good few people the difference between multi tenant apps and multi entity(users, companies etc) apps who also can control and use the whole system and there's a separation between them, no one was able to give me satisfactory answers but this vid explained everything to me and quite clearly. I love the fact you broke the concept down to the most basic resource where we can apply multitenancy. It really helped put things in the perspective.

  • @pemessh
    @pemessh 2 года назад +6

    Just made me realize that AWS and other cloud providers are doing a phenomenal job.
    Hatsoff to them and Hussein 🙏🏻👏👏

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

    I didn't want this video to ever end , "fascinating stuff" as always

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

    Explained multi tenancy in the first minute of the video better than anyone I’ve ever had try to explain it to me. And better than any other video

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

    Thanks for sharing you knowledge. Love from Argentina!

  • @anton-r
    @anton-r 2 года назад

    man you have so amazing monologues (lectures) so much thank you

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

    I love this channel

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

    Congrats to 200.000 subs Hussein!

  • @GOD9494
    @GOD9494 2 года назад +5

    yup. clouds run on virtual networks. on AWS the name of network itself is "Virtual Private Cloud".

  • @sasankv9919
    @sasankv9919 2 года назад +7

    You should do a video about SDN and cover how things like elastic network interface works

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

    Love you man, good talk, keep it up!
    And yeah, I bought you course some time ago :D just need to finish it someday.

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

    Thanks sir , This helped a lot

  • @VaibhavMishraVM
    @VaibhavMishraVM 2 года назад +2

    Thanks

  • @cybervillage8644
    @cybervillage8644 2 года назад +5

    Thank You very Hussein this video is very helpful I build a muiti-tenancy inventory software on the database level even tho I knew I can do some isolation on the network level but I never knew is possible on the hardware level Thanks.

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

      I want to build a multi tenant app with aws, but no clue where to start. Could you share some resources?

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

    Hey Hussein, what about a video covering the question what can ISPs really see when we make network requests. You can tackle the question in different cases, initially thinking about simple HTTP, then using HTTPS, then using more recent stuff like ESNI, DoH/DoT, DNSSEC, etc. then what if we add a VPN or a proxy, etc.

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

    I think I'm doing a computational multi-tenancy solution for my game server because everyone's bases that they load from my database not only have size limitations that they can pay to expand, hundreds of players can play in the same world without being aware of each other's activities or collision essentially partitioning multiple instances of the same game within one single 3D space and all the collision is handled based on the instances people are connected to on the server level, allowing me to creating reduce the amount of servers running despite only having 8 players per game instance

  • @zaheeruddinfaiz7064
    @zaheeruddinfaiz7064 2 года назад +5

    In a multi-tenant app, we have different users that can not see each others data.
    So, we have multi-tenancy inside a multi-tenant application.

  • @Areeb949
    @Areeb949 2 года назад +15

    As long as your application process is stateless, there's no problem in using it to serve multiple tenants. Linking a nice talk on application level multi-tenancy from salesforce - ruclips.net/video/Tuy_O37H3O8/видео.html

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

      same applies to horizontal scaling of backend servers.

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

      Oh wow. Here's a really nice thought 💭
      Thanks.

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

    In a multi tenacy architecture we are providing separate resources to each customer , what will happen in that cases where those separate resources are not available are down or not available. Do we have any mechanism for that?

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

    Have you implemented multitenancy with PostgreSQL Row Level Security?

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

    Yeah I've always had that question, Is AWS spinning a new DynamoDB instance just for me ? Now it got clear that they must have a virtual managing layers at the top which we users see, but internally all this could using very less original DynamoDB instances

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

    Could you please recommend any book for multitenancy?

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

    Hi hussein sir, can you suggest me some books that are on relational database design or the books that you read on this topic.
    And Can you make a video on books that every backend engineer should read.

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

      He has Udemy course about Databases, maybe you should check it out

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

    Each customer requires different customisation to the application, we can ofcourse provide shared db and compute, but , how do i have different application versions for different customers.? Eg : one customer wants normal calculator, one customer wants, scientific calculator, one more customer wants a music player while performing calculations, and one more customer wants voice based calculator

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

    You remind me of Dinesh from Silicon Valley when you speak sometimes :D

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

    Networking is always a shared resource right, the actual physical infra, leading to noisy neighbour scenarios due to a limited BW only. how does multi tenancy at this level or even VCN-level, really makes any sense?

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

    Do you think puttiing different customers into different schemas of postgres good enough for multitenancy for application level

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

    Alternate hitting the '3' and '6' keys on your keyboard every few seconds while watching this video.

  • @ward7576
    @ward7576 2 года назад +2

    Bad explanation. Why? What you described is a normal application that you can make with any given backend framework (for example, Laravel). How do you get to the isolation part? Just don't expose any endpoints that would lead to you knowing that there are other users. That's it. So, when I new up a fresh Laravel project, I am essentially doing multi-tenancy and by your definition you cannot prove me wrong. It serves multiple customers that would share the same storage, database, queue, you name it.
    I haven't even seen any better explanation for it rather than - it serves multiple customers, that can have their own namespace where they have users beneath them - like Slack. It can have multiple customers (servers, essentially) and users in each server are unique to that server.
    Please, when you attempt to explain multi-tenancy, make a distinction between normal application and real multi-tenancy.

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

      1 Recource, Multiple users, who have their own resources is multi tenancy. Just like an apartment.
      Resources can be as small as cpu or as bug as entire application. He just explained basics of multi tenancy and there is nothing wrong in explaining it with practical example. It may not be same as yours ofc.
      Your homestead app is multi tenant, even your OS has home folders for users.....get the core idea when Resourcesare shared among users, dont stick inside the box and be rigid with one example.
      Usecases will always vary depending on requirements. Basically he explained multiple types of it obviously he wont go in details how it's achieved, given unlimited posibilities are there and that's where engineering starts really and application developer journey ends - which would be beyond scope of this video!!!

  • @kirayamato6128
    @kirayamato6128 4 месяца назад

    IS MULTITENANT A MICROSERVICE?