SlideShare a Scribd company logo
1 of 24
MICROSOFT TEAMS
ARCHITECTURE DEEP DIVE
MAARTEN EEKELS - @maarteneekels
CHIEF DIGITAL OFFICER PORTIVA
MICROSOFT MVP & REGIONAL DIRECTOR
MICROSOFT TEAMS
LOGICAL ARCHITECTURE
Message
Images, Emojis,
Stickers,
Recordings
Contacts
Teams
Chats
Voice
Chat
OneDrive for
Business
Tabs
Apps
Calling
Meetings
Voice mail
Team
Office 365
Groups
Channel
SharePoint
Reply Chain
Tabs
Activity Feed
Apps
Folder
SharePoint
Folder
TEAMCHANNEL#0
ARCHITECTURE – A BIT DEEPER
Services
Most recent files
Telemetry
Files
Files
Web
Companions
Notes
Calendar
AAD
MessagingSettings and
O365 access
OneNote
OneDrivefor
Business
WAC
Other
Workloads
Connectors
Audio /
video
Search
Notification
service
SMTP
SharePoint
Publish /
Subscribe
Push
Notifications
Exchange
Experimentation
MRU Teams
services
Calling /
Meeting
PSTN
Teams Clients
Desktop
iOS
App
Android
AppElectron
Web
Chat &
Presence
services
Exchange
Information
Protection
Graph
Webhook
Stream
Recording
Bots
Graph API
Email service
Policy
WHERE IS EVERYTHING STORED?
Image
Files
Voicemail
Message
Recording
Calendar
meeting
Contacts
Media service on Azure (using Blob storage)
Team files  SharePoint
Chat files  OneDrive for Business
Individual mailbox in Exchange
Chat service table storage (moving to Cosmos DB)
Media service on Azure (using Blob storage) (<24
hours)
Individual mailbox in Exchange
Exchange
Ingested to Exchange to enable compliance
Ingested to Exchange to enable compliance
Encoded to Stream
Telemetry Microsoft Data warehouse (No customer content)
DATA FLOWS AND THE COMPLIANCE BOUNDARY
compliance boundary
Microsoft
Teams
Email a channel
Connectors
Calling Plan (PSTN)
Push Notifications
(Mobile)
Other Cloud storage
(3rd party)
Giphy
2-way communication Inbound data Outbound data
Data posted to a channel
Data posted to a channel
Query to Giphy
Push notifications to Apple or Google to
notify mobile client
Optional Box, Dropbox, Google drive, Citrix
ShareFile
Tabs Any third-party tab is hosted outside the
compliance boundary
Apps/Bots Any third-party App/bot or line of business app
is hosted outside the compliance boundary
Graph API
Graph APIs can be exposed to line of
business apps or 3rd party apps
Enables inbound/outbound calling outside
the organization
User Browser,
Desktop ,MobileStandard Teams user
Guest userGuest added
via AAD B2B
Anonymous join to a
meeting
Anonymous user
joining a meeting
Federation
communication
Communication between
multiple tenants
URL Preview
Get a preview of a URL that is posted to a
message
TEAMS CLIENT ARCHITECTURE
Web Windows Mac iPhone/iPad Android
Angular → React
Electron
Desktop Mobile
jQuery, lodash, etc. (200+ Open Source Components)
iOS Android
TypeScript, Node, SASS
Swift Java
HTML5/CSS
C++ Objective C
(Some) React
Native
MEMBERSHIP AND ROLES
Team Owner Team Member Team Guest
Create team  - -
Leave team   
Edit team name/description  - -
Delete team  - -
Add channel  * *
Edit channel name/description  * *
Delete/restore channel  * *
Edit messages  * *
Delete messages * * *
Add members  - -
Add tabs  * -
Add connectors  * -
Add bots  * -
* Can be restricted
through Team
Settings by the owner
TEAMS ADMIN ROLES
• Teams Service Administrator: The overall Teams workload admin, who can
also manage and create O365 Groups.
• Teams Communication Administrator: This role can manage meetings and
calling functionality in Microsoft Teams.
• Teams Communications Support Engineering: Users who are assigned this
role have access to advanced call analytics tools.
• Teams Communications Support Specialist: This role has access to basic call
analytics tools.
• Group Administrator: Users in this role can create/manage groups and its
settings like naming and expiration policies.
SETTINGS ON TENANT LEVEL
SETTINGS ON TEAM LEVEL
SETTINGS ON CHANNEL LEVEL
MANAGE TEAMS WITH POWERSHELL
Install-Module -Name MicrosoftTeams
Get-Team
$groupId = (Get-AzureADGroup -SearchString “<group name>").objectId
Get-Team -GroupId $groupId | fl
Set-Team -GroupId $groupId -<setting name> <boolean>
RESTRICT TEAMS CREATION
Azure Active Directory versie 2 PowerShell module required
Connect-AzureAD
Get-AzureADDirectorySetting
$Policy = Get-AzureADDirectorySettingTemplate –Id 62375ab9-6b52-
47ed-826b-58e47e0e304b
$Setting = $Policy.CreateDirectorySetting()
$Setting[“EnableGroupCreation”] = “false”
$Setting[“GroupCreationAllowedGroupId”] = “your group ID”
New-AzureADDirectorySetting -DirectorySetting $Setting
https://docs.microsoft.com/en-
us/powershell/azure/overview?view=azureadps-2.0
EXTERNAL GUEST ACCESS
• Default setting: Off for tenants / On for individual Teams
• Disabling or enabling external guest user access for individual Teams is only
possible through PowerShell
$template = Get-AzureADDirectorySettingTemplate | ? {$_.displayname -eq
"group.unified.guest"}
$settings = $template.CreateDirectorySetting()
$settings["AllowToAddGuests"]=$False
$groupID = (Get-AzureADGroup -SearchString “<your group name").ObjectId
Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups | fl Values
New-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups
-DirectorySetting $settings
Get-AzureADObjectSetting -TargetObjectId $groupId -TargetType Groups |
Set-AzureADObjectSetting -TargetObjectId $groupId -TargetType Groups
-DirectorySetting $settings
DEMO
GROUPS EXPIRATION POLICY
• Activity based renewal is on by default
NAMING CONVENTIONS
Get-AzureADDirectorySetting
$directorySetting = Get-AzureADDirectorySetting
-Id 92efeacc-89c6-4c16-b1cf-107aaf87f7dc
$directorySetting.Values
$directorySetting["PrefixSuffixNamingRequirement"] =
"Grp_[Department]_[GroupName]"
$directorySetting["CustomBlockedWordsList"]="Payroll,CEO,HR"
Set-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | where
-Property DisplayName -Value "Group.Unified" -EQ).id
-DirectorySetting $directorySetting
RETENTION POLICIES
ARCHIVING TEAMS
GRAPH API
DEMO
THANK YOU!
@maarteneekels
ESPC19 - Microsoft Teams Architecture Deep Dive
ESPC19 - Microsoft Teams Architecture Deep Dive

More Related Content

What's hot

Cloud Computing and Microsoft Azure
Cloud Computing and Microsoft AzureCloud Computing and Microsoft Azure
Cloud Computing and Microsoft AzureSuhail Jamaldeen
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An IntroductionVenkatesh Narayanan
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
EPC Group Intune Practice and Capabilities Overview
EPC Group Intune Practice and Capabilities OverviewEPC Group Intune Practice and Capabilities Overview
EPC Group Intune Practice and Capabilities OverviewEPC Group
 
Introduction to Azure Blueprints
Introduction to Azure BlueprintsIntroduction to Azure Blueprints
Introduction to Azure BlueprintsCheah Eng Soon
 
Govern your Azure environment through Azure Policy
Govern your Azure environment through Azure PolicyGovern your Azure environment through Azure Policy
Govern your Azure environment through Azure PolicyMicrosoft Tech Community
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft AzureSoumya De
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOpsLorenzo Barbieri
 
Part 01: Azure Virtual Networks – An Overview
Part 01: Azure Virtual Networks – An OverviewPart 01: Azure Virtual Networks – An Overview
Part 01: Azure Virtual Networks – An OverviewNeeraj Kumar
 
The Layman's Guide to Microsoft Azure
The Layman's Guide to Microsoft AzureThe Layman's Guide to Microsoft Azure
The Layman's Guide to Microsoft AzureAptera Inc
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureDavide Benvegnù
 
Azure Express Route
Azure Express RouteAzure Express Route
Azure Express RouteMustafa
 
IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)Mirco Vanini
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure MigrationsDatavail
 

