Nexa — Cloud-Native Video Streaming Platform
Objective
Design and implement a cloud-native video streaming platform as a master's thesis project, exploring how modern AWS services can be composed into a scalable architecture for on-demand video delivery — from raw upload through encoding, storage, and HLS playback.
Approach
Decomposed the platform into discrete microservices on ECS/Fargate, each owning its data and communicating over REST APIs. Infrastructure is defined entirely in Terraform and AWS CDK — the environment is reproducible, version-controlled, and audit-able.
Architecture

Key Engineering Decisions
Microservice decomposition
Separated video ingestion, catalog management, and user handling into independent services. Each owns its data and exposes a REST API, so any service can be deployed, scaled, or rewritten without touching the others.
Asynchronous transcoding pipeline
Raw uploads land in S3, which triggers a MediaConvert job via Lambda — the API response returns immediately. Encoding runs out-of-band, decoupling upload latency from processing time entirely.
CloudFront for all delivery paths
Both the static frontend and HLS video segments are served through the same CloudFront distribution with different origin configurations. No separate CDN setup: cache policies, signed URLs, and geographic distribution handled in one place.
Everything in infrastructure as code
Terraform manages VPCs, IAM roles, ECS clusters, and RDS configurations. AWS CDK handles higher-level constructs. The entire environment can be torn down and recreated from a single apply — no manual console state.
DynamoDB for catalog, OpenSearch for search
Catalog metadata is in DynamoDB for fast key-value lookups by ID. OpenSearch handles full-text queries and faceted filtering, letting each store do what it is actually designed for.
Implemented
- ✓Java and Spring Boot microservices running on ECS/Fargate
- ✓Nuxt.js frontend deployed to S3 and served via CloudFront
- ✓Video upload to S3 with MediaConvert transcoding to HLS
- ✓Amazon Cognito authentication and authorization
- ✓API Gateway routing to Lambda and containerized services
- ✓DynamoDB for video catalog metadata
- ✓OpenSearch for full-text search and filtering
- ✓Terraform and AWS CDK infrastructure definitions
- ✓HLS video playback in the browser
- ✓Adaptive bitrate streaming based on client bandwidth
Planned (thesis scope)
- ○Subscription and payment processing integration
- ○Content recommendation and personalization
- ○Admin analytics and upload dashboard
