SlideShare une entreprise Scribd logo
1  sur  133
Integrating Multiple CDN Providers
Our experiences at Etsy

@lozzd • @ickymettle
Marcus Barczak

Laurie Denness

Staff Operations Engineers
@lozzd • @ickymettle
@lozzd • @ickymettle
Beginning of 2010

Today
@lozzd • @ickymettle
Background
▪ First started using a single CDN in 2008
▪ Exponential Growth
▪ Start of 2012 began investigation into running

multiple CDNs

@lozzd • @ickymettle
Why use a CDN?
▪ Goal: Consistently fast user experience globally
▪ Improve last mile performance by caching content

close to the user
▪ Offload content delivery from origin infrastructure
to the CDN provider

@lozzd • @ickymettle
Why use more than one CDN?

@lozzd • @ickymettle
Why use more than one CDN?
▪ Resilience
-

Eliminate single point of failure

@lozzd • @ickymettle
Why use more than one CDN?
▪ Resilience
-

Eliminate single point of failure

▪ Flexibility
-

Balance traffic based on business requirements

@lozzd • @ickymettle
Why use more than one CDN?
▪ Resilience
-

Eliminate single point of failure

▪ Flexibility
-

Balance traffic based on business requirements

▪ Cost
-

Manage provider costs
@lozzd • @ickymettle
The Plan

http://www.flickr.com/photos/malloy/195204215
The Plan
1. Establish evaluation criteria
2. Initial configuration and testing
3. Test with production traffic
4. Operationalising

@lozzd • @ickymettle
Evaluation Criteria

@lozzd • @ickymettle
http://www.flickr.com/photos/49212595@N00/5646403386
Evaluation Criteria
▪ Performance
▪ Configuration
▪ Reporting, Metrics and Logging
▪ Culture

@lozzd • @ickymettle
Performance

@lozzd • @ickymettle
Performance
▪ Baseline Response Times
-

Should be within ±5% of our existing CDN provider’s
response times

@lozzd • @ickymettle
Performance
▪ Baseline Response Times
-

Should be within ±5% of our existing CDN provider’s
response times

▪ Hit Ratios and Origin Offload
-

Provider should achieve equivalent or better origin offload
performance and hit ratios

@lozzd • @ickymettle
Configuration

@lozzd • @ickymettle
Configuration
▪ Complexity
-

how complex is the providers configuration system

@lozzd • @ickymettle
Configuration
▪ Complexity
-

how complex is the providers configuration system

▪ Self service
-

can you make changes directly or do they require
professional services or other intervention

@lozzd • @ickymettle
Configuration
▪ Complexity
-

how complex is the providers configuration system

▪ Self service
-

can you make changes directly or do they require
professional services or other intervention

▪ Latency for changes
-

how quickly do changes take to propagate
@lozzd • @ickymettle
Reporting, Metrics and Logging
▪ Resolution
▪ Latency
▪ Delivery
▪ Customisation

@lozzd • @ickymettle
Culture
▪ Understand our culture
▪ Postmortems
▪ Access to technical staff
▪ Shared success

@lozzd • @ickymettle
Initial
Configuration
and Testing

http://www.flickr.com/photos/7269902@N07/4592239326
Clean the house
http://www.flickr.com/photos/mastergeorge/8562623590
Clean the house
▪ Managing caching TTLs from origin
-

CDNs honour the origin cache-control headers!

@lozzd • @ickymettle
Clean the house
▪ Managing caching TTLs from origin
-

CDNs honour the origin cache-control headers!

<LocationMatch ".(gif|jpg|jpeg|png|css|js)$">
Header set Cache-Control "max-age=94670800"
</LocationMatch>

@lozzd • @ickymettle
Clean the house
▪ Manage gzip compression from origin
-

Honoured by CDNs

-

Compression from origin to CDN

@lozzd • @ickymettle
Clean the house
▪ Manage gzip compression from origin
-

Honoured by CDNs

-

Compression from origin to CDN

## mod_deflate compression - see OPS-1537 ##
AddOutputFilterByType DEFLATE text/html text/plain
text/css application/x-javascript [..]

@lozzd • @ickymettle
Clean the house

@lozzd • @ickymettle
Clean the house
If you can do it at origin,
do it at origin