What's hot (20)

Cloud Computing and Microsoft Azure
Cloud Computing and Microsoft AzureCloud Computing and Microsoft Azure
Cloud Computing and Microsoft Azure
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
 
Microsoft Azure Overview
Microsoft Azure OverviewMicrosoft Azure Overview
Microsoft Azure Overview
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
EPC Group Intune Practice and Capabilities Overview
EPC Group Intune Practice and Capabilities OverviewEPC Group Intune Practice and Capabilities Overview
EPC Group Intune Practice and Capabilities Overview
 
Introduction to Azure Blueprints
Introduction to Azure BlueprintsIntroduction to Azure Blueprints
Introduction to Azure Blueprints
 
Azure vnet
Azure vnetAzure vnet
Azure vnet
 
Govern your Azure environment through Azure Policy
Govern your Azure environment through Azure PolicyGovern your Azure environment through Azure Policy
Govern your Azure environment through Azure Policy
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Getting started with containers on Azure
Getting started with containers on AzureGetting started with containers on Azure
Getting started with containers on Azure
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
 
Part 01: Azure Virtual Networks – An Overview
Part 01: Azure Virtual Networks – An OverviewPart 01: Azure Virtual Networks – An Overview
Part 01: Azure Virtual Networks – An Overview
 
The Layman's Guide to Microsoft Azure
The Layman's Guide to Microsoft AzureThe Layman's Guide to Microsoft Azure
The Layman's Guide to Microsoft Azure
 
