SlideShare ist ein Scribd-Unternehmen logo
1 von 14
The Service doing “Ping”
In a Service-Oriented Architecture, implementing
“ping” utilities to monitor services and to deduce
business information such as checking SLAs is prone
to error Ignaz Wanders
The Ping Utility
• Ping is originally a computer network administration utility used to test the
reachability of a host on an IP network and to measure the round-trip time for
messages sent from the originating host to a destination computer. (Wikipedia)
• The term originates from active sonar technology
• Defined in 1983
• Phased out from 2003 onwards
– Exploited by internet worms to find new computers
– Added load to the system, causing problems with routers across the internet
– Considered a security risk
• E.g., Ping of Death (malformed ping resulting in buffer overflow)
See http://en.wikipedia.org/wiki/Ping_(networking_utility)
The world of services
Service
Consumer
application
Service
Service
“My service provider says he is
available at least 90% of the time, so
I will check him out regularly if he
keeps his promise!”
2
“My service depends on
another service, so I will not
make my service available if
my service provider is not
available.”
3
1
“If I depend on the availability of
another service, I’ll ask if it is
available, just before I use it.”
“I need a ping!”
The world of service pings
Service
Consumer
application
Service
Service
Ping()
Ping()
Ping()
Each service offers a Ping operation
in the interface (WSDL)
“I need a ping!”
Real-life example 1: A service with special ping operation
<wsdl:operation name="ping">
<soap:operation style="document" soapAction="" />
<wsdl:input>
<soap:header message="tns:Ping" part="header" use="literal" />
<soap:body parts="body" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:header message="tns:PingResponse" part="header" use="literal" />
<soap:body parts="body" use="literal" />
</wsdl:output>
</wsdl:operation>
Real-life example 2: A special ping service
See if it is there, by using ping
1 “If I depend on the availability of
another service, I’ll ask if it is
available, just before I use it.”
This is brilliant. The network is known to have availability
issues every now and then, especially with synchronous
protocols like HTTP.
So before calling a SOAP web service, let’s do a ping first. If the
service doesn’t answer, we don’t call it with the real request.
Flaws:
1. There is no guarantee that after a successful ping, the real
request will pass through.
2. An unsuccessful ping does not guarantee that the real
request would not have passed through.
The conclusion drawn from the result of the ping can very well be wrong
See if it is there, by using ping
1 “If I depend on the availability of
another service, I’ll ask if it is
available, just before I use it.”
Solution:
Just call the service with the real request and make sure that
you handle a connection error properly.
This way, you have never taken the wrong decision.
Compared with the ping “solution,” there will be more
successful hits, which means more business.
Monitoring, by using ping
“My service provider says he is
available at least 90% of the time, so
I will check him out regularly if he
keeps his promise!”
2 Let’s do a ping every n minutes, and calculate the availability
percentage of the provider. This is a measure of the uptime of
the service provider.
Flaws:
1. There is no guarantee that between two successful
pings, the service was really available.
2. An unsuccessful ping can be an intermittent network
issue of very short duration, but it may be counted as n
minutes
The conclusion drawn from the monitoring by pinging has nothing to do with
the real statistics of uptime of the provider
Monitoring, by using ping
“My service provider says he is
available at least 90% of the time, so
I will check him out regularly if he
keeps his promise!”
2
Solution:
Just call the service with the real request and make sure that
you handle a connection error properly.
It doesn’t matter if the service provider is off-air in between
requests. All that matters is that at least x percent of your
requests are served correctly. That’s what needs to be stated
in a service level agreement. And that is what is measurable.
Proactive service provisioning, by using ping
“My service depends on another
service, so I will not make my service
available if my service provider is
not available.”
3 Let’s do a ping of the service provider. If he doesn’t answer I
will close down my web application so consumers can’t use
this functionality. That avoids frustration of the people
receiving connection errors.
I’ll open the web application again after a successful ping.
(no kidding, this exists in real life!)
Flaws:
1. There can be no guarantee the service is down. The web
application will sometimes be shut down erroneously.
This can result in missed business.
The conclusion drawn from the unsuccessful ping is invalid.
Proactive service provisioning, by using ping
“My service depends on another
service, so I will not make my service
available if my service provider is
not available.”
3
Solution:
Just call the service with the real request and make sure that
you handle a connection error properly.
Even in this way you can shut down the web application, for
example after p unsuccessful requests.
Compared with the ping “solution,” there will be more
successful hits, which means more business.
Conclusion
Death to ping services or
operations.
Conclusion
Rather use proper error
handling!

