Architecture pattern: applications and APIs

Video platform architecture: upload, transcode, store and stream

A video platform takes uploaded video, converts it into formats that play on every device, stores it and delivers it quickly to viewers. Here is how the pieces fit, which service plays each part on AWS, Azure and Google Cloud, and what to decide first.

Quick answer

A video-on-demand architecture stores uploaded source video in object storage, transcodes it into several sizes and streaming formats with a media service, saves the results and delivers them through a CDN. A sign-in service controls who can watch. Live streaming adds an ingest and packaging service.

The Video platform pattern at a glance
Best forTraining video libraries, course platforms, media archives and member-only video
Less suited whenOccasional video embeds, where an existing video hosting service is simpler
Start withUpload, transcode and play one video through a CDN, then add sign-in and analytics
Main services on AWSAmazon S3, AWS Elemental MediaConvert, Amazon Cognito, Amazon CloudFront
Main services on AzureAzure Blob Storage, Partner encoders and streaming, Microsoft Entra External ID, Azure Front Door
Main services on Google CloudCloud Storage, Transcoder API, Identity Platform, Cloud CDN

The idea in plain words

Video files from cameras and phones are large and come in many formats. To play smoothly on every phone, laptop and TV, a platform converts each video into several sizes and a streaming format, a step called transcoding.

The converted files sit in object storage, and a CDN delivers them from locations near viewers. A sign-in service controls who can watch. For live events, an ingest service takes the stream and prepares it as it arrives.

Video is the most expensive kind of content to store and deliver, so plan for storage tiers, delivery cost and the effort of building a player.

The architecture

Boxes show the job each part does. Pick a cloud to see the service for each job.

Video platform: architecture diagramTwo rows of boxes. The numbered steps below describe the same flow in words.origin for the CDNvideo stream1. Prepare the video (when it is uploaded)UploadCreators send sourcevideoSource storageKeeps the originalfilesAmazon S3Azure Blob StorageCloud StorageTranscodeMakes sizes andstreaming formatsAWS ElementalMediaConvertPartner encodersand streamingTranscoder APIReady to streamKeeps the convertedfilesAmazon S3Azure Blob StorageCloud Storage2. Play the videoViewerWatches on a phone,laptop or TVSign-inChecks who may watchAmazon CognitoMicrosoft EntraExternal IDIdentity PlatformCDNDelivers video fromnearbyAmazon CloudFrontAzure Front DoorCloud CDNVideo platform: architecture diagramBoxes from top to bottom. The numbered steps below describe the same flow in words.origin for the CDN1. Prepare the video (when it isuploaded)UploadCreators send source videoSource storageKeeps the original filesAmazon S3Azure Blob StorageCloud StorageTranscodeMakes sizes and streaming formatsAWS Elemental MediaConvertPartner encoders andstreamingTranscoder APIReady to streamKeeps the converted filesAmazon S3Azure Blob StorageCloud Storage2. Play the videoViewerWatches on a phone, laptop or TVSign-inChecks who may watchAmazon CognitoMicrosoft Entra External IDIdentity PlatformCDNDelivers video from nearbyAmazon CloudFrontAzure Front DoorCloud CDN↩ video stream, back to viewer
Arrows show the direction of the flow, and dashed lines connect the rows. Each box names the main service for that job, taken from CloudBrum's service suggester.

Step by step

  1. A creator uploads a videoThe upload goes straight to object storage using a short-lived link, so large files do not pass through your servers.
  2. A job is startedThe upload triggers a transcoding job through an event or a queue.
  3. The video is transcodedA media service converts it into several sizes and streaming formats, and can add thumbnails and captions.
  4. Results are storedThe converted files are saved to object storage, and the source is kept or moved to cheaper storage.
  5. The viewer signs inA sign-in service checks who may watch, and your app gives the player a signed or time-limited link.
  6. The CDN delivers itA CDN serves the video segments from locations near the viewer, using the converted files as its origin.
  7. The player adaptsThe player picks the best quality for the connection and switches as it changes, so playback stays smooth.

Services side by side

The main service for each job on each cloud, with a second option where one exists. Names checked on 23 October 2026.

Services for each job in this architecture on AWS, Azure and Google Cloud
JobAWSAzureGoogle Cloud
Object storage (files, images, backups)
  • Amazon S3Durable object storage for files, images, backups and data lakes
  • Azure Blob StorageObject storage for unstructured data, with hot, cool and archive tiers
  • Cloud StorageObject storage with Standard, Nearline, Coldline and Archive classes