@lozzd • @ickymettle
Mean Time To Curl
http://www.flickr.com/photos/wwarby/3297205226
curl -i -H 'Host: img0.etsystatic.com' 
global-ssl.fastly.net/someimage.jpg
curl -i -H 'Host: img0.etsystatic.com' 
global-ssl.fastly.net/someimage.jpg
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Sat, 09 Nov 2013 23:43:38 GMT
Cache-Control: max-age=94670800
[...]
X-Served-By: cache-lo82-LHR
X-Cache: MISS
X-Cache-Hits: 0
curl -i -H 'Host: img0.etsystatic.com' 
global-ssl.fastly.net/someimage.jpg
curl -i -H 'Host: img0.etsystatic.com' 
global-ssl.fastly.net/someimage.jpg
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Sat, 09 Nov 2013 23:43:38 GMT
Cache-Control: max-age=94670800
[...]
X-Served-By: cache-lo82-LHR
X-Cache: HIT
X-Cache-Hits: 1
Mean Time To Curl = Done
https://www.etsy.com/listing/99871278
Mean Time To Curl
▪ No need to touch existing infrastructure
▪ Smoke test of functionality
▪ 10 minutes from configuration to curl
▪ New providers should be plug and play

@lozzd • @ickymettle
Testing In Production
http://www.flickr.com/photos/solarnu/10646426865
Testing with Production Traffic
▪ Images only at first
▪ Good test of caching performance
▪ Easy to test by swapping hostnames
▪ Made even easier with our A/B testing framework

@lozzd • @ickymettle
A/B Test Framework
▪ Fine grained control
▪ Enable test for specific users or groups
▪ Percentage of users
▪ All controlled via configuration in code
▪ Rapid and complete rollback

@lozzd • @ickymettle
Configure Mappings to CDNs
$server_config["image"] = array(
'akamai' => array(
'img0-ak.etsystatic.com',
'img1-ak.etsystatic.com',
),
'edgecast' => array(
'img0-ec.etsystatic.com',
'img1-ec.etsystatic.com',
),
'fastly' => array(
'img0-f.etsystatic.com',
'img1-f.etsystatic.com',
),
);

@lozzd • @ickymettle
Test Controls
$server_config['ab']['cdn'] = array(
'enabled' => 'on',
'weights' => array(
'akamai'
=> 0.0,
'edgecast' => 0.0,
'fastly'
=> 0.0,
'origin'
=> 100.0,
),
'override' => 'cdn_diversity',
);

@lozzd • @ickymettle
Metrics and Monitoring

@lozzd • @ickymettle
http://www.flickr.com/photos/nicolasfleury/6073151084
Metrics and Monitoring

@lozzd • @ickymettle
Metrics and Monitoring

Even if it doesn’t move, graph it anyway
@lozzd • @ickymettle
Metrics and Monitoring
Simplest approach: Provider’s dashboards

@lozzd • @ickymettle
Metrics and Monitoring
Simplest approach: Provider’s dashboards

@lozzd • @ickymettle
Metrics and Monitoring
▪ Get more detail by pulling metrics in house
▪ Write script to pull data from API
▪ Create dashboards with data

@lozzd • @ickymettle
Metrics and Monitoring
▪ Get more detail by pulling metrics in house
▪ Write script to pull data from API
▪ Create dashboards with data

@lozzd • @ickymettle
Metrics and Monitoring

@lozzd • @ickymettle
Metrics and Monitoring

@lozzd • @ickymettle
Testing Plan
1. for c in $cdns; do rampup $c; done;
2. Deliberately slow and steady
3. Watch traffic increase
4. Watch origin offload increase
5. Watch performance

@lozzd • @ickymettle
Downsides of this approach
▪ AB testing can’t be used for main site
▪ Exposing your test CNAMEs
▪ Especially if hotlinking is a concern

@lozzd • @ickymettle
Downsides of this approach
▪ Exposing your test CNAMEs
▪ Especially if hotlinking is a concern

@lozzd • @ickymettle
How do you know it’s broke?
▪ Check the graphs!
▪ Check with your community
▪ Keep support in the loop

@lozzd • @ickymettle
Operationalising

