SlideShare uma empresa Scribd logo
1 de 111
Baixar para ler offline
DIY Synthetic:
Private WebPagetest Magic
Velocity NY 2013
Jonathan Klein
@jonathanklein
Wednesday, October 16, 13
Slides, Links
jkle.in/wpt

Wednesday, October 16, 13
About Me

Wednesday, October 16, 13
About Me
• Performance Engineer At Etsy

Wednesday, October 16, 13
About Me
• Performance Engineer At Etsy
• I write the Etsy Site Performance Reports

Wednesday, October 16, 13
About Me
• Performance Engineer At Etsy
• I write the Etsy Site Performance Reports
• Organize Boston Web Perf Meetup Group

Wednesday, October 16, 13
Etsy Stats

Wednesday, October 16, 13
Etsy Stats
• World’s largest handmade marketplace

Wednesday, October 16, 13
Etsy Stats
• World’s largest handmade marketplace
• 1.5 billion page views/month

Wednesday, October 16, 13
Etsy Stats
• World’s largest handmade marketplace
• 1.5 billion page views/month
• Almost $1B in sales last year

Wednesday, October 16, 13
+160k to a page =
+12% bounce rate
on mobile
Wednesday, October 16, 13
Synthetic Monitoring

Wednesday, October 16, 13
Wednesday, October 16, 13
Synthetic Monitoring
Browser Instrumentation

Navigation Timing API

Consistent trending
over time

Highly variable

Largely in your control

Last mile difficulties

Great for identifying
regressions

Great for comparing across
geographies/browsers

Not super realistic

Wednesday, October 16, 13

Real User Monitoring

“Real User Monitoring”
Synthetic Monitoring
Browser Instrumentation

Navigation Timing API

Consistent trending
over time

Highly variable

Largely in your control

Last mile difficulties

Great for identifying
regressions

Great for comparing across
geographies/browsers

Not super realistic

Wednesday, October 16, 13

Real User Monitoring

“Real User Monitoring”
Synthetic Monitoring
Browser Instrumentation

Navigation Timing API

Consistent trending
over time

Highly variable

Largely in your control

Last mile difficulties

Great for identifying
regressions

Great for comparing across
geographies/browsers

Not super realistic

Wednesday, October 16, 13

Real User Monitoring

“Real User Monitoring”
Synthetic Monitoring
Browser Instrumentation

Navigation Timing API

Consistent trending
over time

Highly variable

Largely in your control

Last mile difficulties

Great for identifying
regressions

Great for comparing across
geographies/browsers

Not super realistic

Wednesday, October 16, 13

Real User Monitoring

“Real User Monitoring”
Synthetic Monitoring
Browser Instrumentation

Navigation Timing API

Consistent trending
over time

Highly variable

Largely in your control

Last mile difficulties

Great for identifying
regressions

Great for comparing across
geographies/browsers

Not super realistic

Wednesday, October 16, 13

Real User Monitoring

“Real User Monitoring”
Synthetic Monitoring
Browser Instrumentation

Navigation Timing API

Consistent trending
over time

Highly variable

Largely in your control

Last mile difficulties

Great for identifying
regressions

Great for comparing across
geographies/browsers

Not super realistic

Wednesday, October 16, 13

Real User Monitoring

“Real User Monitoring”
Wednesday, October 16, 13
$$$$

Wednesday, October 16, 13
Wednesday, October 16, 13
Background

Wednesday, October 16, 13
Wednesday, October 16, 13
Wednesday, October 16, 13
Wednesday, October 16, 13
EC2 Test Agents

Wednesday, October 16, 13
Wednesday, October 16, 13
No Built-in Automation

Wednesday, October 16, 13
Wednesday, October 16, 13
Wednesday, October 16, 13
wpt-script

Wednesday, October 16, 13
Wednesday, October 16, 13
Motivation

Wednesday, October 16, 13
Why We Use It

