SlideShare a Scribd company logo
1 of 68
Download to read offline
CloudFront
DESIGN PATTERNS
Abhishek Tiwari
@abhishektiwari
http://abhishek-tiwari.com
Wednesday, 7 August 13
About me
Wednesday, 7 August 13
About me
Solutions Architect
Wednesday, 7 August 13
About me
Solutions Architect
Early AWS adopter (2007)
Wednesday, 7 August 13
About me
Solutions Architect
Early AWS adopter (2007)
Built Cotton On Group’s AWS
Infrastructure (2012)
Wednesday, 7 August 13
Design Patterns
Wednesday, 7 August 13
Design Patterns
Dynamic and Adoptive Thumbnailing
Wednesday, 7 August 13
Design Patterns
Dynamic and Adoptive Thumbnailing
Audio/Video Streaming
Wednesday, 7 August 13
Design Patterns
Dynamic and Adoptive Thumbnailing
Audio/Video Streaming
Private Content
Wednesday, 7 August 13
Design Patterns
Dynamic and Adoptive Thumbnailing
Audio/Video Streaming
Private Content
Live Streaming
Wednesday, 7 August 13
Dynamic Thumbnailing
Wednesday, 7 August 13
Dynamic Thumbnailing
Dynamic: on-the-fly thumbnailing/caching
Wednesday, 7 August 13
Dynamic Thumbnailing
Dynamic: on-the-fly thumbnailing/caching
Adoptive: optimized for the device
Wednesday, 7 August 13
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
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
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
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
Dynamic Thumbnailing
Wednesday, 7 August 13
Dynamic Thumbnailing
Requires
Wednesday, 7 August 13
Dynamic Thumbnailing
Requires
A thumbnail cache behavior mapped to
custom origin server
Wednesday, 7 August 13
Dynamic Thumbnailing
Requires
A thumbnail cache behavior mapped to
custom origin server
Custom origin server with ability
Wednesday, 7 August 13
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
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
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
Dynamic Thumbnailing
def thumb (image, width, height) :
quality = 0.9
thumbed = getThumb(image, quality, width, height)
thumbed.setCacheControlMaxAge(EX)
......
return thumbed
Width Height Image
Wednesday, 7 August 13
Dynamic Thumbnailing
def thumb (image, width, height) :
quality = 0.9
thumbed = getThumb(image, quality, width, height)
thumbed.setCacheControlMaxAge(EX)
......
return thumbed
Wednesday, 7 August 13
Dynamic Thumbnailing
static/images/thumb/b723eh0f0df.png?width=400&height=300
def thumb (image, width, height) :
quality = 0.9
thumbed = getThumb(image, quality, width, height)
thumbed.setCacheControlMaxAge(EX)
......
return thumbed
Wednesday, 7 August 13
Dynamic Thumbnailing
static/images/thumb/b723eh0f0df.png?width=400&height=300
static/images/thumb/b723eh0f0df.png?width=400&height=300
def thumb (image, width, height) :
quality = 0.9
thumbed = getThumb(image, quality, width, height)
thumbed.setCacheControlMaxAge(EX)
......
return thumbed
Wednesday, 7 August 13
Dynamic Thumbnailing
static/images/thumb/b723eh0f0df.png?width=400&height=300
static/images/thumb/b723eh0f0df.png?width=400&height=300
def thumb (image, width, height) :
quality = 0.9
thumbed = getThumb(image, quality, width, height)
thumbed.setCacheControlMaxAge(EX)
......
return thumbed
Forward Query Strings is Turned On
Wednesday, 7 August 13
Audio/Video Streaming
Wednesday, 7 August 13
Audio/Video Streaming
Requires two CloudFront distributions
Wednesday, 7 August 13
Audio/Video Streaming
Requires two CloudFront distributions
Download distribution (HTTP protocol)
for media player
Wednesday, 7 August 13
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
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
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
Audio/Video Streaming
Wednesday, 7 August 13
Private Content
Wednesday, 7 August 13
Private Content
Restrict viewer access using signed URL
Wednesday, 7 August 13
Private Content
Restrict viewer access using signed URL
Signed URLs control access based on
policy statement
Wednesday, 7 August 13
Private Content
Restrict viewer access using signed URL
Signed URLs control access based on
policy statement
Policy statement can be
Wednesday, 7 August 13
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
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
Private Content
Wednesday, 7 August 13
Private Content
A complete singed URL contains
Wednesday, 7 August 13
Private Content
A complete singed URL contains
a base URL (http://my.cf.net/image.png, /v/myvideo.flv)
Wednesday, 7 August 13
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
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
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
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
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
Private Content (Streaming)
Wednesday, 7 August 13
Private Content (Download)
Wednesday, 7 August 13
Live Streaming
Wednesday, 7 August 13
Live Streaming
Supports live streaming with
Wednesday, 7 August 13
Live Streaming
Supports live streaming with
Adobe’s Flash Media Server 4.5 (AFMS)
Wednesday, 7 August 13
Live Streaming
Supports live streaming with
Adobe’s Flash Media Server 4.5 (AFMS)
IIS Media Services (Smooth Streaming)
Wednesday, 7 August 13
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
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
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
Live Streaming
Wednesday, 7 August 13
Live Streaming
How it work?
Wednesday, 7 August 13
Live Streaming
How it work?
Each solution relies on an encoder and a media
service or server
Wednesday, 7 August 13
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
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
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
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
Wednesday, 7 August 13
Thank You
Q & A
Wednesday, 7 August 13

More Related Content

Similar to CloudFront DESIGN PATTERNS

[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web DesignChristopher Schmitt
 
Flash Professional CC: The Future of Animation
 Flash Professional CC: The Future of Animation Flash Professional CC: The Future of Animation
Flash Professional CC: The Future of AnimationFITC
 
HTML5 multimedia - where we are, where we're going
HTML5 multimedia - where we are, where we're goingHTML5 multimedia - where we are, where we're going
HTML5 multimedia - where we are, where we're goingbrucelawson
 
yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)Jesse (Chien Chen) Chen
 
UberFire Quick Intro and Overview (early beta Aug 2013)
UberFire Quick Intro and Overview (early beta Aug 2013)UberFire Quick Intro and Overview (early beta Aug 2013)
UberFire Quick Intro and Overview (early beta Aug 2013)Mark Proctor
 
Html5 browser api_support
Html5 browser api_supportHtml5 browser api_support
Html5 browser api_support상길 안
 
BBC Olympics: An accessibility case study
BBC Olympics: An accessibility case studyBBC Olympics: An accessibility case study
BBC Olympics: An accessibility case studyAlistair Duggin
 
2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slidesMasterCode.vn
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeKen Tabor
 
HTML5 Multimedia: where we are, where we're going
HTML5 Multimedia: where we are, where we're goingHTML5 Multimedia: where we are, where we're going
HTML5 Multimedia: where we are, where we're goingbrucelawson
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009Fabio Akita
 
HTML5: Are We There Yet?
HTML5: Are We There Yet?HTML5: Are We There Yet?
HTML5: Are We There Yet?judyunrein
 

Similar to CloudFront DESIGN PATTERNS (20)

[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design
 
Flash Professional CC: The Future of Animation
 Flash Professional CC: The Future of Animation Flash Professional CC: The Future of Animation
Flash Professional CC: The Future of Animation
 
Front end-performance
Front end-performanceFront end-performance
Front end-performance
 
File api
File apiFile api
File api
 
oEmbed (on rails)
oEmbed (on rails)oEmbed (on rails)
oEmbed (on rails)
 
Slides
SlidesSlides
Slides
 
HTML5 multimedia - where we are, where we're going
HTML5 multimedia - where we are, where we're goingHTML5 multimedia - where we are, where we're going
HTML5 multimedia - where we are, where we're going
 
yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)
 
HTML5 Audio & Video
HTML5 Audio & VideoHTML5 Audio & Video
HTML5 Audio & Video
 
UberFire Quick Intro and Overview (early beta Aug 2013)
UberFire Quick Intro and Overview (early beta Aug 2013)UberFire Quick Intro and Overview (early beta Aug 2013)
UberFire Quick Intro and Overview (early beta Aug 2013)
 
Html5 browser api_support
Html5 browser api_supportHtml5 browser api_support
Html5 browser api_support
 
BBC Olympics: An accessibility case study
BBC Olympics: An accessibility case studyBBC Olympics: An accessibility case study
BBC Olympics: An accessibility case study
 
2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into Shape
 
HTML5 Multimedia: where we are, where we're going
HTML5 Multimedia: where we are, where we're goingHTML5 Multimedia: where we are, where we're going
HTML5 Multimedia: where we are, where we're going
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009
 
Html 5 full course
Html 5 full courseHtml 5 full course
Html 5 full course
 
German upload
German uploadGerman upload
German upload
 
Themes #T3DD13
Themes #T3DD13Themes #T3DD13
Themes #T3DD13
 
HTML5: Are We There Yet?
HTML5: Are We There Yet?HTML5: Are We There Yet?
HTML5: Are We There Yet?
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

CloudFront DESIGN PATTERNS