Azure 10 major services
Azure 10 major servicesAzure 10 major services
Azure 10 major services
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
 
Azure Express Route
Azure Express RouteAzure Express Route
Azure Express Route
 
IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure Migrations
 
Microsoft azure
Microsoft azureMicrosoft azure
Microsoft azure
 
Azure Governance
Azure GovernanceAzure Governance
Azure Governance
 

Similar to ESPC19 - Microsoft Teams Architecture Deep Dive

Tech Module 4 - Microsoft Teams admin and gov.pptx
Tech Module 4 - Microsoft Teams admin and gov.pptxTech Module 4 - Microsoft Teams admin and gov.pptx
Tech Module 4 - Microsoft Teams admin and gov.pptxeco80080
 
SPSWarsaw - Teams Architecture Deep Dive
SPSWarsaw - Teams Architecture Deep DiveSPSWarsaw - Teams Architecture Deep Dive
SPSWarsaw - Teams Architecture Deep DiveMaarten Eekels
 
Understanding Office 365 Groups: Ask The Experts
Understanding Office 365 Groups: Ask The ExpertsUnderstanding Office 365 Groups: Ask The Experts
Understanding Office 365 Groups: Ask The ExpertsDux Raymond Sy
 
Microsoft Teams & nyheter Januar 2018
Microsoft Teams & nyheter Januar 2018Microsoft Teams & nyheter Januar 2018
Microsoft Teams & nyheter Januar 2018Thorbjørn Værp
 
European Collaboration Summit 2019 - Microsoft Teams Architecture Deep Dive
European Collaboration Summit 2019 - Microsoft Teams Architecture Deep DiveEuropean Collaboration Summit 2019 - Microsoft Teams Architecture Deep Dive
European Collaboration Summit 2019 - Microsoft Teams Architecture Deep DiveMaarten Eekels
 
ECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVE
ECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVEECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVE
ECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVEEuropean Collaboration Summit
 
Webinar: Deploy Microsoft Teams and stay in control
Webinar: Deploy Microsoft Teams and stay in controlWebinar: Deploy Microsoft Teams and stay in control
Webinar: Deploy Microsoft Teams and stay in controlShareGate
 
Adam ochs groups
Adam ochs   groupsAdam ochs   groups
Adam ochs groupsAdam Ochs
 
Microsoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical OverviewMicrosoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical OverviewOlivier Carpentier
 
MicrosoftTeams-Workshop.pptx
MicrosoftTeams-Workshop.pptxMicrosoftTeams-Workshop.pptx
MicrosoftTeams-Workshop.pptxmuqtada1
 
SPSZurich18 - Microsoft Teams Deep Dive
SPSZurich18 - Microsoft Teams Deep DiveSPSZurich18 - Microsoft Teams Deep Dive
SPSZurich18 - Microsoft Teams Deep DiveMaarten Eekels
 