Wednesday, October 16, 13
Why We Use It
• Wanted long term synthetic trending

Wednesday, October 16, 13
Why We Use It
• Wanted long term synthetic trending
• Automated tests

Wednesday, October 16, 13
Why We Use It
• Wanted long term synthetic trending
• Automated tests
• More control

Wednesday, October 16, 13
Why We Use It
• Wanted long term synthetic trending
• Automated tests
• More control
• Low cost

Wednesday, October 16, 13
Easy Configuration

Wednesday, October 16, 13
{
    "server": "http://www.yourwptinstall.com",
    "pending_dir": "private",
    "locations": ["US_East_wptdriver:Firefox", "US_East_wptdriver:Chrome"],
    "urls": {
        "label": "http://www.example.com",
        "other_label": "http://www.anotherexample.com"
    },
    "graphite": "graphite.example.com",
    "logging_ns": "webpagetest.private",
    "splunkLog": "/var/log/webpagetest/results.log"
}

Wednesday, October 16, 13
{
    "server": "http://www.yourwptinstall.com",
    "pending_dir": "private",
    "locations": ["US_East_wptdriver:Firefox", "US_East_wptdriver:Chrome"],
    "urls": {
        "label": "http://www.example.com",
        "other_label": "http://www.anotherexample.com"
    },
    "graphite": "graphite.example.com",
    "logging_ns": "webpagetest.private",
    "splunkLog": "/var/log/webpagetest/results.log"
}

Wednesday, October 16, 13
{
    "server": "http://www.yourwptinstall.com",
    "pending_dir": "private",
    "locations": ["US_East_wptdriver:Firefox", "US_East_wptdriver:Chrome"],
    "urls": {
        "label": "http://www.example.com",
        "other_label": "http://www.anotherexample.com"
    },
    "graphite": "graphite.example.com",
    "logging_ns": "webpagetest.private",
    "splunkLog": "/var/log/webpagetest/results.log"
}

Wednesday, October 16, 13
{
    "server": "http://www.yourwptinstall.com",
    "pending_dir": "private",
    "locations": ["US_East_wptdriver:Firefox", "US_East_wptdriver:Chrome"],
    "urls": {
        "label": "http://www.example.com",
        "other_label": "http://www.anotherexample.com"
    },
    "graphite": "graphite.example.com",
    "logging_ns": "webpagetest.private",
    "splunkLog": "/var/log/webpagetest/results.log"
}

Wednesday, October 16, 13
{
    "server": "http://www.yourwptinstall.com",
    "pending_dir": "private",
    "locations": ["US_East_wptdriver:Firefox", "US_East_wptdriver:Chrome"],
    "urls": {
        "label": "http://www.example.com",
        "other_label": "http://www.anotherexample.com"
    },
    "graphite": "graphite.example.com",
    "logging_ns": "webpagetest.private",
    "splunkLog": "/var/log/webpagetest/results.log"
}

Wednesday, October 16, 13
# Run Test
*/25 * * * * php run.php

Wednesday, October 16, 13
# Run Test
*/25 * * * * php run.php -c foo.conf

Wednesday, October 16, 13
# Run Test
*/25 * * * * php run.php -c foo.conf
# Get Results
* * * * * php get_results.php

Wednesday, October 16, 13
Advanced Features

Wednesday, October 16, 13
{
    "server": "http://example.com",
    "pending_dir": "private",
    "locations": ["US_East_wptdriver:Firefox", "US_East_wptdriver:Chrome"],
    "urls": {
        "label": "http://www.example.com",
        "other_label": "http://www.webpagetest.org"
    },
    "graphite": "graphite.example.com",
    "logging_ns": "webpagetest.private",
    "splunkLog": "/var/log/webpagetest/results.log",
    "prepend": "Login",
    "username": "someuser",
    "password": "somepassword",
    "run_options": {
        "video": 0
    }
}

