SlideShare a Scribd company logo
ColdFusion Summit 2016
Accessible Video Anywhere
with ColdFusion and AWS
Brian Klaas
Johns Hopkins University
bklaas@jhu.edu
@brian_klaas
Forces Caveat Overview AWS Services v2 v3 Problems WinsForces
Accessible Video Anywhere with ColdFusion an AWS
Forces Caveat Overview AWS Services v2 v3 Problems WinsForces
Section 504
Section 508
Title III
Forces Caveat Overview AWS Services v2 v3 Problems WinsForces
Forces Caveat Overview AWS Services v2 v3 Problems WinsForces
Forces Caveat Overview AWS Services v2 v3 Problems WinsForces
Forces Caveat Overview AWS Services v2 v3 Problems WinsForces
Forces Caveat Overview AWS Services v2 v3 Problems WinsForces
Accessible Video Anywhere
with ColdFusion and AWS
Brian Klaas
Johns Hopkins University
bklaas@jhu.edu
@brian_klaas
Forces Caveat Overview AWS Services v2 v3 Problems WinsCaveat
Forces Caveat Overview AWS Services v2 v3 Problems WinsCaveat
Forces Caveat Overview AWS Services v2 v3 Problems WinsCaveat
Architecture !code
Forces Caveat Overview AWS Services v2 v3 Problems WinsCaveat
Forces Caveat Overview AWS Services v2 v3 Problems WinsOverview
So…
Forces Caveat Overview AWS Services v2 v3 Problems WinsOverview
Forces Caveat Overview AWS Services v2 v3 Problems WinsOverview
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Simple
Storage
Service
S3
AWS Services
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
<cffile action=“read”
file=“s3://somebucket/somefile.txt”
variable=“fileData”/>
<cfdirectory action=“list”
directory=“s3://somebucket/someDirectory”/>
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Simple
Storage
Service
S3
AWS Services
CloudFront
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
http://myDistribution.cloudFront.net/myFile/inS3.mp4
Protect files with signatures or by geographic region
$50/month per TB of traffic
CloudFront
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
We built nothing.
Forces Caveat Overview AWS Services v2 v3 Problems WinsOverview
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
Elastic Transcoder
Massively parallel A/V transcoding engine
Cheaper than most desktop transcoding solutions
Repeatable jobs set up through a web form …or…
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
= Serverless computing
Lambda
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
<1.5 GB RAM
<5 minutes
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
?
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
?
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
= Pub/Sub
Simple Notification Service
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
v1
Forces Caveat Overview AWS Services v2 v3 Problems WinsAWS Services
!
Each S3 bucket can only have one Lambda listener
Track changes across multiple functions
ET jobs run asynchronously, and each gets its own ID
How do we know things are done?
Forces Caveat Overview AWS Services v2 v3 Problems Wins
v1
v2
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Persistence
v2
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Crazy scalable NoSQL document datastore
Pay for reads/writes per second
DynamoDB
Flexible data model as we figured what we needed
v2
Forces Caveat Overview AWS Services v2 v3 Problems Winsv2
Job 2
Job 1
Job 3
Forces Caveat Overview AWS Services v2 v3 Problems Winsv2
Job 2
Job 1
Job 3
Forces Caveat Overview AWS Services v2 v3 Problems Winsv2
Job 2
Job 1
Job 3
All done?
Forces Caveat Overview AWS Services v2 v3 Problems Winsv2
Job 2
Job 1
Job 3
All done?
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Massively scalable infrastructure
API for subscribe/unsub, tracks bounces
Simple Email Service
Lambda functions can handle incoming + bounce msgs
v2
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Video uploaded to S3 input bucket
Lambda processes file
Info about source file is stored in DynamoDB by Lambda function
v2
v2
Lambda function fires off all needed Elastic Transcoder jobs
Elastic Transcoder notifies SNS when each job is done
Lambda processes incoming SNS message
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Information about job is updated in DynamoDB
Lambda function moves transcoded file to S3
v2
v2
Lambda function checks to see if all related jobs are done
If yes, SES message is sent to appropriate team member
If yes, Lambda notifies CF-based LMS to make video available
CloudFront picks up the file for global distribution
Forces Caveat Overview AWS Services v2 v3 Problems WinsOverview
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Bulk purchase savings + variable turnaround time
Highly accurate even on technical jargon + ESL
Caption search plugins
v3
API for job processing and tracking
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
!
Forces Caveat Overview AWS Services v2 v3 Problems Wins
videoID.mp4
v2
videoID^bklaas.mp4videoID^bklaas^sameDay.mp4videoID^bklaas^sameDay^noCaptions.mp4videoID^bklaas^sameDay^noCaptions^otherbucket/otherPath.mp4
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
!
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Security credential system
Users, groups, permissions, roles
Identity Access Management
Extremely fine-grained control over access
v2
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
!
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
Forces Caveat Overview AWS Services v2 v3 Problems Wins
ctlS3Utils: 

