Teams是基于Azure AD、Microsoft 365 组和其它Microsoft 365 服务构建而成。本文主要介绍Teams的核心逻辑体系结构,了解Teams 中的聊天记录、共享文档、会议录制等数据都保存在何处?创建一个新的团队(Team)会在底层创建哪些项目?从而帮助Teams 架构师、管理员更清晰地实施部署、管理Teams应用。
默认情况下,所有企业用户都可以创建团队,我个人强烈建议在刚刚接触或实施Teams,管理员先限制所有人创建组的权利,具体方法是通过限制创建组实现的,步骤参见以下微软官方文档,后续我会单独发帖详细介绍。写本文目的之一也是想要说明为何我会建议先限制所有人创建团队。
管理可创建 Microsoft 365 组的人员
https://docs.microsoft.com/zh-cn/microsoft-365/solutions/manage-creation-of-groups?view=o365-worldwide
1. Teams 基础体系结构
1) 逻辑结构图
Teams 是微软现在主推的团队协作和通讯平台。我认为微软提供的Teams体系结构海报中的以下图例最为清晰明了地概括了Teams自身以及其依赖的其它应用服务。我将Teams客户端视图中的图标一并列出,以便分析。
Teams 的功能及其对应的后台服务可以总结为三大方向
- 团队协作(Collaboration) 主要是文档协作,文档存储依赖于SharePoint Online 服务。团队成员及身份验证依赖于Azure AD和Microsoft 365 Group(组)。
- 通信(Communication) 又可以细分为以下3部分,后台是基于前身为Skype for Business Online发展而来的实时通信(聊天、语音)服务。
- 聊天(IM)和状态更新 ,在1对1或者1对多的聊天中可以发送文本消息、图片、文件、GIF动画。后台对应使用的是聊天服务(Chat Service)。聊天消息记录保存在参与人员个人或者团队的共享邮箱中,邮箱由Exchange Online服务提供。1:N 聊天中分享的文件则保存于上传文件者的OneDrive中。而团队频道聊天中分享的文件则保存在团队的SharePoint 站点中。
- 网络音频/视频通话、在线会议 -- 音/视频通话同样可以是1对1或者1对多的,后台使用Teams Voice(Calling/Meeting) service。通话/会议记录、以及预约会议信息保存于用户/团队的邮箱中,依赖于Exchange Online 服务。会议录制的内容则保存于SharePoint/OneDrive。
- 与PSTN集成的电话服务 -- Teams作为IP电话系统,可以获得并使用与普通座机类似的电话号码,连入公共电话网络(PSTN)。通话依赖于Teams Voice service。
- 其它应用的接口平台(Application Hub) 可以在Teams中添加微软自己的或者第三方的其它应用。
2) 关键数据实体和存储位置一览图
Teams中使用的不同类型的数据,被保存在不同的服务中。
Teams中涉及的关键数据及其存储位置如下所列。
注: 今年1月以前,会议的录制内容被保存在Stream中。但是1月后,根据会议类型分别保存至团队的SharePoint站点或者是个人的OneDrive中。
聊天记录保存在何处?
- 聊天服务 使用Azure 存储 ( Cosmos DB),聊天和频道里的消息也存于Exchange,以便进行信息保护、合规性处理,例如根据合规要求,将聊天记录保存7年。
- 聊天中的图片 & 多媒体, 图片/贴纸保存在多媒体存储库,同样引入Excange 以满足合规要求。而GIF动图不保存。
文件保存在何处?
- 1:N 聊天中分享的文件被上传至发送者的 OneDrive for Business,并为聊天成员赋予权限。
- 团队频道聊天中共享的文件被上传至团队的SharePoint站点. 团队中的每个频道在团队的站点中都有一个对应的文件夹
- 团队专用频道(Private Channel) 有自己的SharePoint站点和文档库
2. 创建一个团队会引发底层的哪些操作?
当管理员/用户使用Teams客户端创建一个新的团队(team)时,在Microsoft 365后台或者说底层会创建以下这些项目。当了解了前面所述的Teams基础结构后,也就很容易理解为什么创建一个团队(team)会引发出这么多的操作了。
- 新的Microsoft 365 组
- (隐藏的)ExchangeOnline共享邮箱和日历
- 用于存储团队文件的 SharePoint Online 站点和文档库
- 共享的OneNote笔记本(存储于SharePoint Online)
- 与其他 Microsoft 365 和 Office 365 应用(例如 Planner和 Power BI)的关联
- 聊天工作区
3. 示例
以实验环境中,通过Teams客户端创建一个名为"射雕英雄"的团队为例。在Teams客户端可以看到每个新建的团队都默认包含有"常规"频道,在其选项中,我们能够获取其该频道的电子邮件地址、SharePoint站点链接。
管理员在Microsoft 365管理中心、Azure AD、Exchange Online管理中心中可以找到以"射雕英雄"为名的Microsoft 365组,SharePoint Online管理中心里能看到其对应的活动站点。
Microsft 365管理中心:
Exchange管理中心:
SharePoint管理中心中每个团队都有与其对应的站点:
站点中,每个标准频道对应一个单独的文件夹。
例如在射雕英雄团队中有2个标准频道
- 常规 -- 系统自动创建,对应"General“ 文件夹。
- 每周例会 -- 由Teams用户创建,对应 ”每周例会"文件夹。
而在团队中创建的专用频道(Private Channel),则会单独有其对应的SharePoint频道站点
4. 参考文档
本文核心图片及信息源自以下微软官方文档
- Microsoft Teams IT 体系结构和语音解决方案海报
https://docs.microsoft.com/zh-cn/microsoftteams/teams-architecture-solutions-posters
- Teams基础 - 核心组件
https://aka.ms/teams-foundations-deck
强烈推荐微软Teams管理员培训页面中第一部分“技术培训” 中的视频和PPT(英文原版),高质量讲解Teams核心技术。
https://docs.microsoft.com/zh-cn/microsoftteams/itadmin-readiness