Wednesday, October 16, 13
{
    "server": "http://example.com",
    "pending_dir": "private",
    "locations": ["US_East_wptdriver:Firefox", "US_East_wptdriver:Chrome"],
    "urls": {
        "label": "http://www.example.com",
        "other_label": "http://www.webpagetest.org"
    },
    "graphite": "graphite.example.com",
    "logging_ns": "webpagetest.private",
    "splunkLog": "/var/log/webpagetest/results.log",
"prepend": ["BlockThirdParty", "bypass_cdn.txt"],
    "run_options": {
        "video": 0
    }
}

Wednesday, October 16, 13
foreach ($prepends as $prepend) {
if (file_exists($scripts_dir . $prepend)) {
$script .= file_get_contents($scripts_dir . $prepend);
} elseif (method_exists($this, $prepend)) {
$script .= $this->$prepend();
}
}

Wednesday, October 16, 13
bypass_cdn.txt
setDns
setDns
setDns
setDns
setDns
setDns
setDns
setDns
setDns

Wednesday, October 16, 13

site.etsystatic.com 38.106.64.123
img0.etsystatic.com 38.106.64.125
img1.etsystatic.com 38.106.64.125
img2.etsystatic.com 38.106.64.125
img3.etsystatic.com 38.106.64.125
ny-image0.etsy.com 38.106.64.125
ny-image1.etsy.com 38.106.64.125
ny-image2.etsy.com 38.106.64.125
ny-image3.etsy.com 38.106.64.125
Gathering Results

Wednesday, October 16, 13
<?php
// Splunk
$splunkLogger = new SplunkLogger($config['splunkLog'], $logging_ns);
foreach ($results as $result) {
$splunkLogger->log($result);
}
// Graphite
$grapher = new Grapher($config['graphite'], $logging_ns);
$grapher->graphResults($results);

Wednesday, October 16, 13
Wednesday, October 16, 13
Wednesday, October 16, 13
Wednesday, October 16, 13
https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics
Wednesday, October 16, 13
Wednesday, October 16, 13
Wednesday, October 16, 13
Wednesday, October 16, 13
Disadvantages vs. Paid Tools

Wednesday, October 16, 13
Disadvantages vs. Paid Tools
• Harder to set up/maintain

Wednesday, October 16, 13
Disadvantages vs. Paid Tools
• Harder to set up/maintain
• Functionality

Wednesday, October 16, 13
Disadvantages vs. Paid Tools
• Harder to set up/maintain
• Functionality
• Regions

Wednesday, October 16, 13
Disadvantages vs. Paid Tools
• Harder to set up/maintain
• Functionality
• Regions
• Full page oriented

Wednesday, October 16, 13
Disadvantages vs. Paid Tools
• Harder to set up/maintain
• Functionality
• Regions
• Full page oriented
• Less consistent

Wednesday, October 16, 13
Advantages vs. Paid Tools

Wednesday, October 16, 13
Advantages vs. Paid Tools
• Cost

Wednesday, October 16, 13
Advantages vs. Paid Tools
• Cost
• Flexibility

Wednesday, October 16, 13
Advantages vs. Paid Tools
• Cost
• Flexibility
• People know the tool

Wednesday, October 16, 13
Advantages vs. Paid Tools
• Cost
• Flexibility
• People know the tool
• Multi-page flows

Wednesday, October 16, 13
Advantages vs. Paid Tools
• Cost
• Flexibility
• People know the tool
• Multi-page flows
• Scripting

Wednesday, October 16, 13
Our Use Cases

Wednesday, October 16, 13
WebPagetest

Wednesday, October 16, 13

Catchpoint
WebPagetest
• Multi-page flows

Wednesday, October 16, 13

Catchpoint
WebPagetest
• Multi-page flows
• Scripted tests

Wednesday, October 16, 13

Catchpoint
WebPagetest
• Multi-page flows
• Scripted tests
• High volume testing

Wednesday, October 16, 13

