Multi-tenancy architecture | The Backend Engineering Show

Sdílet
Vložit
  • čas přidán 8. 07. 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 CZcams
    / @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
  • Věda a technologie

Komentáře • 47

  • @JohnMcclaned
    @JohnMcclaned Před 2 lety +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 Před 2 lety +4

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

    • @justinbethel7486
      @justinbethel7486 Před 2 lety +3

      I would love this as well!

    • @vivsh.1999
      @vivsh.1999 Před 2 lety +2

      i would love to see a microservice implementation

    • @dechols87
      @dechols87 Před 2 lety +1

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

    • @NeemiasJunior1
      @NeemiasJunior1 Před 2 lety +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 Před měsícem

    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 Před 2 lety +6

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

  • @ralos329
    @ralos329 Před 2 lety

    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

  • @bashardlaleh2110
    @bashardlaleh2110 Před 2 lety +3

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

  • @GOD9494
    @GOD9494 Před 2 lety +5

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

  • @sasankv9919
    @sasankv9919 Před 2 lety +7

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

  • @jonafll3986
    @jonafll3986 Před 2 lety

    Congrats to 200.000 subs Hussein!

  • @izoka1828
    @izoka1828 Před 2 lety

    Thanks for sharing you knowledge. Love from Argentina!

  • @anton-r
    @anton-r Před 2 lety

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

  • @ediancomachio2783
    @ediancomachio2783 Před 2 lety +1

    I love this channel

  • @VaibhavMishraVM
    @VaibhavMishraVM Před 2 lety +2

    Thanks

  • @VladMihailescu
    @VladMihailescu Před 2 lety

    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 Před 2 lety

    Thanks sir , This helped a lot

  • @cybervillage8644
    @cybervillage8644 Před 2 lety +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 Před 7 měsíci

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

  • @Areeb949
    @Areeb949 Před 2 lety +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 - czcams.com/video/Tuy_O37H3O8/video.html

    • @tapank415
      @tapank415 Před 2 lety

      same applies to horizontal scaling of backend servers.

    • @pemessh
      @pemessh Před 2 lety

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

  • @sanilkhurana3991
    @sanilkhurana3991 Před 2 lety

    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 Před 2 lety

    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

  • @neeleshrajpoot1493
    @neeleshrajpoot1493 Před 2 lety

    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 Před 2 lety

    Have you implemented multitenancy with PostgreSQL Row Level Security?

  • @zaheeruddinfaiz7064
    @zaheeruddinfaiz7064 Před 2 lety +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.

  • @kamboj65
    @kamboj65 Před 2 lety

    Could you please recommend any book for multitenancy?

  • @startup_cult
    @startup_cult Před rokem

    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

  • @atimy
    @atimy Před 2 lety

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

  • @305020158
    @305020158 Před rokem

    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

  • @muhammadsami479
    @muhammadsami479 Před 2 lety +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 Před 2 lety

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

  • @rohitkrishnamoorthy3266

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

  • @akashagarwal6390
    @akashagarwal6390 Před 11 měsíci

    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?

  • @jonarmani8654
    @jonarmani8654 Před 2 lety +1

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

  • @ward7576
    @ward7576 Před 2 lety +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 Před 2 lety

      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 Před 4 měsíci

    IS MULTITENANT A MICROSERVICE?