Video: transcode, live stream and deliver
  • AWS Elemental MediaConvertFile-based video transcoding for on-demand video
  • Amazon IVS
  • Partner encoders and streaming (Bitmovin, MediaKind)Azure Media Services was retired on 30 June 2024; Microsoft points to Marketplace partners
  • Azure Video Indexer
  • Transcoder APIConverts video files for streaming
  • Live Stream API
Customer sign-up and login
  • Amazon CognitoUser sign-up and sign-in, social login, MFA and tokens for your apps
  • Microsoft Entra External IDCustomer identity for apps; replaces Azure AD B2C for new projects
  • Identity PlatformCustomer sign-in for apps, built on Firebase Authentication
CDN (fast delivery to users worldwide)
  • Amazon CloudFrontGlobal CDN with edge locations in India and worldwide
  • Azure Front DoorGlobal CDN with load balancing and a web application firewall
  • Cloud CDNCDN for sites behind Cloud Load Balancing
  • Media CDN

Common variations

  • Live streaming as well as recorded video. Add a live ingest and packaging service and a CDN set up for live segments, and plan for the delay between camera and viewer.
  • Paid or private video. Use signed, time-limited links and encryption or digital rights management, and keep the origin storage private.
  • A global audience. Use a CDN with wide coverage, keep popular files close to viewers and test playback on slow networks.
  • Captions and search. Add automatic captions and indexing, so viewers can search inside videos and accessibility needs are met.

Try this in the service suggester

Cloud media services or a partner or self-built pipeline?

Clouds differ here: some offer their own transcoding and live services, while others point to partner products. You can also build the pipeline yourself with open tools on servers.

Cloud or partner media service

Good

  • No transcoding servers to run
  • Scales with your upload volume
  • Presets for common formats and devices

Watch out

  • Cost per minute of video adds up
  • Features and formats differ by provider
  • Service choices change over time

Self-built pipeline

Good

  • Full control of encoding settings
  • No per-minute service fee, which helps at large volume
  • Portable across clouds

Watch out

  • You run, scale and patch the servers
  • Good encoding quality takes expertise
  • More to monitor and fix
A common path. Start with a media service for speed, and build your own only when volume makes the fees larger than the cost of running it.

Keep in mind

  • Delivery is the big cost. Delivering video to viewers usually costs more than storing or converting it. Compare CDN prices, set budget alerts and choose sensible quality levels.
  • Protect paid or private video. Keep source and converted files private, serve them through signed, short-lived links and consider encryption. Never leave storage open to the public.
  • Formats and devices. Test on real phones, TVs and browsers. Streaming formats and codecs differ by device, so offer more than one.
  • Storage tiers. Keep sources you might re-encode in cheaper storage, and delete temporary files automatically.
  • Rights and content rules. Check that you may host and show each video, handle takedown requests, and follow the IT Rules for user-uploaded content.
  • Moderation. If users upload video, plan moderation and reporting, and screen content for illegal material.
  • Accessibility. Add captions and transcripts, and make the player usable with a keyboard and a screen reader.
A starting point, not a design review. This is a general pattern. Your documents, users, rules and budget decide the real design. Confirm features, limits, pricing and regions on each provider's own pages. CloudBrum is independent of AWS, Microsoft and Google.

Words used on this page

Services in this pattern that have changed

Cloud providers rename and retire services often. These affect the parts above. Checked on 23 October 2026.

  • Azure Closed to new customers Azure AD B2C has not been sold to new customers since 1 May 2025. Microsoft Entra External ID is the replacement for new projects. Details
  • Azure Shut down Azure Media Services was retired on 30 June 2024. Microsoft lists Bitmovin, MediaKind and Ravnur as partner alternatives. Azure Video Indexer was not affected. Details

Sources and further reading

Check details such as features, limits, prices and regions in the providers' own documentation.

Announcements about the changed services above

Frequently asked questions

What is video transcoding?

Transcoding converts a video file into other sizes, bit rates and formats so it can play smoothly on different devices and connections. Platforms create several versions of every video.

How does video streaming work?

The video is cut into short segments in several qualities and delivered through a CDN. The player requests the segments one by one and switches quality as the connection changes.

Do I need a CDN for video?

Yes, for any real audience. A CDN delivers video from locations near viewers, keeps playback smooth and takes load off your storage.

How do I protect paid or private videos?

Keep files in private storage, check sign-in, and give the player signed links that expire. Add encryption or digital rights management for high-value content.

What is the difference between video on demand and live streaming?

Video on demand plays files that are already prepared. Live streaming takes a video feed as it happens, prepares it on the fly and delivers it with a short delay.

Want this reviewed for your case?

CloudBrum architects can adapt this pattern to your documents, users, rules and budget, and estimate the cost. Nothing is sent until you choose.

Building something else?

Describe it in plain words and get matching services on all three clouds.

Service suggester → Cloud consulting →