http://www.flickr.com/photos/98047351@N05/9706165200
Content Partitioning

@lozzd • @ickymettle
Etsy’s site partitioning
Dynamic HTML Content
www.etsy.com

@lozzd • @ickymettle
Etsy’s site partitioning

Static Assets (js, css, fonts)
site.etsystatic.com

@lozzd • @ickymettle
Etsy’s site partitioning
Listing Images, Avatars
imgX.etsystatic.com

@lozzd • @ickymettle
Etsy’s site partitioning
Dynamic HTML Content
www.etsy.com
Static Assets (js, css, fonts)
site.etsystatic.com
Listing Images, Avatars
imgX.etsystatic.com

@lozzd • @ickymettle
Balancing Traffic in
Production

http://www.flickr.com/photos/wok_design/2499217405
Balancing Traffic Using DNS
▪ Traffic Manager
▪ Extends DNS to dynamically return records based

on rules
▪ Weighted round robin

@lozzd • @ickymettle
Balancing Traffic Using DNS
[2589:~] $ dig +short www.etsy.com
www.etsy.com.edgekey.net.
e2463.b.akamaiedge.net.
23.74.122.37
[2589:~] $ dig +short www.etsy.com
[2589:~] $ dig +short www.etsy.com
etsy.com.
cs34.adn.edgecastcdn.net.
38.123.123.123
93.184.219.54
[2589:~] $ dig +short www.etsy.com
global-ssl.fastly.net.
185.31.19.184

@lozzd • @ickymettle
Balancing Traffic Using DNS
[2589:~] $ dig +short www.etsy.com
etsy.com.
[2589:~] $ dig +short www.etsy.com
38.123.123.123
www.etsy.com.edgekey.net.
e2463.b.akamaiedge.net.
23.74.122.37
[2589:~] $ dig +short www.etsy.com
cs34.adn.edgecastcdn.net.
93.184.219.54
[2589:~] $ dig +short www.etsy.com
global-ssl.fastly.net.
185.31.19.184

@lozzd • @ickymettle
Balancing Traffic Using DNS
▪ Rule updates typically made via web UI
▪ Can be slow and error prone
▪ Changes need to be applied to all three domains
▪ API available to make changes programmatically

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
http://www.flickr.com/photos/foshydog/4441105829
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
cdncontrol

@lozzd • @ickymettle
DNS balancing downsides
▪ Low TTLs for fast convergence

@lozzd • @ickymettle
DNS balancing downsides
▪ Low TTLs for fast convergence
▪ Mo QPS == Mo Money

@lozzd • @ickymettle
DNS balancing downsides
▪ Low TTLs for fast convergence
▪ Mo QPS == Mo Money
▪ More DNS lookups for users

@lozzd • @ickymettle
DNS balancing downsides
▪ Low TTLs for fast convergence
▪ Mo QPS == Mo Money
▪ More DNS lookups for users
▪ Not 100% instant or deterministic

@lozzd • @ickymettle
50% within 1
minute

@lozzd • @ickymettle
50% within 1
minute
Long Tail is Loooong

@lozzd • @ickymettle
Monitoring in Production
@lozzd • @ickymettle
http://www.flickr.com/photos/9229426@N05/5160787240
Whoopsie Page
▪ Static HTML delivered for 5xx errors
-

Branding

-

Translated error messages

-

Links to status page

@lozzd • @ickymettle
Whoopsie Page
▪ Static HTML delivered for 5xx errors
-

Branding

-

Translated error messages

-

Links to status page

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
[...]
<img src="//failure.etsy.com/status/images/beacon.gif?
beacon_source=fastly_origin_failure-etsy.com">
</body>
</html>

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
2. Request creates an access log line

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
2. Request creates an access log line
3. Scrape them out minutely using logster
self.reg = re.compile('^S+(s:)? (?P<remote_addr>[0-9.]+),?
[0-9.,- ]+ [[^]]+] "GET /status/images/beacon.gif?
(beacon_)?source=(?P<source>S+) HTTP/1.d" d+ [d-]+ "(?
P<referrer>[^"]+)" "(?P<user_agent>[^"]+)" .*$')

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
2. Request creates an access log line
3. Scrape them out minutely using logster
4. Logster posts event counts to Graphite

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
2. Request creates an access log line
3. Scrape them out minutely using logster
4. Logster posts event counts to Graphite

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
2. Request creates an access log line
3. Scrape them out minutely using logster
4. Logster posts event counts to Graphite
5. Alert on Graphite graph in Nagios

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
2. Request creates an access log line
3. Scrape them out minutely using logster
4. Logster posts event counts to Graphite
5. Alert on Graphite graph in Nagios

