Where is everything in Microsoft Teams stored at rest?
I’m slowly wading through Microsoft Ignite 2019 content, and pulling out what I think are interesting announcements. As much as I can do, I’m trying to highlight things which may not have been widely picked up, but which impacts Microsoft Teams developers.
This comes up quite a lot, and although it doesn’t directly affect developers, being able to answer questions like this can really help unblock conversations, or help developers understand what is happening. Also, as you’ll see below, Microsoft Teams makes use of a number of standard Azure resources which are available for anyone to use, so it’s a bit of a showcase of what’s possible using Azure.
Courtesy of a Microsoft Ignite 2019 session, Microsoft Teams Architecture Update, presented by Platform Architect and Teams founding member Bill Bliss, here are the key locations where data is stored at rest.
As you can see, Microsoft Teams leans heavily of Azure resources to deliver its functionality at scale. In fact, Azure is really at the core of the Microsoft Teams architecture:
But what about geographical location?
Knowing what Azure resource types are being used to store your data is useful, but often more important to organisation is where their data will be located:
If your Teams tenant is in Australia, Canada, the European Union, India, Japan, the UK or the US then the following data will be stored at rest within that geographic area:
- Microsoft Teams Chats
- Microsoft Teams Conversations
- SharePoint Online site content and the files stored within that site
- files uploaded to OneDrive for Business
Where are Conversations Stored?
As above, we can see that conversations are stored in Azure table storage (soon Cosmos DB), but there is some more detail on that in this slide:
Where are Files stored?
It depends on how those files are uploaded:
If this all sounds interesting, and you’d like to dig into more detail about the architecture of Microsoft Teams, then I highly recommend Bill’s session. Bill covers a number of different areas of Teams and talks candidly about how they are architected, and why the team made the decisions they did. You can watch the session video below: