New to Teams? Learn our Top 10 Microsoft Teams Tips to become a super user in no time! Watch on-demand here.
Read the rest of our Microsoft Ignite 2019 coverage:
- Satya’s Tech Intensity Keynote Highlights
- The New Features Coming to Yammer!
- Jeff Teper on the Latest Workplace Innovations
- Bill Bliss on Boosting Trust in Microsoft Teams Apps
- Dux Raymond Sy on Generational Diversity in the Modern Workplace
- Loryan Strant on Avoiding Office 365 Icebergs
- An Introduction to Yammer’s New Native Mode
- Office 365 Groups and Yammer Collaboration Tips
- The Structure of Private Channels in Microsoft Teams
- Tony Redmond on Microsoft Teams vs. Outlook
It isn’t every day that you get to hear about a major piece of technology from one of its founders, but attendees at Ignite 2019 were lucky enough to learn about the architecture of Microsoft Teams from Bill Bliss himself. The full session goes in-depth about the intricacies of every aspect of Teams from messaging to file storage, and we’ve compiled some of the most interesting tidbits for you here. Let’s get started!
Bill began by taking a high-level look at the current Microsoft Teams architecture. Both the desktop and mobile architectures are optimized for agility and auto-update.
Mobile, meanwhile, is much more straightforward; iOS is written in Swift and Android is written in Java (with a few bits of React native in both).
The Role of Microsoft Teams in Office 365
Microsoft envisioned and built Microsoft Teams as a large systems integration project. Office 365 is packed with a great set of services and applications, but there wasn’t any one application that really brought them all together. This is why Microsoft Teams is only as strong as the sum of its parts, and why Microsoft refers to it as the hub of Office 365.
Bill also noted just how vital Azure was to building Microsoft Teams. It handles a significant amount of the complexity related to running the app. It gives them resiliency to natural disasters and worldwide data residency requirements. Many of the security standards that Office 365 supports also relies on factors like physical security and encryption, both of which Azure helps with.
Mid-Level Architecture Tidbits
While the image below might be fairly self-explanatory, Bill took the time to address why some might think it strange to for Graph API to be labeled as a client. As he explained it, “the goal of [Microsoft’s] Graph API is to expose the functionality of the client in Microsoft Graph, and to do that, it’s logically a client.”
He was also sure to point out that, in many cases, the Microsoft Teams client talks directly to these services; it doesn’t go through a middle tier. OneNote, WAC, OneDrive for Business; those are all talked to directly via the client.
Now that we’ve covered some of the broader points Bill touched on, here are a range of more specific topics he shed some light on:
Chat: Most chats are stored in memory. Chat uses Azure storage (blog, tables, and queues), and is moving to Cosmos DB (one-on-one chats and group chats are in Cosmos DB already).
Substrate/Exchange: All the chat and channel messages are stored in Exchange for information protection purposes.
Conversation Images & Media: Inline images and other media are stored separately (Giphys aren’t stored).
1-1 Chats: Any files shared in these chats are stored in the OneDrive for Business of the person who posted it, and permissions are set for members of the chat to read it.
Team Conversations: These are uploaded to SharePoint, and there’s a folder associated with each channel in the appropriate Team.
Cloud Storage: Microsoft Teams supports Dropbox, Box, Citrix ShareFile, and Google Drive as cloud storage service options.
The Compliance Boundary
The compliance boundary is where Microsoft can manage the security and privacy of customer data. These are three types of data flows that go through this boundary to interact with Microsoft Teams:
Bi-Directional (Data Flows Both Ways)
- Users via browser, desktop, or mobile (a Standard Teams User)
- Guest users
- Inviting anonymous users to join a meeting
- Federation communication (communication between multiple tenants)
- Tabs (Any third-party tab is hosted outside the compliance boundary)
- Graph API
- Calling Plan (This enables inbound-outbound calling outside the organization)
Inbound Data Only
- Connectors (Data posted to a channel)
- Email a channel (you can never send information out in email via Microsoft Teams)
- Giphy. As you type a query, Giphy sees those query strings
- Push Notifications. Sent from Microsoft Teams (Mobile) to the cloud
- Other cloud storage (third-party, e.g. Box, Google Drive, etc.)
- URL preview
Needless to say, there’s an absolute ton that goes into making Microsoft Teams work as well as it does. If you want to hear Bill speak on how calls and meetings are handled, be sure to watch the full session!