SlideShare a Scribd company logo
1 of 155
Download to read offline
Load testing
Who is this dude?
Lindsay Holmwood
BULLETPROOF
I Run this thing
Have tried and failed many
times to implement effective
        load testing
A story
New project
Replacing a high-
 profile website
 (new infrastructure,
    new application)
1000
concurrent users
“We need 100%
   uptime”
Project starts
Requirements
   change
Deadlines
aren’t met
Performance testing?
      Fuck it!
  We’ll do it live!
Performance testing?
“You have one day”
Problem:
Treated as
WAterfall-esque
       QA
It’s a
non-functional
  requirement
WHY
Do we load test?
Capacity
planning
“Can the site deal
   with load?”
Defect
detection
“Is this code
going to cripple
    the site?”
Optimisation
“What happens if
 we change this
   Setting?”
Historical
 analysis
“Is the site
getting slower?”
Cache warming
“Prepare the
infrastructure
  for Failover”
WHY
Do we load test?
A combination of
  proactive &
Reactive reasons
A combination of
  proactive &
Reactive reasons
It’s a
non-functional
  requirement
Why
      does load testing
           FAIL?
(from a technical perspective)
How
not the
WHAT
TooL fetishism
Get bogged down
   in details
how the testing
infrastructure works
Micro
 vs
Macro
Business
  Does not care
about your tools
Business
cares About:
“Can the site deal
   with load?”
Recommendation:
Use tool with
lowest barrier
   TO entry
Blitz
Runs on AWS
Web form
Browser plugins
   Firefox, Chrome
REST API
API Clients
Ruby, Python, Java
   Node.JS, Perl
Common
Command Line
Excellent
documentation
   docs.blitz.io
Inexpensive
    250 concurrent users
over 60 second period == free
SPRINTS
   &
RUSHES
Let’s dive in!
Sign up @
 http://blitz.io/
$ gem install blitz
$ blitz help
Usage: blitz <command> <options>
                help - Display this help
      account:about - Show information about your account
           api:init - Validate and login with your API key
         couch:fuzz - Auto generate blitz tests from CouchDB
                curl - Run a sprint or a rush
          curl:help - Show help on sprint and rushing
         traceroute - Run traceroute remotely
    traceroute:help - Show help on traceroute
             version - Show the version of this Ruby gem
$ blitz api:init
# writes credentials to ~/.blitz/credentials
$ blitz curl:help

Usage: blitz curl <options> <url>

--user-agent    -A   <string>      User-Agent to send to server
--cookie        -b   name=<string> Cookie to send to the server (multiple)
--data          -d   <string>      Data to send in a PUT or POST request
--dump-header   -D   <file>        Print the request/response headers
--referer       -e   <string>      Referer URL
--help          -h                 Help on command line options
--header        -H   <string>      Custom header to pass to server
--pattern       -p   <s>-<e>:<d>   Ramp from s to e concurrent requests in d secs
--region        -r   <string>      california|oregon|virginia|singapore|ireland|japan
--status        -s   <number>      Assert on the HTTP response status code
--timeout       -T   <ms>          Wait time for both connect and responses
--user          -u   <user[:pass]> User and password for authentication
--request       -X   <string>      Request method to use (GET, HEAD, PUT, etc.)
--variable      -v   <string>      Define a variable to use
--verbose       -V                 Print the request/response headers
--tlsv1         -1                 Use TLSv1 (SSL)
--sslv2         -2                 Use SSLv2 (SSL)
--sslv3         -3                 Use SSLv3 (SSL)
$ blitz curl --region singapore --pattern 1-250:20 
     --timeout 10000 --verbose http://example.org/
user growth / time

$ blitz curl --region singapore --pattern 1-250:20 
     --timeout 10000 --verbose http://example.org/
user growth / time
      for AWS lag
$ blitz curl --region singapore --pattern 1-250:20 
     --timeout 10000 --verbose http://example.org/
user growth / time
         for AWS lag
$ blitz curl --region singapore --pattern 1-250:20 
     --timeout 10000 --verbose http://example.org/

rushing from singapore...

  Time    Users Response    Hits Timeouts   Errors   Hits/s Mbps
  2.5s       31 -1.000s        0        0        0
  8.3s      103   1.075s     146        0        9    50.53   0.88
 11.2s      140   0.406s     376        0        9    79.64   1.41
 14.1s      176   0.409s     682        0        9   105.24   1.86
 22.8s        0   0.417s    1552        0        9    15.57   0.27
--pattern 1-250:20
blitz calculates the
     growth automatically



--pattern 1-250:20
Sawtooth
--pattern 1-250:20,1-250:20,1-250:20
TV AD / Twittersplosion
 --pattern 200-5000:30,5000-400:60
Integrate
     with your
development cycle
VCS
        CI
Deploy automation
VCS
        CI