@lozzd • @ickymettle
Failure Beacons
1. 1x1 tracking pixel embedded in page
2. Request creates an access log line
3. Scrape them out minutely using logster
4. Logster posts event counts to Graphite
5. Alert on Graphite graph in Nagios

@lozzd • @ickymettle
Failure Beacons
▪ Client IP address can be geolocated

@lozzd • @ickymettle
Failure Beacons
▪ Client IP address can be geolocated

@lozzd • @ickymettle
Failure Beacons
▪ Optional extra debugging information
[31/Oct/2013:07:06:42 +0000] "GET /status/images/
beacon.gif?beacon_source=fastly_origin_failure-etsy.com
&provider_error=Connection%20timed%20out
&server_identity=cache-ny57-NYC HTTP/1.1"

@lozzd • @ickymettle
Failure Beacons
▪ Optional extra debugging information

@lozzd • @ickymettle
Tracking Requests to Origin
GET / HTTP/1.1
User-Agent: curl/7.24.0
Accept: */*
X-Forwarded-Host: www.etsy.com
[...]
X-CDN-Provider: edgecast
[...]
Host: www.etsy.com

@lozzd • @ickymettle
Tracking Requests to Origin
GET / HTTP/1.1
User-Agent: curl/7.24.0
Accept: */*
X-Forwarded-Host: www.etsy.com
[...]
X-CDN-Provider: edgecast
[...]
Host: www.etsy.com

@lozzd • @ickymettle
Backend Monitoring
▪ Vendor APIs to bring data in house

@lozzd • @ickymettle
Backend Monitoring
▪ Vendor APIs to bring data in house

@lozzd • @ickymettle
Backend Monitoring
▪ Logster on CDN provider header
▪ Vendor APIs to bring data in house

@lozzd • @ickymettle
Backend Monitoring
▪ Vendor APIs to bring data in house
▪ Data in-house benefits include
-

Integration with our anomaly detection systems

-

Consistent and unified view of all CDN metrics

-

We control data retention period

@lozzd • @ickymettle
Awareness
▪ Over 100 engineers
▪ Deploying 60 times a day
▪ Correlating external and internal services

@lozzd • @ickymettle
Awareness

@lozzd • @ickymettle
Awareness

@lozzd • @ickymettle
Awareness

@lozzd • @ickymettle
Awareness

@lozzd • @ickymettle
Awareness

@lozzd • @ickymettle
Awareness
Deploy lines

@lozzd • @ickymettle
Frontend Monitoring
▪ Performance is important to us
▪ Monitoring overall site performance
▪ Monitoring performance by CDN provider
▪ Real User Monitoring on key pages to track page

performance

@lozzd • @ickymettle
Frontend Monitoring
▪ Performance is important to us
▪ Monitoring overall site performance
▪ Monitoring performance by CDN provider
▪ SOASTA mPulse on key pages to track real user

page performance

@lozzd • @ickymettle
Downsides
http://www.flickr.com/photos/39272170@N00/3841286802
Debugging: What broke?

@lozzd • @ickymettle
Debugging: What broke?
▪ MTTD/MTTR can be extremely low with this

system

@lozzd • @ickymettle
Debugging: What broke?
▪ MTTD/MTTR can be extremely low with this

system
▪ But not always

@lozzd • @ickymettle
Debugging: What broke?
▪ MTTD/MTTR can be extremely low with this

system
▪ But not always

@lozzd • @ickymettle
Debugging: What broke?
▪ MTTD/MTTR can be extremely low with this

system
▪ But not always

@lozzd • @ickymettle
Debugging: What broke?
▪ Non technical member base
▪ Confusing and time consuming
▪ Amazing support team
▪ Log as much information as possible

@lozzd • @ickymettle
http://www.flickr.com/photos/sk8geek/4649776194

