888.4.NATNET
Facebook Twitter LinkIn Blog Instagram YouTube Google Plus
22
Feb
2011

High Availability – Is it For You?

by Administrator

A question we get on a regular basis is “How can I assure that my site will never go down no matter what?”  The answer is always the same “There are a number of options available to you depending on your budget and your application”.   I have provided a few options below.  As always, there are a number of ways to accomplish a task. The list below is by no means complete but will give you some ideas on what can be done to ensure that your site is less vulnerable to hardware and/or networking issues.

 

In every case, setting up high availability is going to require duplicating some hardware and may require changing the basic architecture of your site.

1. Round-Robin DNS (RRDNS)

RRNDS is a method where you assign 2 or more IP addresses in DNS to a single domain name.  If DNS sees that there is more than 1 IP address associated with the domain, it will divide the traffic between the IP addresses.  If there are two IP addresses associated with the domain, as requests come in they will be sent in an alternate fashion.  In other words, request number 1 goes to IP number 1.  Request number 2 goes to the second IP…request number 3 goes to the first IP –  well, you get the picture. To set this up, you would mirror your site on two different servers, using one IP on the first server and the second IP on the second server.  You are not limited to just 2 IP addresses per site with this method but each IP must be on a dedicated server.  In other words, if you assigned 4 IP addresses to the site, you would have to set up 4 servers with an identical copy of the site on all four servers.

 

The Advantage: RRDNS is that is a free solution and only requires the additional servers and nothing more – no expensive load balancer or difficult software configurations.

The Disadvantage: is that RRDNS does not know anything regarding the health of the server so if one server goes down, RRDNS will still attempt to send requests to that server, which means that ½ of the requests are going to a dead server.  Some surfers will hit the server that is up and see the site while the other half will hit the dead server and see nothing.  Another disadvantage is that it may require some site structure redesign.  For instance, if you use a CMS to manage your site, you must ensure that the CMS can handle having the site on more than one server.

 

2. Load Balancing

Load balancing is a hardware/software solution that works much like RRDNS except that the site only has one IP address associated with it as opposed to the multiple IP addresses used with RRDNS.  It still requires 2 or more servers with identical copies of the site residing on each server.  The IP address of the site resides on the hardware load balancer.  When a request for the site comes in, the request goes directly to the load balancer.  The load balancer then forwards the request to the least busy server and the server fulfills the request by sending the site content back to the surfer.

 

The Advantage: A load balancer knows about the health of the servers. If a server goes down or is not responding to requests, the load balancer immediately and automatically removes it from the pool and discontinues sending requests to it.  Once the server comes back up, the load balancer automatically puts it back into the pool and starts sending requests to it.

The Disadvantages: Load balancing is an additional cost (we can reduce these costs by putting you on a shared load balancer).  As well, the load balancer now becomes a single point of failure so in order to have true redundancy it requires a secondary load balancer in case the primary fails, thus doubling your cost.  Also, like RRDNS, you must ensure that your site and applications are capable of running on more than one server.

 

3. Disaster Recovery Site (DRS)

DRS is where you mirror your entire infrastructure (servers, network equipment, etc) in a second data center, usually in a data center that is at least 2-300 miles or more from your main location.  The reason for the distance is in case the primary center is subject to a natural disaster.  For instance, if a hurricane brings down your primary location, you want to ensure that the secondary location is also not affected.

 

The Advantage: You have full redundancy that would cover almost any event.

The Disadvantages: It requires that you duplicate your entire infrastructure, thus doubling your costs to protect against an event that may never occur.  Also, setting up a DRS so that it is fully automated requires a serious commitment to programming and architecture.

 

These are just a few of the things you can do to bullet-proof your site.  We also offer Mysql clustering as well as primary/secondary Mysql solutions that can ensure that there is some redundancy in your databases.  As always, should you have any questions about high availability, please contact our sales department.

Share and Enjoy
  • Print
  • Facebook
  • Twitter
  • Add to favorites
  • RSS
  • Google Bookmarks
  • Technorati
  • Yahoo! Buzz
07
Sep
2010

Do I Need a CDN?

by Administrator

What exactly is a CDN?

As someone who runs a hosting company, I get this question on a regular basis as we have a couple of different CDN offerings. Many people have heard of a CDN, usually from a friend or an online article, but few people know what it does or how it works, so let’s start with a definition and overview.

CDN is short for Content Delivery Network. CDNs were created to deal with proximity issues when delivering content from a web site. What this means is that the further away the surfer is from your web site, the slower it will load for them. If your web site is hosted in the US, a surfer in the US is going to see much faster load times than a surfer in Australia, simply because they are closer to the web site server.

A CDN consists of storage servers called “caching servers” or “edge servers” that are strategically placed around the world. Web site content is pulled from the “origin server” (the server that hosts your web site) and is pushed to all the edge servers. When a surfer makes a request for that content, the CDN first determines where the surfer is, then finds the nearest edge server to the surfer and finally confirms that the requested content is on the edge server. If the content exists on that edge server, it delivers that content from the edge server to the surfer, thus providing faster delivery of the CDN content to the surfer. If the CDN determines that the content should exist on the edge server but for some reason does not exist, it will pull it from the origin server and place it on the edge server. By using href tags in the HTML code for the site, the webmaster can control what content should be on the CDN and what content should be delivered directly from the origin server. Now that we know what a CDN is, let’s determine if you need one.