Weitere ähnliche Inhalte

Ähnlich wie The Service doing "Ping"

Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2Ian McDonald
 
False Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a NuisanceFalse Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a NuisanceDavis J Martin
 
Presentation File (1).pdf
Presentation File (1).pdfPresentation File (1).pdf
Presentation File (1).pdfballjay
 
UX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus OnUX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus OnCode & Pepper
 
Service workers and their role in PWAs
Service workers and their role in PWAsService workers and their role in PWAs
Service workers and their role in PWAsIpsha Bhidonia
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated CustomersBarry Greene
 
Test execution
Test executionTest execution
Test executionadarsh j
 
Presentation File.pdf
Presentation File.pdfPresentation File.pdf
Presentation File.pdfballjay
 
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...Naresh Chintalcheru
 
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...
Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...Lounge47
 
Troubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx PresentationTroubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx PresentationUniface
 
When Things Go Bump in the Night
When Things Go Bump in the NightWhen Things Go Bump in the Night
When Things Go Bump in the Nightahamilton55
 
A-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For BeginnersA-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For BeginnersLime VPN
 
7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App MetricsApteligent
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsDynatrace
 
Software not working or agents lying
Software not working or agents lyingSoftware not working or agents lying
Software not working or agents lyingSpectrum
 
HSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APMHSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APMKent Cartwright
 
Integration testing with PACT
Integration testing with PACTIntegration testing with PACT
Integration testing with PACTKnoldus Inc.
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For StartupsIdo Green
 

Ähnlich wie The Service doing "Ping" (20)

Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2
 
False Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a NuisanceFalse Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a Nuisance
 
Presentation File (1).pdf
Presentation File (1).pdfPresentation File (1).pdf
Presentation File (1).pdf
 
UX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus OnUX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus On
 
Service workers and their role in PWAs
Service workers and their role in PWAsService workers and their role in PWAs
Service workers and their role in PWAs
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated Customers
 
Test execution
Test executionTest execution
Test execution
 
Presentation File.pdf
Presentation File.pdfPresentation File.pdf
Presentation File.pdf
 
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
 
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...
Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...
 
Troubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx PresentationTroubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx Presentation
 
When Things Go Bump in the Night
When Things Go Bump in the NightWhen Things Go Bump in the Night
When Things Go Bump in the Night
 
A-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For BeginnersA-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For Beginners
 
7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics
 
Top 5 IT challenges for 2017
Top 5 IT challenges for 2017Top 5 IT challenges for 2017
Top 5 IT challenges for 2017
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 
Software not working or agents lying
Software not working or agents lyingSoftware not working or agents lying
Software not working or agents lying
 
HSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APMHSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APM
 
Integration testing with PACT
Integration testing with PACTIntegration testing with PACT
Integration testing with PACT
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups
 

Kürzlich hochgeladen

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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 Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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...DianaGray10
 
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 Takeoffsammart93
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
+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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