https://github.com/brianklaas/ctlS3Utils
ctlCloudFrontUtils:

https://github.com/brianklaas/ctlCloudFrontUtils
CTL Utils Request signing and file property manipulation
v3
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
v3
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
v3
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
Forces Caveat Overview AWS Services v2 v3 Problems Winsv3
Jobs
Forces Caveat Overview AWS Services v2 v3 Problems Wins
😢 Problems
Problems
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Security
Problems
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Always https
Problems
Add the 3rd party certificate to the Java keystore
Security
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Use custom attributes for internal validation
Problems
Security
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Build for idempotence
Problems
Security
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Network timeouts
Problems
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Lambda function execution time limit
Problems
Network
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Store on S3, let 3rd party API grab
Problems
Network
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Retries
Problems
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Backup Lambda or CF functions for retries
Problems
Retries
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Process
Problems
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Debugging in Lambda is awful.
Problems
Process
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Testing Lambda functions is hard.
Problems
Process
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Everything fails.
Problems
Process
Forces Caveat Overview AWS Services v2 v3 Problems Wins
async:waterfall
Problems
Process
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Distributed, moving pieces
Problems
Process
Forces Caveat Overview AWS Services v2 v3 Problems WinsWins
👍 Wins!
Forces Caveat Overview AWS Services v2 v3 Problems Wins
No servers.
No updating.
No admin.
Wins
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Fast!
Wins
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Cheap!
Wins
Forces Caveat Overview AWS Services v2 v3 Problems WinsWins
Fast Cheap
Good
Forces Caveat Overview AWS Services v2 v3 Problems Wins
+ AWS Services
+ Node.js
+ Microservices
Wins
Forces Caveat Overview AWS Services v2 v3 Problems Wins
Learn
Wins
Go Do!
Questions?
Brian Klaas
Johns Hopkins University
bklaas@jhu.edu
@brian_klaas
Thank	you!

More Related Content

PDF
Expand Your ColdFusion App Power with AWS
PPTX
Load Balancing, Failover and Scalability with ColdFusion
PDF
Migration to ColdFusion 11 – making it seamless and easy anit
PDF
Bring api manager into your stack
PPTX
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
PPTX
Introduction to DevOps on AWS
PPTX
Amazon Web Services for the .NET Developer
PDF
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Expand Your ColdFusion App Power with AWS
Load Balancing, Failover and Scalability with ColdFusion
Migration to ColdFusion 11 – making it seamless and easy anit
Bring api manager into your stack
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Introduction to DevOps on AWS
Amazon Web Services for the .NET Developer
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?

What's hot (6)

PDF
PDF
Continuous Integration and Deployment Best Practices on AWS
PDF
Api manager preconference
PDF
Hidden gems in cf2016
PDF
Become a Security Rockstar with ColdFusion 2016
PDF
AWS re:Invent re:Cap - 배포를 더욱 손쉽고 빠르게: Amazon EC2 Container Service - 김일호
Continuous Integration and Deployment Best Practices on AWS
Api manager preconference
Hidden gems in cf2016
Become a Security Rockstar with ColdFusion 2016
AWS re:Invent re:Cap - 배포를 더욱 손쉽고 빠르게: Amazon EC2 Container Service - 김일호
Ad

Viewers also liked (20)

PDF
My charts can beat up your charts
PDF
Fr sponsor talk may 2015
PDF
Adaptive Development in a Creative World
PDF
This is how we REST
PDF
Setting up your multiengine environment Apache Railo ColdFusion
PDF
Emberjs building-ambitious-web-applications
PDF
Java scriptconfusingbits
PPTX
Cold fusion is racecar fast
PDF
Hidden Gems in ColdFusion 11
PDF
Understanding bdd and tdd with lego
PDF
Everyones invited! Meet accesibility requirements with ColdFusion
PDF
Node withoutservers aws-lambda
PDF
Dependency Injection
PDF
Multiply like rabbits with rabbit mq
PDF
Locking Down CF Servers
PDF
Dependency Injection Why is it awesome and Why should I care?
PPTX
Level up your front-end skills- going beyond cold fusion’s ui tags
PPTX
Sql killedserver
PPTX
2014 cf summit_clustering
PDF
Powering GIS Operations with ColdFusion
My charts can beat up your charts
Fr sponsor talk may 2015
Adaptive Development in a Creative World
This is how we REST
Setting up your multiengine environment Apache Railo ColdFusion
Emberjs building-ambitious-web-applications
Java scriptconfusingbits
Cold fusion is racecar fast
Hidden Gems in ColdFusion 11
Understanding bdd and tdd with lego
Everyones invited! Meet accesibility requirements with ColdFusion
Node withoutservers aws-lambda
Dependency Injection
Multiply like rabbits with rabbit mq
Locking Down CF Servers
Dependency Injection Why is it awesome and Why should I care?
Level up your front-end skills- going beyond cold fusion’s ui tags
Sql killedserver
2014 cf summit_clustering
Powering GIS Operations with ColdFusion
Ad