SPSIstanbul18 - Microsoft Teams Deep Dive
SPSIstanbul18 - Microsoft Teams Deep DiveSPSIstanbul18 - Microsoft Teams Deep Dive
SPSIstanbul18 - Microsoft Teams Deep DiveMaarten Eekels
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep DiveAndré Vala
 
Microsoft Teams Training - Howard University
Microsoft Teams Training - Howard University Microsoft Teams Training - Howard University
Microsoft Teams Training - Howard University Kyle Danzey
 
Microsoft teams planning-workshop-dec2017
Microsoft teams planning-workshop-dec2017Microsoft teams planning-workshop-dec2017
Microsoft teams planning-workshop-dec2017jonsacri
 
Office365 groups from the ground up - SPTechCon Boston
Office365 groups from the ground up - SPTechCon BostonOffice365 groups from the ground up - SPTechCon Boston
Office365 groups from the ground up - SPTechCon BostonDrew Madelung
 
UnityConnect - Office 365 Groups Deep Dive With Planner
UnityConnect - Office 365 Groups Deep Dive With PlannerUnityConnect - Office 365 Groups Deep Dive With Planner
UnityConnect - Office 365 Groups Deep Dive With PlannerKnut Relbe-Moe [MVP, MCT]
 

Similar to ESPC19 - Microsoft Teams Architecture Deep Dive (20)

Tech Module 4 - Microsoft Teams admin and gov.pptx
Tech Module 4 - Microsoft Teams admin and gov.pptxTech Module 4 - Microsoft Teams admin and gov.pptx
Tech Module 4 - Microsoft Teams admin and gov.pptx
 
SPSWarsaw - Teams Architecture Deep Dive
SPSWarsaw - Teams Architecture Deep DiveSPSWarsaw - Teams Architecture Deep Dive
SPSWarsaw - Teams Architecture Deep Dive
 
Understanding Office 365 Groups: Ask The Experts
Understanding Office 365 Groups: Ask The ExpertsUnderstanding Office 365 Groups: Ask The Experts
Understanding Office 365 Groups: Ask The Experts
 
Microsoft Teams & nyheter Januar 2018
Microsoft Teams & nyheter Januar 2018Microsoft Teams & nyheter Januar 2018
Microsoft Teams & nyheter Januar 2018
 
Microsoft Teams Governance
Microsoft Teams GovernanceMicrosoft Teams Governance
Microsoft Teams Governance
 
European Collaboration Summit 2019 - Microsoft Teams Architecture Deep Dive
European Collaboration Summit 2019 - Microsoft Teams Architecture Deep DiveEuropean Collaboration Summit 2019 - Microsoft Teams Architecture Deep Dive
European Collaboration Summit 2019 - Microsoft Teams Architecture Deep Dive
 
ECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVE
ECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVEECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVE
ECS19 - Maarten Eekels - MICROSOFT TEAMS ARCHITECTURE DEEP DIVE
 
Webinar: Deploy Microsoft Teams and stay in control
Webinar: Deploy Microsoft Teams and stay in controlWebinar: Deploy Microsoft Teams and stay in control
Webinar: Deploy Microsoft Teams and stay in control
 
Adam ochs groups
Adam ochs   groupsAdam ochs   groups
Adam ochs groups
 
Microsoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical OverviewMicrosoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical Overview
 
MicrosoftTeams-Workshop.pptx
MicrosoftTeams-Workshop.pptxMicrosoftTeams-Workshop.pptx
MicrosoftTeams-Workshop.pptx
 
Overview of microsoft teams
Overview of microsoft teamsOverview of microsoft teams
Overview of microsoft teams
 
SPSZurich18 - Microsoft Teams Deep Dive
SPSZurich18 - Microsoft Teams Deep DiveSPSZurich18 - Microsoft Teams Deep Dive
SPSZurich18 - Microsoft Teams Deep Dive
 
SPSIstanbul18 - Microsoft Teams Deep Dive
SPSIstanbul18 - Microsoft Teams Deep DiveSPSIstanbul18 - Microsoft Teams Deep Dive
SPSIstanbul18 - Microsoft Teams Deep Dive
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep Dive
 
Microsoft Teams Training - Howard University
Microsoft Teams Training - Howard University Microsoft Teams Training - Howard University
Microsoft Teams Training - Howard University
 
Microsoft teams planning-workshop-dec2017
Microsoft teams planning-workshop-dec2017Microsoft teams planning-workshop-dec2017
Microsoft teams planning-workshop-dec2017
 