The Service doing "Ping"

  • 1. The Service doing “Ping” In a Service-Oriented Architecture, implementing “ping” utilities to monitor services and to deduce business information such as checking SLAs is prone to error Ignaz Wanders
  • 2. The Ping Utility • Ping is originally a computer network administration utility used to test the reachability of a host on an IP network and to measure the round-trip time for messages sent from the originating host to a destination computer. (Wikipedia) • The term originates from active sonar technology • Defined in 1983 • Phased out from 2003 onwards – Exploited by internet worms to find new computers – Added load to the system, causing problems with routers across the internet – Considered a security risk • E.g., Ping of Death (malformed ping resulting in buffer overflow) See http://en.wikipedia.org/wiki/Ping_(networking_utility)
  • 3. The world of services Service Consumer application Service Service “My service provider says he is available at least 90% of the time, so I will check him out regularly if he keeps his promise!” 2 “My service depends on another service, so I will not make my service available if my service provider is not available.” 3 1 “If I depend on the availability of another service, I’ll ask if it is available, just before I use it.” “I need a ping!”
  • 4. The world of service pings Service Consumer application Service Service Ping() Ping() Ping() Each service offers a Ping operation in the interface (WSDL) “I need a ping!”
  • 5. Real-life example 1: A service with special ping operation <wsdl:operation name="ping"> <soap:operation style="document" soapAction="" /> <wsdl:input> <soap:header message="tns:Ping" part="header" use="literal" /> <soap:body parts="body" use="literal" /> </wsdl:input> <wsdl:output> <soap:header message="tns:PingResponse" part="header" use="literal" /> <soap:body parts="body" use="literal" /> </wsdl:output> </wsdl:operation>
  • 6. Real-life example 2: A special ping service
  • 7. See if it is there, by using ping 1 “If I depend on the availability of another service, I’ll ask if it is available, just before I use it.” This is brilliant. The network is known to have availability issues every now and then, especially with synchronous protocols like HTTP. So before calling a SOAP web service, let’s do a ping first. If the service doesn’t answer, we don’t call it with the real request. Flaws: 1. There is no guarantee that after a successful ping, the real request will pass through. 2. An unsuccessful ping does not guarantee that the real request would not have passed through. The conclusion drawn from the result of the ping can very well be wrong
  • 8. See if it is there, by using ping 1 “If I depend on the availability of another service, I’ll ask if it is available, just before I use it.” Solution: Just call the service with the real request and make sure that you handle a connection error properly. This way, you have never taken the wrong decision. Compared with the ping “solution,” there will be more successful hits, which means more business.
  • 9. Monitoring, by using ping “My service provider says he is available at least 90% of the time, so I will check him out regularly if he keeps his promise!” 2 Let’s do a ping every n minutes, and calculate the availability percentage of the provider. This is a measure of the uptime of the service provider. Flaws: 1. There is no guarantee that between two successful pings, the service was really available. 2. An unsuccessful ping can be an intermittent network issue of very short duration, but it may be counted as n minutes The conclusion drawn from the monitoring by pinging has nothing to do with the real statistics of uptime of the provider
  • 10. Monitoring, by using ping “My service provider says he is available at least 90% of the time, so I will check him out regularly if he keeps his promise!” 2 Solution: Just call the service with the real request and make sure that you handle a connection error properly. It doesn’t matter if the service provider is off-air in between requests. All that matters is that at least x percent of your requests are served correctly. That’s what needs to be stated in a service level agreement. And that is what is measurable.
  • 11. Proactive service provisioning, by using ping “My service depends on another service, so I will not make my service available if my service provider is not available.” 3 Let’s do a ping of the service provider. If he doesn’t answer I will close down my web application so consumers can’t use this functionality. That avoids frustration of the people receiving connection errors. I’ll open the web application again after a successful ping. (no kidding, this exists in real life!) Flaws: 1. There can be no guarantee the service is down. The web application will sometimes be shut down erroneously. This can result in missed business. The conclusion drawn from the unsuccessful ping is invalid.
  • 12. Proactive service provisioning, by using ping “My service depends on another service, so I will not make my service available if my service provider is not available.” 3 Solution: Just call the service with the real request and make sure that you handle a connection error properly. Even in this way you can shut down the web application, for example after p unsuccessful requests. Compared with the ping “solution,” there will be more successful hits, which means more business.
  • 13. Conclusion Death to ping services or operations.
  • 14. Conclusion Rather use proper error handling!