CloudFront is a Content Delivery Network (CDN) provided by Amazon Web Services (AWS). It integrates seamlessly with other AWS services.
Agenda of this presentation is CloudFront DESIGN PATTERNS which covers standard reusable CloudFront implementations.
This presentation was prepared for AWS Sydney Meetup.
14. Dynamic Thumbnailing
Dynamic: on-the-fly thumbnailing/caching
Adoptive: optimized for the device
Anti-pattern: Generate all sizes of
thumbnails on image upload and store in S3
Wednesday, 7 August 13
15. Dynamic Thumbnailing
Dynamic: on-the-fly thumbnailing/caching
Adoptive: optimized for the device
Anti-pattern: Generate all sizes of
thumbnails on image upload and store in S3
Not adoptive
Wednesday, 7 August 13
16. Dynamic Thumbnailing
Dynamic: on-the-fly thumbnailing/caching
Adoptive: optimized for the device
Anti-pattern: Generate all sizes of
thumbnails on image upload and store in S3
Not adoptive
Not manageable
Wednesday, 7 August 13
17. Dynamic Thumbnailing
Dynamic: on-the-fly thumbnailing/caching
Adoptive: optimized for the device
Anti-pattern: Generate all sizes of
thumbnails on image upload and store in S3
Not adoptive
Not manageable
Minor Design Changes: Regenerate all
thumbnails every time
Wednesday, 7 August 13
22. Dynamic Thumbnailing
Requires
A thumbnail cache behavior mapped to
custom origin server
Custom origin server with ability
To download original image from S3 or any
other source
Wednesday, 7 August 13
23. Dynamic Thumbnailing
Requires
A thumbnail cache behavior mapped to
custom origin server
Custom origin server with ability
To download original image from S3 or any
other source
To generate thumbnail of requested size and
return it to CF distribution to serve
Wednesday, 7 August 13
24. Dynamic Thumbnailing
Requires
A thumbnail cache behavior mapped to
custom origin server
Custom origin server with ability
To download original image from S3 or any
other source
To generate thumbnail of requested size and
return it to CF distribution to serve
To set expiration time so that in near-future
CF don’t request again
Wednesday, 7 August 13
32. Audio/Video Streaming
Requires two CloudFront distributions
Download distribution (HTTP protocol)
for media player
Wednesday, 7 August 13
33. Audio/Video Streaming
Requires two CloudFront distributions
Download distribution (HTTP protocol)
for media player
Streaming distribution (RMTP
protocol) for video/audio file
Wednesday, 7 August 13
34. Audio/Video Streaming
Requires two CloudFront distributions
Download distribution (HTTP protocol)
for media player
Streaming distribution (RMTP
protocol) for video/audio file
Adobe Flash Media Server 3.5 as the
streaming server
Wednesday, 7 August 13
35. Audio/Video Streaming
Requires two CloudFront distributions
Download distribution (HTTP protocol)
for media player
Streaming distribution (RMTP
protocol) for video/audio file
Adobe Flash Media Server 3.5 as the
streaming server
RTMP Variants: RTMP, RTMPT, RTMPE, RTMPTE
Wednesday, 7 August 13
39. Private Content
Restrict viewer access using signed URL
Signed URLs control access based on
policy statement
Wednesday, 7 August 13
40. Private Content
Restrict viewer access using signed URL
Signed URLs control access based on
policy statement
Policy statement can be
Wednesday, 7 August 13
41. Private Content
Restrict viewer access using signed URL
Signed URLs control access based on
policy statement
Policy statement can be
Canned policy (access to one object)
Wednesday, 7 August 13
42. Private Content
Restrict viewer access using signed URL
Signed URLs control access based on
policy statement
Policy statement can be
Canned policy (access to one object)
Custom policy (access to one or more
objects using pattern matching)
Wednesday, 7 August 13
45. Private Content
A complete singed URL contains
a base URL (http://my.cf.net/image.png, /v/myvideo.flv)
Wednesday, 7 August 13
46. Private Content
A complete singed URL contains
a base URL (http://my.cf.net/image.png, /v/myvideo.flv)
a policy statement as a signature (hashed+signed,
optionally Base-64 encoded for URL safe compression)
Wednesday, 7 August 13
47. Private Content
A complete singed URL contains
a base URL (http://my.cf.net/image.png, /v/myvideo.flv)
a policy statement as a signature (hashed+signed,
optionally Base-64 encoded for URL safe compression)
CF key-pair id
Wednesday, 7 August 13
48. Private Content
A complete singed URL contains
a base URL (http://my.cf.net/image.png, /v/myvideo.flv)
a policy statement as a signature (hashed+signed,
optionally Base-64 encoded for URL safe compression)
CF key-pair id
optional parameters (expiration timestamp etc)
Wednesday, 7 August 13
49. Private Content
A complete singed URL contains
a base URL (http://my.cf.net/image.png, /v/myvideo.flv)
a policy statement as a signature (hashed+signed,
optionally Base-64 encoded for URL safe compression)
CF key-pair id
optional parameters (expiration timestamp etc)
CF matches the signed URL pattern
Wednesday, 7 August 13
50. Private Content
A complete singed URL contains
a base URL (http://my.cf.net/image.png, /v/myvideo.flv)
a policy statement as a signature (hashed+signed,
optionally Base-64 encoded for URL safe compression)
CF key-pair id
optional parameters (expiration timestamp etc)
CF matches the signed URL pattern
If signed URL is valid then CF gives viewer
access to object
Wednesday, 7 August 13
56. Live Streaming
Supports live streaming with
Adobe’s Flash Media Server 4.5 (AFMS)
IIS Media Services (Smooth Streaming)
Wednesday, 7 August 13
57. Live Streaming
Supports live streaming with
Adobe’s Flash Media Server 4.5 (AFMS)
IIS Media Services (Smooth Streaming)
Both Stream media over HTTP/HTTPS to Apple
iOS devices in HLS format
Wednesday, 7 August 13
58. Live Streaming
Supports live streaming with
Adobe’s Flash Media Server 4.5 (AFMS)
IIS Media Services (Smooth Streaming)
Both Stream media over HTTP/HTTPS to Apple
iOS devices in HLS format
AFMS streams to Flash clients with HDS
Wednesday, 7 August 13
59. Live Streaming
Supports live streaming with
Adobe’s Flash Media Server 4.5 (AFMS)
IIS Media Services (Smooth Streaming)
Both Stream media over HTTP/HTTPS to Apple
iOS devices in HLS format
AFMS streams to Flash clients with HDS
IIS MS stream to Silverlight clients over HTTP
Wednesday, 7 August 13
62. Live Streaming
How it work?
Each solution relies on an encoder and a media
service or server
Wednesday, 7 August 13
63. Live Streaming
How it work?
Each solution relies on an encoder and a media
service or server
Encoder takes live video as input and convert
video into right format
Wednesday, 7 August 13
64. Live Streaming
How it work?
Each solution relies on an encoder and a media
service or server
Encoder takes live video as input and convert
video into right format
Video is pushed to origin server (media service or
server)
Wednesday, 7 August 13
65. Live Streaming
How it work?
Each solution relies on an encoder and a media
service or server
Encoder takes live video as input and convert
video into right format
Video is pushed to origin server (media service or
server)
Origin server then breaks the video into a series
of smaller files (segments or fragments)
Wednesday, 7 August 13
66. Live Streaming
How it work?
Each solution relies on an encoder and a media
service or server
Encoder takes live video as input and convert
video into right format
Video is pushed to origin server (media service or
server)
Origin server then breaks the video into a series
of smaller files (segments or fragments)
Each fragment is cached in CF and can be
encoded on different bit rate
Wednesday, 7 August 13