Office365 groups from the ground up - SPTechCon Boston
Office365 groups from the ground up - SPTechCon BostonOffice365 groups from the ground up - SPTechCon Boston
Office365 groups from the ground up - SPTechCon Boston
 
UnityConnect - Office 365 Groups Deep Dive With Planner
UnityConnect - Office 365 Groups Deep Dive With PlannerUnityConnect - Office 365 Groups Deep Dive With Planner
UnityConnect - Office 365 Groups Deep Dive With Planner
 
What's new in Microsoft Teams
What's new in Microsoft Teams What's new in Microsoft Teams
What's new in Microsoft Teams
 

More from Maarten Eekels

ESPC19 - Office 365 Labels Deep Dive
ESPC19 - Office 365 Labels Deep DiveESPC19 - Office 365 Labels Deep Dive
ESPC19 - Office 365 Labels Deep DiveMaarten Eekels
 
Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...
Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...
Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...Maarten Eekels
 
Experts Live 2019 - Microsoft Teams Architecture Deep Dive
Experts Live 2019 - Microsoft Teams Architecture Deep DiveExperts Live 2019 - Microsoft Teams Architecture Deep Dive
Experts Live 2019 - Microsoft Teams Architecture Deep DiveMaarten Eekels
 
Dutch Microsoft & Security Meetup - How to protect my data in Office 365?
Dutch Microsoft & Security Meetup - How to protect my data in Office 365?Dutch Microsoft & Security Meetup - How to protect my data in Office 365?
Dutch Microsoft & Security Meetup - How to protect my data in Office 365?Maarten Eekels
 
NACS - Microsoft Stream - Your Video Portal Unleashed
NACS - Microsoft Stream - Your Video Portal UnleashedNACS - Microsoft Stream - Your Video Portal Unleashed
NACS - Microsoft Stream - Your Video Portal UnleashedMaarten Eekels
 
Office 365 Connect 2018 - Modern news publishing with SharePoint
Office 365 Connect 2018 - Modern news publishing with SharePointOffice 365 Connect 2018 - Modern news publishing with SharePoint
Office 365 Connect 2018 - Modern news publishing with SharePointMaarten Eekels
 
SPSBE18 - Microsoft Stream - Your enterprise video portal unleashed
SPSBE18 - Microsoft Stream - Your enterprise video portal unleashedSPSBE18 - Microsoft Stream - Your enterprise video portal unleashed
SPSBE18 - Microsoft Stream - Your enterprise video portal unleashedMaarten Eekels
 
SPSCambridge18 - Modern news publishing with SharePoint
SPSCambridge18 - Modern news publishing with SharePointSPSCambridge18 - Modern news publishing with SharePoint
SPSCambridge18 - Modern news publishing with SharePointMaarten Eekels
 
Experts Live NL 2018 - Extern delen van data in Office 365
Experts Live NL 2018 - Extern delen van data in Office 365Experts Live NL 2018 - Extern delen van data in Office 365
Experts Live NL 2018 - Extern delen van data in Office 365Maarten Eekels
 
Microsoft Stream - Your Enterprise Video Portal Unleashed
Microsoft Stream - Your Enterprise Video Portal UnleashedMicrosoft Stream - Your Enterprise Video Portal Unleashed
Microsoft Stream - Your Enterprise Video Portal UnleashedMaarten Eekels
 
SPSHEL18 - Modern News Publishing with SharePoint
SPSHEL18 - Modern News Publishing with SharePointSPSHEL18 - Modern News Publishing with SharePoint
SPSHEL18 - Modern News Publishing with SharePointMaarten Eekels
 
SPSHEL18 - Microsoft Teams Deep Dive
SPSHEL18 - Microsoft Teams Deep DiveSPSHEL18 - Microsoft Teams Deep Dive
SPSHEL18 - Microsoft Teams Deep DiveMaarten Eekels
 
SPSDENORTH18 - Modern News Publishing with SharePoint
SPSDENORTH18 - Modern News Publishing with SharePointSPSDENORTH18 - Modern News Publishing with SharePoint
SPSDENORTH18 - Modern News Publishing with SharePointMaarten Eekels
 
InSpark Ignite Recap Office 365
InSpark Ignite Recap Office 365InSpark Ignite Recap Office 365
InSpark Ignite Recap Office 365Maarten Eekels
 