In the description above, we learn that a CDN has to go through a decision process to determine what to do (where is the surfer, does the content exist, etc). This decision process takes a second or two, which can add a delay to the loading of the content. Due to this decision process, it should be apparent that a CDN is not ideal for all sites or all content. A CDN was designed with larger content (files) where a 1 second delay is not critical. A CDN is also designed for “popular content” i.e., content that is accessed often. Edge servers do not have infinite disk space so all CDNs automatically expire or delete content on the edge servers if the content has not been accessed in some time. This time span is configurable by the site owner but usually it’s 30 days. So, it would not make sense to put up content that is only accessed occasionally.

A typical web site is hosted in a single location at a hosting company, and the web site usually consists of web pages of text and images and has been, or SHOULD BE optimized for the best performance. If a web site is properly optimized, it should load pretty quickly from anywhere in the world. Text is very small and most web site images are very small as well. Putting this small content on a CDN will actually defeat the purpose due to the decision process explained above. However, if you have large images, large downloads (zip files, software files, etc) or movie files, a CDN is perfect for this application, provided you have popular content to deliver. We have found that the best use of a CDN is to deliver the web site text and smaller images directly from the origin server and put the larger files on the CDN, thus providing a “best of both worlds” experience for the surfer. Large streaming movies will play much faster on the CDN. Large zip file downloads will download much more quickly on the CDN. The one exception to putting smaller files on the CDN would be a JavaScript file, or some other file that never changes and is always loaded on every page. We have seen some customers use the CDN for JavaScript files and have good success with them.

What a CDN is NOT good for…

CDN edge servers are just very large disk arrays and they are very good at delivering content; however, they are not designed for processing, so you usually cannot put php files or any other scripts/programs that require server side processing. You can put javascript on them because it is processed on the client side by the browser. CDN providers want their edge servers to “shovel content” to the surfer and nothing more. Adding in server side processing would simply slow down the CDN and also create a new level of un-needed complexity.

CDNs are also not cheap. Because of the infrastructure required, as well as the software that runs it, there is a significant investment required to build a CDN. This means that CDN bandwidth can run 2-10 times more than regular bandwidth provided by your hosting company.

Finally, if most of your surfers are in the same area as your web site, i.e., your web site is in the US and most of your surfers are in the US, there is no benefit to having a CDN, as you’ll be paying extra but not really seeing any faster speeds.

So, if you have a web site that delivers larger files, whether streamed or downloaded, you have surfers all over the world and you wish to give them the best possible experience, it may be time to see if YOU need a CDN.

Share and Enjoy
  • Print
  • Facebook
  • Twitter
  • Add to favorites
  • RSS
  • Google Bookmarks
  • Technorati
  • Yahoo! Buzz
24
Aug
2010

Server Specs: Do They Really Matter?

by Administrator

“Hi, I’m interested in hosting with you and would like to discuss pricing. What’s the biggest, baddest server (we’ll refer to this server as the “BBS”) you guys offer?” I’m always surprised by how many sales conversations start off this way. Instead of having a discussion about needs and how best to meet them, some webmasters think that if they get a monster box (the BBS), it will just magically take care of everything they need now, or may need in the future, and this mindset could not be more incorrect. This is akin to wanting to open a small corner store but asking your real estate agent to go out there and find the biggest empty building they can find.

As I wrote about in a my previous article 10 Tips to Selecting Your Web Host Company the first thing you need to do is determine your needs. By this, I mean look at your site, any software packages you may be using and other aspects such as databases, disk space needs etc. This will help you narrow down your search for a web host. However, once you have narrowed your search down to 2-3 hosting companies, it’s now time to talk to them and get their input on what you need. Many times the BBS is not what you need at all. There are a few reasons why having a BBS can actually be an issue.

1. Cost. Of course the larger server you get, the more it’s going to cost. A server with Dual processors, 48G of RAM and some giant drive or RAID array will certainly put a dent in your budget.

2. Scalability. You now have all your eggs in this one BBS basket and when it’s time to grow, you’re likely going to have to get another server just like your first BBS – especially if your growth plan includes incorporating load balancing, as load balanced servers should be as close spec-wise as possible.

3. Efficiency. You might have a BBS that only has a single big drive in it, but because your site is very database intensive, you find that this BBS is actually bottlenecking your sites due to the single disk not keeping up. Of course, because all you wanted was a BBS and never talked to your host about the best SOLUTION for you, you’re now faced with possible downtime to change the drive to something that suits your needs better.

Talking to your hosting provider can go a long way towards making sure you’re utilizing the correct hardware. For instance, using example #3 above, after discussions with your host, you may learn that the best solution is actually splitting the load between two smaller servers where one server is a web server and the second server is a dedicated database server. Had you gone with only one BBS, it’s likely that your site performance could have been affected; leaving you yelling at your web host because your site was slow when in reality, the host did exactly what you told them to.

So, when it’s time to select a web host and the server (or servers) for your needs, remember to talk with the host about what’s best for you. Your host does this for a living and any respectable host will be more than happy to work with you to find the best fit for your needs. Speaking personally, I would rather you be a happy customer with a smaller, less expensive server than an unhappy customer with a BBS that’s not meeting your needs for.

Share and Enjoy
  • Print
  • Facebook
  • Twitter
  • Add to favorites
  • RSS
  • Google Bookmarks
  • Technorati
  • Yahoo! Buzz
NationalNet, Inc., Internet - Web Hosting, Marietta, GA
Apache Linux MySQL Cisco CPanel Intel Wowza