Catchpoint
WebPagetest
• Multi-page flows
• Scripted tests
• High volume testing
• Ad-hoc tests

Wednesday, October 16, 13

Catchpoint
WebPagetest

Catchpoint

• Multi-page flows

• DNS

• Scripted tests
• High volume testing
• Ad-hoc tests

Wednesday, October 16, 13
WebPagetest

Catchpoint

• Multi-page flows

• DNS

• Scripted tests

• API

• High volume testing
• Ad-hoc tests

Wednesday, October 16, 13
WebPagetest

Catchpoint

• Multi-page flows

• DNS

• Scripted tests

• API

• High volume testing

• Single Object Tests

• Ad-hoc tests

Wednesday, October 16, 13
WebPagetest

Catchpoint

• Multi-page flows

• DNS

• Scripted tests

• API

• High volume testing

• Single Object Tests

• Ad-hoc tests

• Multiple locations

Wednesday, October 16, 13
WebPagetest

Catchpoint

• Multi-page flows

• DNS

• Scripted tests

• API

• High volume testing

• Single Object Tests

• Ad-hoc tests

• Multiple locations
• Comparisons

Wednesday, October 16, 13
Future Work

Wednesday, October 16, 13
Improving the Process

Wednesday, October 16, 13
Improving the Process
• Manage disk space

Wednesday, October 16, 13
Improving the Process
• Manage disk space
• Multiple regions

Wednesday, October 16, 13
Improving the Process
• Manage disk space
• Multiple regions
• More canned scripts

Wednesday, October 16, 13
Improving the Process
• Manage disk space
• Multiple regions
• More canned scripts
• Automate upgrades

Wednesday, October 16, 13
Leveraging WebPagetest

Wednesday, October 16, 13
Leveraging WebPagetest
• Front-end SPOF

Wednesday, October 16, 13
Leveraging WebPagetest
• Front-end SPOF
• User Timings (AFT)

Wednesday, October 16, 13
Leveraging WebPagetest
• Front-end SPOF
• User Timings (AFT)
• Speed Index

Wednesday, October 16, 13
Wednesday, October 16, 13
Improving
WebPagetest

Wednesday, October 16, 13
WebPagetest + Vagrant

Wednesday, October 16, 13
WebPagetest + Vagrant
• Install VirtualBox

Wednesday, October 16, 13
WebPagetest + Vagrant
• Install VirtualBox
• Install Vagrant

Wednesday, October 16, 13
WebPagetest + Vagrant
• Install VirtualBox
• Install Vagrant
• https://gist.github.com/jklein/6992296

Wednesday, October 16, 13
WebPagetest + Vagrant
• Install VirtualBox
• Install Vagrant
• https://gist.github.com/jklein/6992296
•vagrant up

Wednesday, October 16, 13
WebPagetest + Vagrant
• Install VirtualBox
• Install Vagrant
• https://gist.github.com/jklein/6992296
•vagrant up
• http://localhost:8080

Wednesday, October 16, 13
Wednesday, October 16, 13
800MB

Wednesday, October 16, 13
webpagetest-api

Wednesday, October 16, 13
Wednesday, October 16, 13
Both Are Good Options

Wednesday, October 16, 13
Results > Tools

Wednesday, October 16, 13
Thanks!

Wednesday, October 16, 13
Get in Touch
@jonathanklein
jonathan@etsy.com
www.etsy.com/careers
Wednesday, October 16, 13

Mais conteúdo relacionado

Destaque

Riding rails for 10 years
Riding rails for 10 yearsRiding rails for 10 years
Riding rails for 10 years
jduff
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Rails
jduff
 

Destaque (15)

JSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web DesignJSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web Design
 
Riding rails for 10 years
Riding rails for 10 yearsRiding rails for 10 years
Riding rails for 10 years
 
UXFest - RUM Distillation 101
UXFest - RUM Distillation 101UXFest - RUM Distillation 101
UXFest - RUM Distillation 101
 