SPSVIE17 - Microsoft Flow And PowerApps - End-To-End
SPSVIE17 - Microsoft Flow And PowerApps - End-To-EndSPSVIE17 - Microsoft Flow And PowerApps - End-To-End
SPSVIE17 - Microsoft Flow And PowerApps - End-To-EndMaarten Eekels
 
ESPC17 - The Microsoft On-premises Data Gateway
ESPC17 - The Microsoft On-premises Data GatewayESPC17 - The Microsoft On-premises Data Gateway
ESPC17 - The Microsoft On-premises Data GatewayMaarten Eekels
 
SPUnite17 - External Sharing in SharePoint Online
SPUnite17 - External Sharing in SharePoint OnlineSPUnite17 - External Sharing in SharePoint Online
SPUnite17 - External Sharing in SharePoint OnlineMaarten Eekels
 
SPUnite17 - Modern News Publishing With SharePoint
SPUnite17 - Modern News Publishing With SharePointSPUnite17 - Modern News Publishing With SharePoint
SPUnite17 - Modern News Publishing With SharePointMaarten Eekels
 
SPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep DiveSPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep DiveMaarten Eekels
 
SPSLondon - How to secure your data in Office 365
SPSLondon - How to secure your data in Office 365SPSLondon - How to secure your data in Office 365
SPSLondon - How to secure your data in Office 365Maarten Eekels
 

More from Maarten Eekels (20)

ESPC19 - Office 365 Labels Deep Dive
ESPC19 - Office 365 Labels Deep DiveESPC19 - Office 365 Labels Deep Dive
ESPC19 - Office 365 Labels Deep Dive
 
Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...
Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...
Dutch Microsoft & Security Meetup - Ignite recap Microsoft 365 Security and C...
 
Experts Live 2019 - Microsoft Teams Architecture Deep Dive
Experts Live 2019 - Microsoft Teams Architecture Deep DiveExperts Live 2019 - Microsoft Teams Architecture Deep Dive
Experts Live 2019 - Microsoft Teams Architecture Deep Dive
 
Dutch Microsoft & Security Meetup - How to protect my data in Office 365?
Dutch Microsoft & Security Meetup - How to protect my data in Office 365?Dutch Microsoft & Security Meetup - How to protect my data in Office 365?
Dutch Microsoft & Security Meetup - How to protect my data in Office 365?
 
NACS - Microsoft Stream - Your Video Portal Unleashed
NACS - Microsoft Stream - Your Video Portal UnleashedNACS - Microsoft Stream - Your Video Portal Unleashed
NACS - Microsoft Stream - Your Video Portal Unleashed
 
Office 365 Connect 2018 - Modern news publishing with SharePoint
Office 365 Connect 2018 - Modern news publishing with SharePointOffice 365 Connect 2018 - Modern news publishing with SharePoint
Office 365 Connect 2018 - Modern news publishing with SharePoint
 
SPSBE18 - Microsoft Stream - Your enterprise video portal unleashed
SPSBE18 - Microsoft Stream - Your enterprise video portal unleashedSPSBE18 - Microsoft Stream - Your enterprise video portal unleashed
SPSBE18 - Microsoft Stream - Your enterprise video portal unleashed
 
SPSCambridge18 - Modern news publishing with SharePoint
SPSCambridge18 - Modern news publishing with SharePointSPSCambridge18 - Modern news publishing with SharePoint
SPSCambridge18 - Modern news publishing with SharePoint
 
Experts Live NL 2018 - Extern delen van data in Office 365
Experts Live NL 2018 - Extern delen van data in Office 365Experts Live NL 2018 - Extern delen van data in Office 365
Experts Live NL 2018 - Extern delen van data in Office 365
 
Microsoft Stream - Your Enterprise Video Portal Unleashed
Microsoft Stream - Your Enterprise Video Portal UnleashedMicrosoft Stream - Your Enterprise Video Portal Unleashed
Microsoft Stream - Your Enterprise Video Portal Unleashed
 
SPSHEL18 - Modern News Publishing with SharePoint
SPSHEL18 - Modern News Publishing with SharePointSPSHEL18 - Modern News Publishing with SharePoint
SPSHEL18 - Modern News Publishing with SharePoint
 
SPSHEL18 - Microsoft Teams Deep Dive
SPSHEL18 - Microsoft Teams Deep DiveSPSHEL18 - Microsoft Teams Deep Dive
SPSHEL18 - Microsoft Teams Deep Dive
 
