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

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

CloudFront DESIGN PATTERNS