Multi-tenant architecture in 20 minutes

  Рет қаралды 112,145

Carmel Hinks Saxby

Carmel Hinks Saxby

Күн бұрын

Carmel (Hinks) Saxby from Atlassian gives a presentation on multi-tenant architectures; what they are, why you would use them, and how Atlassian managed to make it work.
Please note - some technical difficulties were experienced at the beginning of the presentation, and approximately 20 seconds of footage has been cut out because of this.

Пікірлер: 80
@ChrisLow06
@ChrisLow06 Жыл бұрын
Literally the BEST video about multi-tenancy
@kbrnsr
@kbrnsr Жыл бұрын
As someone who maintained Atlassian products in-house (2014-2016) this talk really brings me back to the good old days.
@juniorbansal
@juniorbansal 4 жыл бұрын
How is this video having only 200 likes? Very important architectural information given out for free.
@shayanchaudhary8613
@shayanchaudhary8613 4 жыл бұрын
Awesome talk. Thank you for uploading this. We're just about to re-platform our legacy product and this video has answered many questions and verified a lot of my thinking :)
@rockysamir1567
@rockysamir1567 2 жыл бұрын
instablaster.
@ritulsonania
@ritulsonania 2 жыл бұрын
Amazing story telling. It's crisp and clear.
@ValentineMasina
@ValentineMasina 2 жыл бұрын
This is like an entire AWS architecture series in 18 minutes. Loved every minute of it. Thanks for sharing
@petersonmuchiri8011
@petersonmuchiri8011 4 жыл бұрын
Fantastic Talk!!Kinesis is real love for multitenant applications!
@naveenkamaraj7986
@naveenkamaraj7986 2 жыл бұрын
This is one of the best explanations ever on MT-DB
@vinitjoshi3361
@vinitjoshi3361 4 жыл бұрын
Thanks for sharing. Found this useful for something I'm designing/architecting right now.
@natashastopa1849
@natashastopa1849 5 жыл бұрын
This was probably one of my favorite talks at GHC!
@carmelhinks7341
@carmelhinks7341 5 жыл бұрын
Oh wow, thank you so much!
@rorycawley8334
@rorycawley8334 3 жыл бұрын
Incredibly clear and great deck.
@dhruvdhiman2658
@dhruvdhiman2658 5 жыл бұрын
Simple short yet so informative!
@carmelhinks7341
@carmelhinks7341 5 жыл бұрын
Thank you! I'm so glad you thought so!
@mohidk4913
@mohidk4913 Жыл бұрын
AWESOME! Brilliantly Explained 🎯Cheers Carmel 👍🏻
@stefc4663
@stefc4663 3 жыл бұрын
Fantastic video. Now I want to know how they structured there single-tenant architecture!!
@ak.amar12
@ak.amar12 4 жыл бұрын
Whoaa!! This was more clarifying than AWS itself could hv been.
@arifshouqi3160
@arifshouqi3160 3 жыл бұрын
Simply fantastic. Can you tell us more about your single tenant architecture ? How many customers were you able to serve with that arch? how did you upgrade these thousands of customers? how frequently did you upgrade? were you able to keep all of them on the same version? etc.
@vijayvenkataraman1242
@vijayvenkataraman1242 4 жыл бұрын
Thanks for sharing. A good learning experience.
@polyglotdev
@polyglotdev 5 жыл бұрын
Bloody Beautiful!
@carmelhinks7341
@carmelhinks7341 5 жыл бұрын
Bloody awesome comment, thanks mate ;)
@marvellouschandan
@marvellouschandan Жыл бұрын
Super awesome content. Thanks Carmel!
@catmando1786
@catmando1786 3 жыл бұрын
"single source of truth" imagine that. It's a good thing modern sensibilities regarding truth haven't infiltrated the computing world. yet. Good speech. I enjoyed it very much. I'm a total noob so it's refreshing learning about this without all the inside tech jargon. It's also quite refreshing hearing how it all came about and why. Thank you.
@rprithvi
@rprithvi 2 жыл бұрын
Awesome talk and thanks for uploading
@saffodumbo
@saffodumbo 5 жыл бұрын
very interesting, short and sweet!
@carmelhinks7341
@carmelhinks7341 5 жыл бұрын
I'm so glad you thought so, thank you Barbara!
@yanli2810
@yanli2810 4 жыл бұрын
Great talk! Thank you.
@mohammadkaab
@mohammadkaab 3 жыл бұрын
If i could like this talk 10 times, I would do that. Thanks for the talk.
@i-meta2708
@i-meta2708 4 жыл бұрын
Excellent presentation! I must admit, though, the material reminded me of the excitement of Novell's Netware Directory Services back in 1995. Multi-tenancy is nothing new, but I am happy to hear how it has matured and remained relevant especially in cloud computing.
4 жыл бұрын
If you use a JAMStack and deploy your app on a serverless platform like Zeit, you can abstract away from the Dev Ops and not have to worry about managing compute nodes, load balancers or caching. It also has built in redundancy and availability. The front end is served on a CDN so latency is very low too.
@ukazap
@ukazap 4 жыл бұрын
Interesting approach to multi-tenancy.
@getmrraj
@getmrraj 5 жыл бұрын
Excellent presentation
@carmelhinks7341
@carmelhinks7341 5 жыл бұрын
Thanks so much :)!
@mayurpandey7010
@mayurpandey7010 4 жыл бұрын
You are awesome. Great Talk
@lihtness
@lihtness 3 жыл бұрын
Beautiful.
@kushalbhabra
@kushalbhabra 4 жыл бұрын
Nice explanation!
@mohitgupta-jq3wp
@mohitgupta-jq3wp 3 жыл бұрын
Hello Carmel, this video is probably one of those rare hidden gems where deep architectural insights are explained in the simplest manner possible.. kudos to you for sharing this... I do have a request - will it be possible for you to share the presentation slide deck
@akshaypawar9314
@akshaypawar9314 4 жыл бұрын
Great talk Carmel :)
@MammadovAdil
@MammadovAdil 2 жыл бұрын
excellent talk, thanks
@Surgebrawlstars693
@Surgebrawlstars693 Жыл бұрын
Amazing talk!!
@dipendra-sharma
@dipendra-sharma 4 жыл бұрын
Amazing !!
@godwinyoh3700
@godwinyoh3700 2 жыл бұрын
One of the best talks ever. So crisp, clear and packed.
@debusinha3434
@debusinha3434 5 жыл бұрын
great talk !
@carmelhinks7341
@carmelhinks7341 5 жыл бұрын
Thanks so much Debu!
@samaga123
@samaga123 3 жыл бұрын
this is gold !!!
@deecm22
@deecm22 2 жыл бұрын
Great talk!!!!
@paragmangal3796
@paragmangal3796 Жыл бұрын
@Carmel Hinks : at @13:31, If we are still fine with eventual consistency for read then what was the need for single source of truth. I believe while writing data, you can set quorum and decide how many nodes should receive data before confirming write successful. Later all nodes will get sync data and have upto date information. In that way even write will also get performance improvement because write operation will also happen based on nearest datacenter. Please correct me if I have wrong understanding.
@sridharmurari3007
@sridharmurari3007 Жыл бұрын
Simple And clear thanks
@MrJohn360
@MrJohn360 5 жыл бұрын
Hey, Carmel. Thanks for sharing!
@carmelhinks7341
@carmelhinks7341 5 жыл бұрын
No problem at all, thanks for watching!
@cpc4466
@cpc4466 3 жыл бұрын
Thank you
@touchwithbabu
@touchwithbabu 4 жыл бұрын
Fast and Fantastic
@VishalPatel-hf4lg
@VishalPatel-hf4lg 2 жыл бұрын
Thanks for sharing. very interesting. I am curious if anyway possible to only have cache at TCS side, no dynamo db. I.e (Catalog =dynamo+ec2) --> stream --> (Tcs=ec2 writing on cache)
@gamingbeast710
@gamingbeast710 2 жыл бұрын
impressive deisnging and ingeneering
@akdham
@akdham 4 жыл бұрын
Great presentation Carmel. I think you mentioned it, but wanted to verify that you are using TCS to obtain one which server a users data resides on. I know Altassian as I have used them before and know there are thousands and thousands of users. Were you setting up a different database per client or different schema per client within the database? I ask because at one time when I was using Altassian, I didn't use it as much only because I didn't have the time to learn it, great product though, and I know there are probably hundreds of users like me and dedicating a database per client seems a bit expensive to me. Perhaps I have it wrong, but curious to know how you managed this or did I miss this in the presentation. Like you said updating thousands of database if there is a change is time-consuming. Thanks...
@perarneng
@perarneng 3 жыл бұрын
Would like to know as well i don't think it was mentioned in the presentation.
@wennwenn1422
@wennwenn1422 3 жыл бұрын
With reference at 12:49. At 14:21, Why do we need to have a tool to sync data from single point of truth, write again and flush it back? Shouldn't Kinesis stream hold unread streams in its queue? and when Western EU is back online, start accepting messages inorder and save it?
@poshakmahe
@poshakmahe 6 ай бұрын
Thank you for such an amazing video ! One request , Can someone explain more about the client side caching ? Does it mean that client(say chrome browser accessing Jira) queries TCS and stores the DB info, and sends it in each request ? Or client refers to a microservices receiving the request from an app or web browser ?
@soumakchongder5953
@soumakchongder5953 2 жыл бұрын
In multi-tenant architecture how do we provide a certain feature to only a selected customer ? Acc. to me we can achieve this in single tenant by only upgrading a customer specific node..
@kgck15
@kgck15 Жыл бұрын
if you cache per ec2 nodes how do you ensure ordering ..was it write through.?
@cdgtopnp
@cdgtopnp 2 жыл бұрын
Note to self : Watch it before any interview
@ateekain5739
@ateekain5739 2 жыл бұрын
How do I create architecture for azure appservice+functions with two same but separate databases that are in diffferent regions and should not be replicated. code base can be one or multiple, whats best option. Will it Azure front door in front of codebase with db in two different region or Will it be same code base with only db in two separate regions
@srsvg
@srsvg 3 жыл бұрын
useful but in the middle you skipped couple of things... like where did catalogue service come all of a sudden with no background?
@gadothegado
@gadothegado 5 жыл бұрын
Thanks for sharing! And i want to say that using Jira a couple of years ago inspired me to start thinking about changing my app to MT SaaS app. But there is one part that i'am still struggling with. How are you implementing the url subdomain architecture? i mean infrastructure wise? I mean when i deploy my app to a webserver it responds to domain.com but how can i make it respond to subdomain.domain.com so that i could grab the subdomain in the app and query the relative DB.
@carmelhinks7341
@carmelhinks7341 4 жыл бұрын
Hi Mostafa, thanks for your question! So the answer to this kind of depends on your use case. In our case, we use subdomains to identify our customers. For example, say we had carmel.atlassian.net and mostafa.atlassian.net. In this case, `carmel` and `mostafa` would be two completely different customers. Given that, we can actually use the entire hostname (subdomain included) to query the TCS for the data we need. It's also worth pointing out that in my talk, I've actually simplified the whole process. In reality, we actually assign unique identifiers to all of the customers. So, we'll use the hostname during the first request to the TCS, which will get us access to the unique identifier. All subsequent requests use the unique identifier instead of the hostname. I'm not sure if that answers your question, but good luck all the same!
@gadothegado
@gadothegado 4 жыл бұрын
@@carmelhinks7341 Hi Carmel, Thanks for your reply! Yeah that was really helpful. But what I wanted to know is how are you creating the subdomains? Or are you using a wildcard subdomain?
@mosesnandi
@mosesnandi Жыл бұрын
@@gadothegado I had the same question about creating those subdomains. And how should you handle the customization of the UI per tenant
@scottamolinari
@scottamolinari 2 жыл бұрын
Wait, wait, wait. I'm making an assumption here, but they talked about "stateless" nodes. Then they put caching (which is storage of state), on each of the EC2 nodes requesting information from the database? Why not have a separate caching server, where any node can invalidate/ update the cache centrally? That should have gotten rid of the need for the SNS service and leaves the nodes stateless. And, btw.....we use Jira and it is slow. So..... whatever.
@ooogabooga5111
@ooogabooga5111 2 жыл бұрын
basically K8 architecture pattern
@bdjeosjfjdskskkdjdnfbdj
@bdjeosjfjdskskkdjdnfbdj 4 жыл бұрын
more like an aws talk haha
@DotnetistEnterprise
@DotnetistEnterprise 2 жыл бұрын
Nice. I’m building my own server
@KrishLove143
@KrishLove143 10 ай бұрын
Wow
@happyandhealthy888
@happyandhealthy888 Жыл бұрын
i am also software engineer.
@alex_chugaev
@alex_chugaev 3 жыл бұрын
But why do your products still slow? You claim you achieved excellent performance (Req/sec) but it feels far from fast and responsive.
@solomonogu1393
@solomonogu1393 7 ай бұрын
Aws sponsored
@ak.amar12
@ak.amar12 4 жыл бұрын
Whoaa!! This was more clarifying than AWS itself could hv been.
Multi-tenancy architecture | The Backend Engineering Show
25:29
Hussein Nasser
Рет қаралды 40 М.
🤔Какой Орган самый длинный ? #shorts
00:42
- А что в креме? - Это кАкАооо! #КондитерДети
00:24
Телеканал ПЯТНИЦА
Рет қаралды 8 МЛН
Эффект Карбонаро и нестандартная коробка
01:00
История одного вокалиста
Рет қаралды 9 МЛН
Multi-Tenancy in Kubernetes: Best Practices Today, and Future Directions - David Oppenheimer
36:56
CNCF [Cloud Native Computing Foundation]
Рет қаралды 24 М.
Architecting multitenant solutions on Azure
59:20
Microsoft Reactor
Рет қаралды 14 М.
Building a Multi-tenant SaaS solution on AWS
53:28
Certified Fresh Events
Рет қаралды 18 М.
Architecting multitenant solutions on Azure | Azure Friday
21:12
Microsoft Azure
Рет қаралды 29 М.
Tenant Isolation & Data Partitioning
1:04:39
AWS Partner Network
Рет қаралды 6 М.
What's your #cloud #migration #strategy?
9:26
Dr. Raj Ramesh
Рет қаралды 86 М.
Multi Tenant Architecture - Part 1 | What is Multi Tenant Architecture | TTT | Cuelogic
10:09
Cuelogic Technologies | An LTIMindtree Company
Рет қаралды 24 М.
Learnings from our multi-tenant Laravel application
9:58
Sabatino Talks Dev
Рет қаралды 13 М.