09 Apr Microsoft Stream Architecture details
Microsoft Stream Architecture details
Microsoft Stream is a Microsoft enterprise video solution as part of Office 365 were customers can securely carry and deliver videos to their organization. Streams support Live events through Teams, Stream, and Yammer. Microsoft provides a portal to upload, share, and discover videos such as executive communication or training and support videos. Microsoft Stream allows users to upload videos, search groups & videos, broadcast their live events, provide a way to categorize and organize videos, and User can also create a group and Stream that allows users to embed video in Microsoft Teams. Additionally Stream allows Teams video recording, like when a user records the Teams meeting by clicking on the record button in Teams meeting that recording goes overs Stream and all of the sources are fully integrated with stream including automatic transcripts, search and enterprise security that customer expects from Microsoft Office 365 services.
When you think about Stream as service, which has a front end and the set of backend services. Users access and interact with a stream through front ends, that is the Stream portal that users can access by visiting Microsoftstream.com. The Stream support is embedded videos and channels and set of other applications, so customers who are using other applications that don’t have to leave their application to consume streams video. Stream also supports a simplified form of embedded service. As a result, the application can call Stream embed endpoint to dynamically get embedded code and automatically embed the videos inside of the application.
Figure 1 Stream architecture 
Stream does support iOS and Android apps that are used for consuming as well as creating content on the go using mobile apps.
Figure 1 shows Streams different components. Streams backend services, streams first set of services called Stream core services such as permission, media organization, search, and live events. There are services where the Stream business logic exists. Microsoft implements permission service that allows users to authenticate and access the permitted content when users logged in to stream portal that allows users to authenticate and authorize to access their resources on stream .
- Media organization- is part of backend service that allows accessing groups and channels, so stream implements office 365 groups and channels inside of that, it organizes the content.
- Another backend service is search- When user inputs keywords that usually search inside the title and description. Stream also does deep search inside the automatically generated transcripts to find the most relevant content for the users.
- Live events- Streams support the live event, all the logic including live event scheduling, connected with encoder, working with Azure media services to set up a channel and get the whole live event going that knowledge is implemented inside the backend service.
- Microsoft Stream has dependencies on Azure media service. Azure media service is Azure is offering that does the streams media processing through encoding. Whenever users uploads a video to Stream (stream support multiple types of video formats), encoding in Azure media service encodes the video in different bit rates to supports the various network conditions.
- Content protection- Dynamically encrypts the video content using AES 120-bit encryption so that the user content streaming is secure while streaming.
- Streaming service – it implements the adaptive bit rates so that irrespective of customer network condition and media player size streams adopt these different conditions to provide optimal video quality.
- Azure Media players – Microsoft Stream player is based on the Azure media player.
In addition to that, the stream also has dependencies on the other Azure service including, Azure Blob storage. That’s where the video assets are stored, including video files, the thumbnail that generated, a transcript that generated are stored in Azure storage. Stream uses Azure SQL DB to store the video metadata, so things like title, description, permission, and view count. Both Azure storage and SQL DB encrypted at rest.
Azure Active Directory also integrated with the stream to authenticate users. Streams are also top of Office 365 group, and Stream uses telemetry services to shows uses and performance. 
When a user logged in to the Stream portal, the first things happen authentication so that the user gets validated after login stream loads the front end from the nearest data center. For example, the Bloguc organization tenant hosted in the USA; however, user Balu is located in India, so the front end loaded from the data center that closest to the user ‘Balu,’ not the tenant that is in the USA. In backend Stream, figure out the backend tenant location and load the backend services for the user.
 Microsoft Stream architecture and administration information retrieved from https://myignite.techcommunity.microsoft.com/sessions/81526?
 Microsoft Stream group and their structure retrieved from https://docs.microsoft.com/en-us/stream/groups-channels-organization