Similar to Accessible Video Anywhere with ColdFusion an AWS (20)

PDF
Serverless Architectural Patterns
PDF
Serveless Design Patterns (Serverless Computing London)
PDF
Serverless Design Patterns
PDF
Serveless design patterns (VoxxedDays Luxembourg)
PDF
AWS re:Invent 2017 re:View
PDF
Serverless Architectural Patterns & Best Practices
PDF
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
PDF
Onur Salk & Onur Gurdamar - Everything as Code: Creating an application stack...
PDF
AWS Community Day Ireland - Refactoring a serverless app
PDF
Serverless Development To Production Pipeline
PDF
What’s new in serverless - re:Invent 2020
PDF
Come and learn with AWS HANDS-ON LABS - Poccia
PDF
Ruby Conference Belarus 2019 Apr Jets Ruby Serverless Framework
PPTX
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
PDF
"Плюси та мінуси впровадження AWS Lambda в проєкт" Віталій Григоришин
PDF
QwikSkills AWS Cloud Training - Curriculum.pdf
PPTX
JakartaJS: Serverless in production
PDF
Serverless Computing London 2018 - Migrating services to serverless in 10 steps
ODP
DPD:AWS Developer Training
PPTX
AWS Migration Day - Windows Workloads
Serverless Architectural Patterns
Serveless Design Patterns (Serverless Computing London)
Serverless Design Patterns
Serveless design patterns (VoxxedDays Luxembourg)
AWS re:Invent 2017 re:View
Serverless Architectural Patterns & Best Practices
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
Onur Salk & Onur Gurdamar - Everything as Code: Creating an application stack...
AWS Community Day Ireland - Refactoring a serverless app
Serverless Development To Production Pipeline
What’s new in serverless - re:Invent 2020
Come and learn with AWS HANDS-ON LABS - Poccia
Ruby Conference Belarus 2019 Apr Jets Ruby Serverless Framework
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
"Плюси та мінуси впровадження AWS Lambda в проєкт" Віталій Григоришин
QwikSkills AWS Cloud Training - Curriculum.pdf
JakartaJS: Serverless in production
Serverless Computing London 2018 - Migrating services to serverless in 10 steps
DPD:AWS Developer Training
AWS Migration Day - Windows Workloads

More from ColdFusionConference (20)

PDF
PDF
Building better SQL Server Databases
PDF
API Economy, Realizing the Business Value of APIs
PDF
Don't just pdf, Smart PDF
PDF
Crafting ColdFusion Applications like an Architect
PDF
Security And Access Control For APIS using CF API Manager
PDF
Monetizing Business Models: ColdFusion and APIS
PDF
ColdFusion in Transit action
PDF
Developer Insights for Application Upgrade to ColdFusion 2016
PDF
Where is cold fusion headed
PDF
ColdFusion Keynote: Building the Agile Web Since 1995
PDF
Instant ColdFusion with Vagrant
PPT
Restful services with ColdFusion
PDF
Super Fast Application development with Mura CMS
PDF
Build your own secure and real-time dashboard for mobile and web
PDF
Why Everyone else writes bad code
PDF
Securing applications
PDF
Testing automaton
PDF
Rest ful tools for lazy experts
PDF
Herding cats managing ColdFusion servers with commandbox
Building better SQL Server Databases
API Economy, Realizing the Business Value of APIs
Don't just pdf, Smart PDF
Crafting ColdFusion Applications like an Architect
Security And Access Control For APIS using CF API Manager
Monetizing Business Models: ColdFusion and APIS
ColdFusion in Transit action
Developer Insights for Application Upgrade to ColdFusion 2016
Where is cold fusion headed
ColdFusion Keynote: Building the Agile Web Since 1995
Instant ColdFusion with Vagrant
Restful services with ColdFusion
Super Fast Application development with Mura CMS
Build your own secure and real-time dashboard for mobile and web
Why Everyone else writes bad code
Securing applications
Testing automaton
Rest ful tools for lazy experts
Herding cats managing ColdFusion servers with commandbox

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Modernizing your data center with Dell and AMD
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
A Presentation on Artificial Intelligence
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation theory and applications.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Modernizing your data center with Dell and AMD
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Per capita expenditure prediction using model stacking based on satellite ima...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
A Presentation on Artificial Intelligence
Advanced methodologies resolving dimensionality complications for autism neur...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Network Security Unit 5.pdf for BCA BBA.
MYSQL Presentation for SQL database connectivity
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation theory and applications.pdf

Accessible Video Anywhere with ColdFusion an AWS