UGC, Transcoding & Containers at Bayerischer Rundfunk

Preview:

Citation preview

UGC, Transcoding & Containers at Bayerischer Rundfunk

Philipp DresselSoftwareentwicklung und Plattformen, BR

BR24 App

BR24 App

Name Location

Description Contact

API GatewayMetadataBR24

App

API GatewayMetadataBR24

App LambdaMetadata

API Gateway DynamoDBMetadataBR24

App Metadata Lambda Metadata

API Gateway DynamoDB

MetadataBR24 App Metadata Lambda

Metadata

API Gateway DynamoDB

MetadataBR24 App S3 URL

Metadata LambdaMetadata

S3 URL

API Gateway

S3

DynamoDB

Metadata

BR24 App

S3 URL

Media

Metadata LambdaMetadata

S3 URL

API Gateway

S3

DynamoDB

Metadata

BR24 App

S3 URL

LambdaMedia

Metadata LambdaMetadata

Completed

S3 URL

API Gateway

S3

DynamoDB

Metadata

BR24 App

S3 URL

LambdaMedia

Metadata

Completed

LambdaMetadata

Completed

S3 URL

API Gateway

S3

DynamoDB

Metadata

Website

BR24 App

S3 URL

LambdaMedia

Metadata

Completed

Lambda

Region

Metadata

Completed

S3 URL

API Gateway

S3

DynamoDB

Metadata

Website

BR24 App

S3 URL

LambdaMedia

Metadata

Completed

Lambda

LambdaRegion

Metadata

Region

Completed

S3 URL

API Gateway

S3

DynamoDBMetadata

Website

BR24 App

S3 URL

LambdaMedia

Metadata

Completed

Lambda

LambdaRegion Region

Metadata

Region

Completed

S3 URL

API Gateway

S3

DynamoDBMetadata

Website

BR24 App

S3 URL

LambdaMedia

Metadata

Completed

Lambda

LambdaRegion

Count

Region

Count

Metadata

Region

Completed

Count

S3 URL

Lessons learned

BR24 CMS

BR24 CMS

Name Media File

API Gateway

MetadataBR24 CMS S3 URL

LambdaMetadata

S3 URL

API Gateway DynamoDB

MetadataBR24 CMS S3 URL

LambdaS3 URL

MetadataMetadata

API Gateway

S3 Input

DynamoDBMetadata

BR24 CMS

S3 URL

Media

MetadataLambdaMetadata

S3 URL

API Gateway

S3 Input

DynamoDBMetadata

BR24 CMS

S3 URL

Lambda

Media

MetadataLambdaMetadata

Completed

S3 URL

API Gateway

S3 Input

DynamoDBMetadata

BR24 CMS

S3 URL

Lambda

Media

Metadata

Start Job

LambdaMetadata

Completed

S3 URL

Elastic Transcoder

API Gateway

S3 Input

DynamoDBMetadata

BR24 CMS

S3 URL

Lambda

Media

Metadata

Start Job

LambdaMetadata

Completed

S3 URL

Elastic Transcoder

Input Media

API Gateway

S3 Input

DynamoDBMetadata

BR24 CMS

S3 URL

Lambda

Media

Metadata

Start Job

LambdaMetadata

Completed

S3 URL

Elastic Transcoder

S3 Output

Input Media

Output Media

API Gateway

S3 Input

DynamoDBMetadata

BR24 CMS

S3 URL

Lambda

Media

Metadata

Start Job

LambdaMetadata

Completed

S3 URL

Elastic Transcoder

S3 Output

Input Media

Output MediaMediaCDN

Elastic Transcoder

Project Repository

Project Repository

Services Deployment

Build Ingress

Frontend Backend Database

Project Repository

Submodules

Services Deployment

Build Ingress

Frontend Backend Database

Project RepositorySubmodules

CodeDockerfile DockerfileCode

Dockerfile

Frontend Backend Database

Project RepositorySubmodules

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Frontend Backend Database

Project RepositorySubmodules

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment Deployment Deployment

Frontend Backend Database

Project RepositorySubmodules

AWS ELB

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment Deployment Deployment

master staging feature

Project RepositoryBranches

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment

AWS ELB

Deployment Deployment

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment

AWS ELB

Deployment Deployment

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment

AWS ELB

Deployment Deployment

frontend.staging.project.cluster.iofrontend

master staging feature

Project RepositoryBranches

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment

AWS ELB

Deployment Deployment

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment

AWS ELB

Deployment Deployment

CodeDockerfile DockerfileCode

Dockerfile

Image Image Image

Deployment

AWS ELB

Deployment Deployment

staging project

VPC

VPC

AZ aASG M1

Master 1

VPC

AZ aASG M1

Master 1

ASG

W1 Worker 1

Worker 2

VPC

AZ aASG M1

Master 1

ASG

W1

Worker 1

Worker 2

Worker 3

VPC

AZ aASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 4

VPC

AZ b AZ cAZ aASG M3

Master 3

ASG M2

Master 2

ASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 8

Worker 9

Worker 10

Worker 4 Worker 7

VPC

AZ b AZ cAZ aASG M3

Master 3

ASG M2

Master 2

ASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 8

Worker 9

Worker 10

Worker 4 Worker 7

VPC

AZ b AZ cAZ aASG M3

Master 3

ASG M2

Master 2

ASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 8

Worker 9

Worker 4 Worker 7

VPC

AZ b AZ cAZ aASG M3

Master 3

ASG M2

Master 2

ASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 8

Worker 9

Worker 4 Worker 7

Worker 10

VPC

AZ b AZ cAZ aASG M3

Master 3

ASG M2

Master 2

ASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 8

Worker 9

Worker 4 Worker 7

Worker 10

VPC

AZ bAZ aASG M2

Master 2

ASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 4 Worker 7

Worker 10

VPC

AZ bAZ aASG M2

Master 2

ASG M1

Master 1AS

G W

1AS

G W

2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 4 Worker 7

Worker 10

VPC

AZ bAZ aASG M2

Master 2

ASG M1

Master 1AS

G W

1AS

G W

2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 4 Worker 7

Worker 10

Worker 8 Worker 9

VPC

AZ cAZ bAZ aASG M2

Master 2

ASG M1

Master 1AS

G W

1AS

G W

2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 4 Worker 7

Worker 10

Worker 8 Worker 9

ASG M3

Master 3

VPC

AZ b AZ cAZ aASG M3

Master 3

ASG M2

Master 2

ASG M1

Master 1

ASG

W1

ASG

W2

Worker 1

Worker 2

Worker 3

Worker 5

Worker 6

Worker 8

Worker 9

Worker 10

Worker 4 Worker 7

Persistence

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Worker 1 Worker 2 Worker 3 Worker 4 Worker 5

Overlay Network

Elastic Loadbalancer

Logging

Monitoring

Thank you!

philipp.dressel@br.de@philipp_dresselpdressel

Recommended