SPSDENORTH18 - Modern News Publishing with SharePoint
SPSDENORTH18 - Modern News Publishing with SharePointSPSDENORTH18 - Modern News Publishing with SharePoint
SPSDENORTH18 - Modern News Publishing with SharePoint
 
InSpark Ignite Recap Office 365
InSpark Ignite Recap Office 365InSpark Ignite Recap Office 365
InSpark Ignite Recap Office 365
 
SPSVIE17 - Microsoft Flow And PowerApps - End-To-End
SPSVIE17 - Microsoft Flow And PowerApps - End-To-EndSPSVIE17 - Microsoft Flow And PowerApps - End-To-End
SPSVIE17 - Microsoft Flow And PowerApps - End-To-End
 
ESPC17 - The Microsoft On-premises Data Gateway
ESPC17 - The Microsoft On-premises Data GatewayESPC17 - The Microsoft On-premises Data Gateway
ESPC17 - The Microsoft On-premises Data Gateway
 
SPUnite17 - External Sharing in SharePoint Online
SPUnite17 - External Sharing in SharePoint OnlineSPUnite17 - External Sharing in SharePoint Online
SPUnite17 - External Sharing in SharePoint Online
 
SPUnite17 - Modern News Publishing With SharePoint
SPUnite17 - Modern News Publishing With SharePointSPUnite17 - Modern News Publishing With SharePoint
SPUnite17 - Modern News Publishing With SharePoint
 
SPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep DiveSPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep Dive
 
SPSLondon - How to secure your data in Office 365
SPSLondon - How to secure your data in Office 365SPSLondon - How to secure your data in Office 365
SPSLondon - How to secure your data in Office 365
 

Recently uploaded

The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationNathan Young
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...NETWAYS
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Escort Service
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸mathanramanathan2005
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGYpruthirajnayak525
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSebastiano Panichella
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...NETWAYS
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...NETWAYS
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxaryanv1753
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxCarrieButtitta
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...NETWAYS
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@vikas rana
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxJohnree4
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 

Recently uploaded (20)

The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism Presentation
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 