Conclusions/Takeaways
Great success
▪ 12 months in the benefits have far outweighed the

few downsides
▪ We’re continuing to evolve the system
▪ We’ll be sure to share our experience with the

community along the way

@lozzd • @ickymettle
Links/Open Source
▪ cdncontrol
http://github.com/etsy/cdncontrol
http://github.com/etsy/cdncontrol_ui

▪ logster
http://github.com/etsy/logster

▪ CDN API to Graphite scripts
http://github.com/lozzd/cdn_scripts
@lozzd • @ickymettle
Thanks!
Questions?
@lozzd • @ickymettle
Integrating Multiple CDN Providers
Our experiences at Etsy

@lozzd • @ickymettle
Integrating multiple CDNs at Etsy

Contenu connexe

Tendances

Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Fwdays
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
Modern javascript
Modern javascriptModern javascript
Modern javascriptKevin Ball
 
Webcomponents are your frameworks best friend
Webcomponents are your frameworks best friendWebcomponents are your frameworks best friend
Webcomponents are your frameworks best friendFilip Bruun Bech-Larsen
 
Write Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichWrite Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichMike North
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsJeff Geerling
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on RailsAvi Kedar
 
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersTobias Koprowski
 
PLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfPLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfAlfresco Software
 
從零開始的爬蟲之旅 Crawler from zero
從零開始的爬蟲之旅 Crawler from zero從零開始的爬蟲之旅 Crawler from zero
從零開始的爬蟲之旅 Crawler from zeroShi-Ken Don
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel RidingChristian Posta
 
Greenfields tech decisions
Greenfields tech decisionsGreenfields tech decisions
Greenfields tech decisionsTrent Hornibrook
 
淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2Wen-Tien Chang
 
Advanced Core Data - The Things You Thought You Could Ignore
Advanced Core Data - The Things You Thought You Could IgnoreAdvanced Core Data - The Things You Thought You Could Ignore
Advanced Core Data - The Things You Thought You Could IgnoreAaron Douglas
 
Back to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteBack to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteYves Goeleven
 
Web a Quebec - JS Debugging
Web a Quebec - JS DebuggingWeb a Quebec - JS Debugging
Web a Quebec - JS DebuggingRami Sayar
 
SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010John Ferringer
 

Tendances (20)

Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Modern javascript
Modern javascriptModern javascript
Modern javascript
 
Webcomponents are your frameworks best friend
Webcomponents are your frameworks best friendWebcomponents are your frameworks best friend
Webcomponents are your frameworks best friend
 
Write Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichWrite Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js Munich
 
Frameworks and webcomponents
Frameworks and webcomponentsFrameworks and webcomponents
Frameworks and webcomponents
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.js
 
Cloud tools
Cloud toolsCloud tools
Cloud tools
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
 
PLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfPLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring Surf
 
從零開始的爬蟲之旅 Crawler from zero
從零開始的爬蟲之旅 Crawler from zero從零開始的爬蟲之旅 Crawler from zero
從零開始的爬蟲之旅 Crawler from zero
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel Riding
 
Greenfields tech decisions
Greenfields tech decisionsGreenfields tech decisions
Greenfields tech decisions
 
淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2
 
Advanced Core Data - The Things You Thought You Could Ignore
Advanced Core Data - The Things You Thought You Could IgnoreAdvanced Core Data - The Things You Thought You Could Ignore
Advanced Core Data - The Things You Thought You Could Ignore
 
Back to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteBack to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static website
 
Web a Quebec - JS Debugging
Web a Quebec - JS DebuggingWeb a Quebec - JS Debugging
Web a Quebec - JS Debugging
 
Agile sites2
Agile sites2Agile sites2
Agile sites2
 
SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010
 

En vedette

Mean Time to Sleep: Quantifying the On-Call Experience
Mean Time to Sleep: Quantifying the On-Call ExperienceMean Time to Sleep: Quantifying the On-Call Experience
Mean Time to Sleep: Quantifying the On-Call ExperienceLaurie Denness
 
You Can't Buy Agile
You Can't Buy AgileYou Can't Buy Agile
You Can't Buy AgileRTigger
 
Spring and Web Content Management
Spring and Web Content ManagementSpring and Web Content Management
Spring and Web Content ManagementZak Greant
 
Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012
Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012
Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012Tim Morrow
 