Edge Conf Rendering Performance Panel
Edge Conf Rendering Performance PanelEdge Conf Rendering Performance Panel
Edge Conf Rendering Performance Panel
 
PHP On Steroids
PHP On SteroidsPHP On Steroids
PHP On Steroids
 
BTV PHP - Building Fast Websites
BTV PHP - Building Fast WebsitesBTV PHP - Building Fast Websites
BTV PHP - Building Fast Websites
 
PHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHPPHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHP
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
 
Scaling PHP to 40 Million Uniques
Scaling PHP to 40 Million UniquesScaling PHP to 40 Million Uniques
Scaling PHP to 40 Million Uniques
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projects
 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
 
PHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your RESTPHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your REST
 
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Rails
 
Improving PHP Application Performance with APC
Improving PHP Application Performance with APCImproving PHP Application Performance with APC
Improving PHP Application Performance with APC
 

Semelhante a DIY Synthetic: Private WebPagetest Magic

[Nuxeo World 2013] Roadmap 2014 - Product part
[Nuxeo World 2013] Roadmap 2014 - Product part[Nuxeo World 2013] Roadmap 2014 - Product part
[Nuxeo World 2013] Roadmap 2014 - Product part
Nuxeo
 
Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)
Sammy Fung
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and Mink
Richard Tuin
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Murat Yener
 
Scraping talk public
Scraping talk publicScraping talk public
Scraping talk public
Nesta
 

Semelhante a DIY Synthetic: Private WebPagetest Magic (20)

[Nuxeo World 2013] Roadmap 2014 - Product part
[Nuxeo World 2013] Roadmap 2014 - Product part[Nuxeo World 2013] Roadmap 2014 - Product part
[Nuxeo World 2013] Roadmap 2014 - Product part
 
Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and Mink
 
Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsphp[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
 
Las maravillas de Google App Engine
Las maravillas de Google App EngineLas maravillas de Google App Engine
Las maravillas de Google App Engine
 
Hotcode 2013: Javascript in a database (Part 2)
Hotcode 2013: Javascript in a database (Part 2)Hotcode 2013: Javascript in a database (Part 2)
Hotcode 2013: Javascript in a database (Part 2)
 
The Power of Open Data
The Power of Open DataThe Power of Open Data
The Power of Open Data
 
How do we develop open source software to help open data ? (MOSC 2013)
How do we develop open source software to help open data ? (MOSC 2013)How do we develop open source software to help open data ? (MOSC 2013)
How do we develop open source software to help open data ? (MOSC 2013)
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into Shape
 
Inexpensive Doesn’t Mean Cheap: Museum Applications for Low-Cost Technology
Inexpensive Doesn’t Mean Cheap: Museum Applications for Low-Cost TechnologyInexpensive Doesn’t Mean Cheap: Museum Applications for Low-Cost Technology
Inexpensive Doesn’t Mean Cheap: Museum Applications for Low-Cost Technology
 
Functional Web Apps with WebMachine Framework
Functional Web Apps with WebMachine FrameworkFunctional Web Apps with WebMachine Framework
Functional Web Apps with WebMachine Framework
 
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
 
Green Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in GovernmentGreen Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in Government
 
Linked Data and Search: Thomas Steiner (Google Inc, Germany)
Linked Data and Search:  Thomas Steiner (Google Inc, Germany)Linked Data and Search:  Thomas Steiner (Google Inc, Germany)
Linked Data and Search: Thomas Steiner (Google Inc, Germany)
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
 
Troubleshooting Live Java Web Applications
Troubleshooting Live Java Web ApplicationsTroubleshooting Live Java Web Applications
Troubleshooting Live Java Web Applications
 
Scraping talk public
Scraping talk publicScraping talk public
Scraping talk public
 
Goodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social UpdateGoodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social Update
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

DIY Synthetic: Private WebPagetest Magic