Deploy automation
git
post-receive hook
GitHub web hooks
Doesn’t take into
 account test
   failures
Is the code
 actually
 deployed?
VCS
        CI
Deploy automation
CRON JOB
JENKINS JOB
GREAT if you have
   a CI system
Runs tests
      but
Separate system
What if you’re making
infrastructure changes
 during a load test?
VCS
        CI
Deploy automation
Fabric
Capistrano
Run tests when
  you deploy
Use the same
  toolchain
Testing lives IN the app.
What about triggering
   load tests on
  infrastructure
      changes?
MVP
Just get
something
 working!
Problem:
No REporting
     :-(
THIS IS IT
rushing from singapore...

  Time   Users Response     Hits Timeouts   Errors   Hits/s Mbps
  2.5s      31 -1.000s         0        0        0
  8.3s     103   1.075s      146        0        9    50.53   0.88
 11.2s     140   0.406s      376        0        9    79.64   1.41
 14.1s     176   0.409s      682        0        9   105.24   1.86
 22.8s       0   0.417s     1552        0        9    15.57   0.27
SOL ON:
Optimisation
“What happens if
 we change this
   Setting?”
Historical
 analysis
“Is the site
getting slower?”
Showstopper?
...
$ gem install blitz

# ...

rushing from singapore...

  Time   Users Response     Hits Timeouts   Errors   Hits/s Mbps
  2.5s      31 -1.000s         0        0        0
  8.3s     103   1.075s      146        0        9    50.53   0.88
 11.2s     140   0.406s      376        0        9    79.64   1.41
 14.1s     176   0.409s      682        0        9   105.24   1.86
 22.8s       0   0.417s     1552        0        9    15.57   0.27
Can we duck
punch our way
  to success?
#!/usr/bin/env ruby
# load_test.rb

require 'blitz'

arguments = "--region singapore --pattern 1:250:60"
url       = "http://example.org/"
command   = "#{arguments} #{url}"

job     = Blitz::Curl.parse(command)
curl    = Blitz::Command::Curl.new
curl.rush(job)
# ruby load_test.rb

rushing from singapore...

  Time   Users Response     Hits Timeouts   Errors   Hits/s Mbps
  2.5s      31 -1.000s         0        0        0
  8.3s     103   1.075s      146        0        9    50.53   0.88
 11.2s     140   0.406s      376        0        9    79.64   1.41
 14.1s     176   0.409s      682        0        9   105.24   1.86
 22.8s       0   0.417s     1552        0        9    15.57   0.27
#!/usr/bin/env ruby
# load_test.rb

require 'blitz'

arguments = "--region singapore --pattern 1:250:60"
url       = "http://example.org/"
command   = "#{arguments} #{url}"

job     = Blitz::Curl.parse(command)
curl    = Blitz::Command::Curl.new
curl.rush(job)
#!/usr/bin/env ruby
# load_test.rb

require 'blitz'

arguments = "--region singapore --pattern 1:250:60"
url       = "http://example.org/"
command   = "#{arguments} #{url}"

job     = Blitz::Curl.parse(command)
curl    = Blitz::Command::Curl.new
curl.rush(job)
Blitz::Curl.parse(command)

         returns
    Blitz::Curl::Rush
#!/usr/bin/env ruby
# load_test.rb

require 'blitz'

arguments = "--region singapore --pattern 1:250:60"
url       = "http://example.org/"
command   = "#{arguments} #{url}"

job     = Blitz::Curl.parse(command)
curl    = Blitz::Command::Curl.new
curl.rush(job)
Blitz::Command::Curl#rush
initiates the test
   + outputs the test results


Blitz::Command::Curl#rush
#!/usr/bin/env ruby
# load_test.rb

require 'blitz'

arguments = "--region singapore --pattern 1:250:60"
url       = "http://example.org/"
command   = "#{arguments} #{url}"

job     = Blitz::Curl.parse(command)
curl    = Blitz::Command::Curl.new
curl.rush(job)

puts job.result.timeline.to_json
Produces muck
duck punch our
way to success
class Blitz::Curl::Rush
  class Point
    def to_json(*args)
      {
        'timestamp' => @timestamp,
        'duration' => @duration,
        'total'     => @total,
        'hits'      => @hits,
        'errors'    => @errors,
        'timeouts' => @timeouts,
        'volume'    => @volume,
        'txbytes'   => @txbytes,
        'rxbytes'   => @rxbytes,
        'steps'     => @steps,
      }.to_json
    end
  end

  # ...
# ...

  class Step
    def to_json(*args)
      {
        'duration' => @duration,
        'connect' => @connect,
        'errors'   => @errors,
        'timeouts' => @timeouts,
        'asserts' => @asserts,
      }.to_json
    end
  end
end
#!/usr/bin/env ruby
# load_test.rb

require 'blitz'

arguments = "--region singapore --pattern 1:250:60"
url       = "http://example.org/"
command   = "#{arguments} #{url}"

job     = Blitz::Curl.parse(command)
curl    = Blitz::Command::Curl.new
curl.rush(job)

puts job.result.timeline.to_json
{"start":1335694346,"finish":1335694367,"results":[{"timestamp":
2.502626,"duration":1.13912,"total":1,"hits":1,"errors":0,"timeouts":
0,"volume":2,"txbytes":258.0,"rxbytes":17810.0,"steps":[{"duration":
2.13912,"connect":0.260004,"errors":0,"timeouts":0,"asserts":0}]},
{"timestamp":5.016102,"duration":0.640047,"total":5,"hits":5,"errors":
0,"timeouts":0,"volume":4,"txbytes":1548.0,"rxbytes":90882.0,"steps":
[{"duration":1.640047,"connect":0.158944,"errors":0,"timeouts":
0,"asserts":0}]},{"timestamp":7.524594,"duration":0.639987,"total":
10,"hits":10,"errors":0,"timeouts":0,"volume":5,"txbytes":
3354.0,"rxbytes":182222.0,"steps":[{"duration":1.639987,"connect":
0.158999,"errors":0,"timeouts":0,"asserts":0}]},{"timestamp":
10.03388,"duration":0.63961,"total":20,"hits":20,"errors":0,"timeouts":
0,"volume":7,"txbytes":5418.0,"rxbytes":364902.0,"steps":[{"duration":
1.63961,"connect":0.158847,"errors":0,"timeouts":0,"asserts":0}]},
{"timestamp":12.543211,"duration":0.640421,"total":31,"hits":
31,"errors":0,"timeouts":0,"volume":9,"txbytes":9030.0,"rxbytes":
565850.0,"steps":[{"duration":1.640422,"connect":0.158767,"errors":
0,"timeouts":0,"asserts":0}]},{"timestamp":15.051705,"duration":
0.639894,"total":44,"hits":44,"errors":0,"timeouts":0,"volume":
10,"txbytes":12384.0,"rxbytes":803334.0,"steps":[{"duration":
1.639894,"connect":0.158794,"errors":0,"timeouts":0,"asserts":0}]},
{"timestamp":17.560136,"duration":-1.0,"total":44,"hits":44,"errors":
0,"timeouts":0,"volume":0,"txbytes":12384.0,"rxbytes":803334.0,"steps":
[{"duration":0.0,"connect":0.0,"errors":0,"timeouts":0,"asserts":0}]}]}
Do with as
you please
Here’s one I
prepared earlier..
...
You don’t have to
  set up a tool
But you have to
write reporting?
At least you
 have load
  testing?
It’s on the way..
http://support.blitz.io/discussions/questions/114-sharing-reports
Where to
from here?
Pull in data from
  other places
new relic
Ganglia/collectd
  Git commits
Github:
square/crossfilter
Don’t like Blitz?
SaaS
 Load impact
Browser mob
Open Source
    Tsung
   JMeter
Start Using
 something!
Low barrier of
 entry is key
Integrate with your
  existing dev tools
Questions?

More Related Content

What's hot

Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
Bhojan Rajan
 
Advanced Load Runner
Advanced Load RunnerAdvanced Load Runner
Advanced Load Runner
telab
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
vladimir zaremba
 
Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6
Srimanta Kumar Sahu
 

What's hot (20)

Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
 
Cloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunnerCloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunner
 
QSpiders - Introduction to Performance Testing
QSpiders - Introduction to Performance TestingQSpiders - Introduction to Performance Testing
QSpiders - Introduction to Performance Testing
 
Advanced Load Runner
Advanced Load RunnerAdvanced Load Runner
Advanced Load Runner
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Performance testing using hp load runner
Performance testing using hp load runnerPerformance testing using hp load runner
Performance testing using hp load runner
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
How to make a Load Testing with Visual Studio 2012
How to make a Load Testing with Visual Studio 2012How to make a Load Testing with Visual Studio 2012
How to make a Load Testing with Visual Studio 2012
 
Getting start with Performance Testing
Getting start with Performance Testing Getting start with Performance Testing
Getting start with Performance Testing
 
LoadRunner walkthrough
LoadRunner walkthroughLoadRunner walkthrough
LoadRunner walkthrough
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6
 
JMeter Database Performace Testing - Keytorc Approach
JMeter Database Performace Testing - Keytorc ApproachJMeter Database Performace Testing - Keytorc Approach
JMeter Database Performace Testing - Keytorc Approach
 
Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1
 

Viewers also liked

Microservices_vs_SOA
Microservices_vs_SOAMicroservices_vs_SOA
Microservices_vs_SOA
Yakov Liskoff
 
Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 

Viewers also liked (16)

Load Runner
Load RunnerLoad Runner
Load Runner
 
Microservices_vs_SOA
Microservices_vs_SOAMicroservices_vs_SOA
Microservices_vs_SOA
 
Soap Vs Rest
Soap Vs RestSoap Vs Rest
Soap Vs Rest
 
Load runner & win runner
Load runner & win runnerLoad runner & win runner
Load runner & win runner
 
Soap vs. rest - which is right web service protocol for your need?
Soap vs. rest -  which is right web service protocol for your need?Soap vs. rest -  which is right web service protocol for your need?
Soap vs. rest - which is right web service protocol for your need?
 
EMCW2015 - Containers vs VMs
EMCW2015 - Containers vs VMsEMCW2015 - Containers vs VMs
EMCW2015 - Containers vs VMs
 
REST vs. SOAP
REST vs. SOAPREST vs. SOAP
REST vs. SOAP
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Microservices and SOA
Microservices and SOAMicroservices and SOA
Microservices and SOA
 
Containers and VMs and Clouds: Oh My. by Mike Coleman
Containers and VMs and Clouds: Oh My. by Mike ColemanContainers and VMs and Clouds: Oh My. by Mike Coleman
Containers and VMs and Clouds: Oh My. by Mike Coleman
 
Moving from Load Runner to Open Source: Increase Performance Test Coverage 10...
Moving from Load Runner to Open Source: Increase Performance Test Coverage 10...Moving from Load Runner to Open Source: Increase Performance Test Coverage 10...
Moving from Load Runner to Open Source: Increase Performance Test Coverage 10...
 
EMC World 2015 - The Devops Toolkit
EMC World 2015 - The Devops ToolkitEMC World 2015 - The Devops Toolkit
EMC World 2015 - The Devops Toolkit
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Quick guide to plan and execute a load test
Quick guide to plan and execute a load testQuick guide to plan and execute a load test
Quick guide to plan and execute a load test
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 

Similar to Load testing with Blitz

Socket applications
Socket applicationsSocket applications
Socket applications
João Moura
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
Wesley Beary
 

Similar to Load testing with Blitz (20)

Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
 
Otimizando seu projeto Rails
Otimizando seu projeto RailsOtimizando seu projeto Rails
Otimizando seu projeto Rails
 
Non-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.jsNon-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.js
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
DevOps with Serverless
DevOps with ServerlessDevOps with Serverless
DevOps with Serverless
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenches
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
 
Reactive Microservices with JRuby and Docker
Reactive Microservices with JRuby and DockerReactive Microservices with JRuby and Docker
Reactive Microservices with JRuby and Docker
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
 
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardHow I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
 
clara-rules
clara-rulesclara-rules
clara-rules
 
Real World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js ApplicationsReal World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js Applications
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
 
Presto anatomy
Presto anatomyPresto anatomy
Presto anatomy
 
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 

More from Lindsay Holmwood

Behaviour driven infrastructure
Behaviour driven infrastructureBehaviour driven infrastructure
Behaviour driven infrastructure
Lindsay Holmwood
 
Your own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with RubyYour own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with Ruby
Lindsay Holmwood
 

More from Lindsay Holmwood (12)

Escalating complexity: DevOps learnings from Air France 447
Escalating complexity: DevOps learnings from Air France 447Escalating complexity: DevOps learnings from Air France 447
Escalating complexity: DevOps learnings from Air France 447
 
AA261: DevOps lessons in collaborative maintenance
AA261: DevOps lessons in collaborative maintenanceAA261: DevOps lessons in collaborative maintenance
AA261: DevOps lessons in collaborative maintenance
 
Islands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof NetworksIslands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof Networks
 
Latency: The Silent Monitoring System Killer
Latency: The Silent Monitoring System KillerLatency: The Silent Monitoring System Killer
Latency: The Silent Monitoring System Killer
 
Rump - making Puppetmaster-less Puppet meaty
Rump - making Puppetmaster-less Puppet meatyRump - making Puppetmaster-less Puppet meaty
Rump - making Puppetmaster-less Puppet meaty
 
Behaviour driven infrastructure
Behaviour driven infrastructureBehaviour driven infrastructure
Behaviour driven infrastructure
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Behaviour Driven Monitoring with cucumber-nagios
Behaviour Driven Monitoring with cucumber-nagiosBehaviour Driven Monitoring with cucumber-nagios
Behaviour Driven Monitoring with cucumber-nagios
 
Flapjack: rethinking monitoring for the cloud
Flapjack: rethinking monitoring for the cloudFlapjack: rethinking monitoring for the cloud
Flapjack: rethinking monitoring for the cloud
 
Monitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagiosMonitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagios
 
Your own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with RubyYour own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with Ruby
 
Deploying Merb
Deploying MerbDeploying Merb
Deploying Merb
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
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
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
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
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 

Load testing with Blitz