ESPC19 - Microsoft Teams Architecture Deep Dive

  • 1. MICROSOFT TEAMS ARCHITECTURE DEEP DIVE MAARTEN EEKELS - @maarteneekels CHIEF DIGITAL OFFICER PORTIVA MICROSOFT MVP & REGIONAL DIRECTOR
  • 2. MICROSOFT TEAMS LOGICAL ARCHITECTURE Message Images, Emojis, Stickers, Recordings Contacts Teams Chats Voice Chat OneDrive for Business Tabs Apps Calling Meetings Voice mail Team Office 365 Groups Channel SharePoint Reply Chain Tabs Activity Feed Apps Folder SharePoint Folder TEAMCHANNEL#0
  • 3. ARCHITECTURE – A BIT DEEPER Services Most recent files Telemetry Files Files Web Companions Notes Calendar AAD MessagingSettings and O365 access OneNote OneDrivefor Business WAC Other Workloads Connectors Audio / video Search Notification service SMTP SharePoint Publish / Subscribe Push Notifications Exchange Experimentation MRU Teams services Calling / Meeting PSTN Teams Clients Desktop iOS App Android AppElectron Web Chat & Presence services Exchange Information Protection Graph Webhook Stream Recording Bots Graph API Email service Policy
  • 4. WHERE IS EVERYTHING STORED? Image Files Voicemail Message Recording Calendar meeting Contacts Media service on Azure (using Blob storage) Team files  SharePoint Chat files  OneDrive for Business Individual mailbox in Exchange Chat service table storage (moving to Cosmos DB) Media service on Azure (using Blob storage) (<24 hours) Individual mailbox in Exchange Exchange Ingested to Exchange to enable compliance Ingested to Exchange to enable compliance Encoded to Stream Telemetry Microsoft Data warehouse (No customer content)
  • 5. DATA FLOWS AND THE COMPLIANCE BOUNDARY compliance boundary Microsoft Teams Email a channel Connectors Calling Plan (PSTN) Push Notifications (Mobile) Other Cloud storage (3rd party) Giphy 2-way communication Inbound data Outbound data Data posted to a channel Data posted to a channel Query to Giphy Push notifications to Apple or Google to notify mobile client Optional Box, Dropbox, Google drive, Citrix ShareFile Tabs Any third-party tab is hosted outside the compliance boundary Apps/Bots Any third-party App/bot or line of business app is hosted outside the compliance boundary Graph API Graph APIs can be exposed to line of business apps or 3rd party apps Enables inbound/outbound calling outside the organization User Browser, Desktop ,MobileStandard Teams user Guest userGuest added via AAD B2B Anonymous join to a meeting Anonymous user joining a meeting Federation communication Communication between multiple tenants URL Preview Get a preview of a URL that is posted to a message
  • 6. TEAMS CLIENT ARCHITECTURE Web Windows Mac iPhone/iPad Android Angular → React Electron Desktop Mobile jQuery, lodash, etc. (200+ Open Source Components) iOS Android TypeScript, Node, SASS Swift Java HTML5/CSS C++ Objective C (Some) React Native
  • 7. MEMBERSHIP AND ROLES Team Owner Team Member Team Guest Create team  - - Leave team    Edit team name/description  - - Delete team  - - Add channel  * * Edit channel name/description  * * Delete/restore channel  * * Edit messages  * * Delete messages * * * Add members  - - Add tabs  * - Add connectors  * - Add bots  * - * Can be restricted through Team Settings by the owner
  • 8. TEAMS ADMIN ROLES • Teams Service Administrator: The overall Teams workload admin, who can also manage and create O365 Groups. • Teams Communication Administrator: This role can manage meetings and calling functionality in Microsoft Teams. • Teams Communications Support Engineering: Users who are assigned this role have access to advanced call analytics tools. • Teams Communications Support Specialist: This role has access to basic call analytics tools. • Group Administrator: Users in this role can create/manage groups and its settings like naming and expiration policies.
  • 12. MANAGE TEAMS WITH POWERSHELL Install-Module -Name MicrosoftTeams Get-Team $groupId = (Get-AzureADGroup -SearchString “<group name>").objectId Get-Team -GroupId $groupId | fl Set-Team -GroupId $groupId -<setting name> <boolean>
  • 13. RESTRICT TEAMS CREATION Azure Active Directory versie 2 PowerShell module required Connect-AzureAD Get-AzureADDirectorySetting $Policy = Get-AzureADDirectorySettingTemplate –Id 62375ab9-6b52- 47ed-826b-58e47e0e304b $Setting = $Policy.CreateDirectorySetting() $Setting[“EnableGroupCreation”] = “false” $Setting[“GroupCreationAllowedGroupId”] = “your group ID” New-AzureADDirectorySetting -DirectorySetting $Setting https://docs.microsoft.com/en- us/powershell/azure/overview?view=azureadps-2.0
  • 14. EXTERNAL GUEST ACCESS • Default setting: Off for tenants / On for individual Teams • Disabling or enabling external guest user access for individual Teams is only possible through PowerShell $template = Get-AzureADDirectorySettingTemplate | ? {$_.displayname -eq "group.unified.guest"} $settings = $template.CreateDirectorySetting() $settings["AllowToAddGuests"]=$False $groupID = (Get-AzureADGroup -SearchString “<your group name").ObjectId Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups | fl Values New-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups -DirectorySetting $settings Get-AzureADObjectSetting -TargetObjectId $groupId -TargetType Groups | Set-AzureADObjectSetting -TargetObjectId $groupId -TargetType Groups -DirectorySetting $settings
  • 15. DEMO
  • 16. GROUPS EXPIRATION POLICY • Activity based renewal is on by default
  • 17. NAMING CONVENTIONS Get-AzureADDirectorySetting $directorySetting = Get-AzureADDirectorySetting -Id 92efeacc-89c6-4c16-b1cf-107aaf87f7dc $directorySetting.Values $directorySetting["PrefixSuffixNamingRequirement"] = "Grp_[Department]_[GroupName]" $directorySetting["CustomBlockedWordsList"]="Payroll,CEO,HR" Set-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | where -Property DisplayName -Value "Group.Unified" -EQ).id -DirectorySetting $directorySetting
  • 21. DEMO

Editor's Notes

  1. To add your image, first delete the place holder image as shown in the white box. Then insert your picture and scale it to be bigger than the size of the white box shown. Finally, right click on your image and select ‘Send to back’ – your image should now be framed correctly.
  2. This is the Pre-Title Screen. Please do not place any content on this screen.