Search
Lori MacVittie - Two Different Socks
You are here: DevCentral > Weblogs

posted on Wednesday, September 30, 2009 3:25 AM

Are you monitoring the network, servers, stack, or the application? The answer may mean the difference between your application being available or not.

One of the biggest problems with moving away from simple load balancing to application delivery is that network teams don’t often get the memo and the application teams don’t have a good understanding of what load balancers can do so they can’t even offer suggestions regarding how to architect a better   solution to availability. That means neither team really understands the role of health monitoring in maintaining availability for applications.

What should happen is this: application requests should only be sent to nodes (application instances) which are currently available. Health monitoring is the way in which it is determined by the load balancer/application delivery controller whether a node is “up” (available) or “down” (unavailable). There are several ways in which health monitoring is possible, but only one will provide the availability assurance necessary. Read carefully, there will be a quiz at the end. Ready?

imageICMP / PING This method sends an ICMP PING at specified intervals to the node. If the node responds, it is considered “up”.

TCP HANDSHAKE This method opens a TCP connection to the node on the specified port, goes through the motion of the three-way handshake, and then closes the connection. If the handshake completes, the node is considered “up”.

HTTP GET/POST This method actually talks to an application, sort of, by sending an HTTP GET or POST to the application server. If the HTTP status returned is 200 OK, the node is considered “up”

APPLICATION LAYER VERIFICATION This method is essentially an HTTP GET/POST but includes a verification check of the data returned. If the response returned contains the right “stuff”, as specified by the configuration, then the node is considered “up”.

Now, which of these do you think is the right one to use if you want to ensure that requests are only ever sent to a “node” that will respond correctly to the user and thus fulfill the operational and business definition of “available”?

Exactly. If you’re monitoring just the network (ICMP / PING) or the stack (TCP HANDSHAKE), or the server (HTTP GET/POST) then you can’t really be sure that the application is actually available. The only option here that ensures everything from the network to the application is actually “up” and available is the application layer verification method.

So when you configure that load balancer/application delivery controller, consider what it is you’re load balancing (hint: it’s an application) and how that monitor should actually determine whether an application is available or not.

Follow me on TwitterView Lori's profile on SlideShare friendfeedicon_facebook AddThis Feed Button Bookmark and Share

Related blogs & articles:



Feedback

No comments posted yet.

Let Me Know What You Think


Please use the form below if you have any comments, questions, or suggestions.

Title:
 
Name:
 
Email: (so we can show your gravatar)
Website:
Comment: Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code
 
Please add 5 and 8 and type the answer here:

Blog Stats

Posts:978
Comments:1685
Stories:0
Trackbacks:583
  

Image Galleries

  

Application Delivery

  

Cloud Computing

  

Random

  

Security

  

Chat Catcher

82,243 Members in 102 Countries and Growing!

Join DevCentral Today!

About DevCentral

DevCentral has been a successful, thriving community for many years. We have always strived to bring you the best technical documentation, discussion forums, blogs, media and much more that we can.

So dive in, get familiar with DevCentral. We hope you like it, we hope it makes your job easier, and lets you get that much more power out of the community. To learn more, make sure to check out the Getting Started section. And if you have any problems, or think something could be easier to use, drop us a line to let us know.

Got It !

We've received your comment and transmitted it directly to DevCentral HQ.

Thanks for taking time to let us know what's on your mind. At DevCentral | Community Matters!

Get In Touch With Us

Have questions, suggestions or just want to get something off your chest?

Use our handy form below to Direct Connect with DevCentral Mission Control.

Send Us Feedback       or