Velocity EU 2013 What is the velocity of an unladen swallow?
Velocity EU 2013 What is the velocity of an unladen swallow?Velocity EU 2013 What is the velocity of an unladen swallow?
Velocity EU 2013 What is the velocity of an unladen swallow?pdyball
 
Performance and Metrics at Lonely Planet
Performance and Metrics at Lonely PlanetPerformance and Metrics at Lonely Planet
Performance and Metrics at Lonely PlanetMark Jennings
 
Data viz as_interface_makoto_inoue
Data viz as_interface_makoto_inoueData viz as_interface_makoto_inoue
Data viz as_interface_makoto_inoueMakoto Inoue
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
 
Spring first in Magnolia CMS - Spring I/O 2015
Spring first in Magnolia CMS - Spring I/O 2015Spring first in Magnolia CMS - Spring I/O 2015
Spring first in Magnolia CMS - Spring I/O 2015Tobias Mattsson
 
Bring the Noise
Bring the NoiseBring the Noise
Bring the NoiseJon Cowie
 
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youPatrick Meenan
 
Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...
Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...
Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...James Wickett
 
Velocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling PitfallsVelocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling PitfallsJohn Allspaw
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observabilityTheo Schlossnagle
 
Состояние сетевой безопасности в 2016 году
Состояние сетевой безопасности в 2016 году Состояние сетевой безопасности в 2016 году
Состояние сетевой безопасности в 2016 году Qrator Labs
 
Velocity 2013 london developer-friendly web performance testing in continuou...
Velocity 2013 london  developer-friendly web performance testing in continuou...Velocity 2013 london  developer-friendly web performance testing in continuou...
Velocity 2013 london developer-friendly web performance testing in continuou...Michael Klepikov
 
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...tboubez
 

En vedette (20)

Mean Time to Sleep: Quantifying the On-Call Experience
Mean Time to Sleep: Quantifying the On-Call ExperienceMean Time to Sleep: Quantifying the On-Call Experience
Mean Time to Sleep: Quantifying the On-Call Experience
 
You Can't Buy Agile
You Can't Buy AgileYou Can't Buy Agile
You Can't Buy Agile
 
Spring and Web Content Management
Spring and Web Content ManagementSpring and Web Content Management
Spring and Web Content Management
 
Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012
Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012
Why Page Speed Isn't Enough - Tim Morrow - Velocity Europe 2012
 
Velocity EU 2013 What is the velocity of an unladen swallow?
Velocity EU 2013 What is the velocity of an unladen swallow?Velocity EU 2013 What is the velocity of an unladen swallow?
Velocity EU 2013 What is the velocity of an unladen swallow?
 
Performance and Metrics at Lonely Planet
Performance and Metrics at Lonely PlanetPerformance and Metrics at Lonely Planet
Performance and Metrics at Lonely Planet
 
Data viz as_interface_makoto_inoue
Data viz as_interface_makoto_inoueData viz as_interface_makoto_inoue
Data viz as_interface_makoto_inoue
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
 
Spring first in Magnolia CMS - Spring I/O 2015
Spring first in Magnolia CMS - Spring I/O 2015Spring first in Magnolia CMS - Spring I/O 2015
Spring first in Magnolia CMS - Spring I/O 2015
 
Bring the Noise
Bring the NoiseBring the Noise
Bring the Noise
 
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and you
 
Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...
Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...
Be Mean to Your Code with Gauntlt and the Rugged Way // Velocity EU 2013 Work...
 
Rencontres Mondiales Du Logiciel Libre 2009
Rencontres Mondiales Du Logiciel Libre 2009Rencontres Mondiales Du Logiciel Libre 2009
Rencontres Mondiales Du Logiciel Libre 2009
 
Velocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling PitfallsVelocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
Состояние сетевой безопасности в 2016 году
Состояние сетевой безопасности в 2016 году Состояние сетевой безопасности в 2016 году
Состояние сетевой безопасности в 2016 году
 
Velocity 2013 london developer-friendly web performance testing in continuou...
Velocity 2013 london  developer-friendly web performance testing in continuou...Velocity 2013 london  developer-friendly web performance testing in continuou...
Velocity 2013 london developer-friendly web performance testing in continuou...
 
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
 
Fully Automated Nagios Jm2L 2009
Fully Automated Nagios Jm2L 2009Fully Automated Nagios Jm2L 2009
Fully Automated Nagios Jm2L 2009
 

Similaire à Integrating multiple CDNs at Etsy

Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Marcus Barczak
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMark Swarbrick
 
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12cIntegrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12cEdelweiss Kammermann
 
Website optimization with request reduce
Website optimization with request reduceWebsite optimization with request reduce
Website optimization with request reduceMatt Wrock
 
Ciel mech june2014_webinarpresentation
Ciel mech june2014_webinarpresentationCiel mech june2014_webinarpresentation
Ciel mech june2014_webinarpresentationKamal Karimanal
 
Sql source control
Sql source controlSql source control
Sql source controlAndyPickett
 
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭台灣資料科學年會
 
Windows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldWindows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldMichael Collier
 
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...Lucas Jellema
 
CI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsCI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsMike North
 
Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Lee Klement
 
Introduction to SQL Server Security
Introduction to SQL Server SecurityIntroduction to SQL Server Security
Introduction to SQL Server SecurityJason Strate
 
70-413 Study Guide PDF
70-413 Study Guide PDF70-413 Study Guide PDF
70-413 Study Guide PDFcupigiat
 
Continuous Delivery at Wix
Continuous Delivery at WixContinuous Delivery at Wix
Continuous Delivery at WixYoav Avrahami
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKitJoone Hur
 
Cognos Analytics Implementation Tips, Tricks & Gotchas
Cognos Analytics Implementation Tips, Tricks & GotchasCognos Analytics Implementation Tips, Tricks & Gotchas
Cognos Analytics Implementation Tips, Tricks & GotchasCCG
 
KScope14 - Real-Time Data Warehouse Upgrade - Success Stories
KScope14 - Real-Time Data Warehouse Upgrade - Success StoriesKScope14 - Real-Time Data Warehouse Upgrade - Success Stories
KScope14 - Real-Time Data Warehouse Upgrade - Success StoriesMichael Rainey
 
Design for Scale / Surge 2010
Design for Scale / Surge 2010Design for Scale / Surge 2010
Design for Scale / Surge 2010Christopher Brown
 
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....Aidan Foster
 

Similaire à Integrating multiple CDNs at Etsy (20)

Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise Edition
 
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12cIntegrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
 
Website optimization with request reduce
Website optimization with request reduceWebsite optimization with request reduce
Website optimization with request reduce
 
Ciel mech june2014_webinarpresentation
Ciel mech june2014_webinarpresentationCiel mech june2014_webinarpresentation
Ciel mech june2014_webinarpresentation
 
Sql source control
Sql source controlSql source control
Sql source control
 
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
 
Windows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldWindows Azure: Lessons From the Field
Windows Azure: Lessons From the Field
 
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...
 
CI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsCI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page Apps
 
Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012
 
Introduction to SQL Server Security
Introduction to SQL Server SecurityIntroduction to SQL Server Security
Introduction to SQL Server Security
 
70-413 Study Guide PDF
70-413 Study Guide PDF70-413 Study Guide PDF
70-413 Study Guide PDF
 
Continuous Delivery at Wix
Continuous Delivery at WixContinuous Delivery at Wix
Continuous Delivery at Wix
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKit
 
Cognos Analytics Implementation Tips, Tricks & Gotchas
Cognos Analytics Implementation Tips, Tricks & GotchasCognos Analytics Implementation Tips, Tricks & Gotchas
Cognos Analytics Implementation Tips, Tricks & Gotchas
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
 
KScope14 - Real-Time Data Warehouse Upgrade - Success Stories
KScope14 - Real-Time Data Warehouse Upgrade - Success StoriesKScope14 - Real-Time Data Warehouse Upgrade - Success Stories
KScope14 - Real-Time Data Warehouse Upgrade - Success Stories
 
Design for Scale / Surge 2010
Design for Scale / Surge 2010Design for Scale / Surge 2010
Design for Scale / Surge 2010
 
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
 

Dernier

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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Dernier (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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?
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Integrating multiple CDNs at Etsy