Archive: Articles

Jul
20

HOW DOES A WEB SERVER WORK?

You have probably come to this site to find a company that provides Web servers or Web hosting services. But do you actually know how these hosting machines work? It’s a good idea to know a little bit about the product or service you are searching for before you begin your quest.

First, it’s important to note that this is a two-sided story. Web servers are responsible for storing and exchanging information with other machines. Because of this, at least two participants are required for each exchange of information: a client, which requests the information, and a server, which stores it. Each side also requires a piece of software to negotiate the exchange of data; in the case of the client, a browser like Netscape or Internet Explorer is used.

On the server side, however, things are not as simple. There is a myriad of software options available, but they all have a similar task: to negotiate data transfers between clients and servers via HyperText Transfer Protocol, the communications protocol of the Web. What type of server software you are able to run depends on the Operating System chosen for the server. For example, Microsoft Internet Information Server is a popular choice for Windows NT, while many Unix fans choose Apache Web server.

A simple exchange between the client machine and Web server goes like this:

1. The client’s browser dissects the URL in to a number of separate parts, including address, path name and protocol.

2. A Domain Name Server (DNS) translates the domain name the user has entered in to its IP address, a numeric combination that represents the site’s true address on the Internet (a domain name is merely a “front” to make site addresses easier to remember).

3. The browser now determines which protocol (the language client machines use to communicate with servers) should be used. Examples of protocols include FTP, or File Transfer Protocol, and HTTP, HyperText Transfer Protocol.

4. The server sends a GET request to the Web server to retrieve the address it has been given. For example, when a user types http://www.example.com/1.jpg, the browser sends a GET 1.jpg command to example.com and waits for a response. The server now responds to the browser’s requests. It verifies that the given address exists, finds the necessary files, runs the appropriate scripts, exchanges cookies if necessary, and returns the results back to the browser. If it cannot locate the file, the server sends an error message to the client.

5. The browser translates the data it has been given in to HTML and displays the results to the user.

This process is repeated until the client browser leaves the site.

Aside from its functions listed above, the Web server also has an additional number of responsibilities. Whereas a Web browser simply translates and displays data it is fed, a Web server is responsible for distinguishing between various error and data types. A Web server must, for example, designate the proper code for any sort of internal error and send that back to the browser immediately after it occurs. It also has to distinguish between various elements on a Web page (such as .GIFs, JPEGS and audio files) so that the browser knows which files are saved in which format. Depending on the site’s function, a Web server may also have numerous additional tasks to handle, including logging statistics, handling security and encryption, serving images for other sites (for banners, pictures, etc), generating dynamic content, or managing e-commerce functions.

Now that you’ve had a behind-the-scenes tour of a Web server, you can appreciate all the work that goes in to delivering a single page of content to your computer screen. Use this knowledge to your advantage, and keep it in mind when shopping around for your next host.

Jul
20

Dual CPUs and Multithreading Help Server Deployments

For years, hosting firms have offered dual CPU capacity in some of their higher-end offerings with the promise of better performance. Many end-users note that dual CPU systems trump single computer processors that can only handle one instruction from one application at any given point in time.

Each instruction sent to a processor is called a thread. Though a computer appears to multitask or run more then one program at a time, it is really not. A single CPU divides its time and power evenly between all the programs by switching back and forth creates a sense of multitasking.

In contrast, dual CPU systems can work on two independent threads concurrently. Each processor however is still limited to working on one thread. In effect, the dual CPU allows two applications to independently work at once. This is advantageous to a server, since it allows applications to continue working even if one fails.

Multi-CPU systems are designed to utilize different applications concurrently. Applications however must be specifically designed to accommodate multithreading. Thankfully, many applications can juggle multiple chores at once within a multithread environment.

Server applications handle concurrent clients. Interactive applications often deal with user input while processing background computations. And computationally intensive applications harness the power of multiple processors. The use of multiple threads for control allows for more effective implementation when dealing with these concurrent activities. Coordinating the execution of such threads involves synchronizing access to shared data structures, ensuring that programs are well behaved and deterministic regardless of the relative speeds of execution of their component threads.

Multithreaded programs, like single-threaded programs, must deal with exceptions and interaction with the outside world. Though there may be many concurrent activities in such a program, the program as a whole should cleanly respond to such outside input. There are a number of ways in which threads have been implemented, involving user-level libraries, the OS kernel, and various combinations. Most Linux implementations currently treat each thread as a separate process created using the clone system call (though each shares its address space with its cohorts). Some newer implementations of multithreaded software on Linux use different approaches, but the ultimate result is that applications like database servers can operate and dedicate specific resources to a single CPU, while other ongoing operations use the alternate CPU.

The assignment of specific database applications to a specific CPU is important more in terms of redundancy in most instances than speed. As many analysts indicate, any given program will not run faster with a dual processor, except to the extent that it does not have to handle other tasks. While many multithreaded applications are optimized to actually increase the speed of program performance, the greater advantage they provide is operational security.

If an application on one CPU causes a spike in server load, it will not incapacitate all server activity. In turn, if one CPU unit actually fails, the second CPU can take over other mission-critical activities until the alternate CPU is replaced. This, in certain situations, can assist with achieving greater uptime and responsiveness of server applications running within a Web hosting environment.

Jul
20

Using Compression to Enhance Hosting Environments

Compression reduces the size of files, in the case of Web content lowering the time it takes to download. Compression software uses complex mathematical equations to scan a file for repeating patterns in the data. It replaces the data with smaller codes that take up less room.

While surfing the Internet, consumers will undoubtedly find text, graphics, audio and video files to download. Multimedia files can be very large, which means they move very slowly across the network. Downloading these files may take hours, depending on the speed of Internet connection. To make efficient use of disk space and to speed things up, most large files are compressed.

The most popular of compression utilities is WinZip. With over 130 million downloads WinZip allows Internet users to save storage space, dramatically reduce email transmission time and efficiently archive documents.

The program now specifically incorporates encryption algorithms to protect sensitive data. The WinZip standard even permits the creation of self-extracting archives, which turns archives into executable programs that can be opened automatically, without the aid of the main compression program.

The use of ZIP compression not only condenses the size of files, but also combines multiple freestanding files (potentially hundreds or thousands) into one archived file. This eases the transport of large files across the Web. Un-streamed multimedia files and software application set-up files are often encoded as ZIP files to facilitate easy download and deployment on a client computer.

Compression can also reduce the size of Web pages. Recently, GZIP, a Unix compression standard, has been incorporated into both Web servers and browsers. As a result, many browsers support transparent compression using GZIP.

If a compression-enabled server detects that the browser supports GZIP encoding, it can compress and send the data using the GZIP encoding at the transmission level. When the compressed data arrives at the browser, it is decompressed transparently. The traffic from the server to the browser is reduced, which can significantly shorten the load time for the page.

With the advent of specific new code in the PHP scripting environment, Web page compression can also be implemented very quickly across an entire Web site. In PHP 4.0.4, the new function “ob_gzhandler()” is designed to check the “content-encoding” transport header for deflate or GZIP indicators, and automatically compresses the output using the supported encoding. Using it is as simple as turning output buffering on, and requires only a single line of code.

For those site administrators without native compression capacity within their hosting environments, file deflation is the most selected option. File deflation is achieved with the use of an HTML compression tool. Such programs can allow Web developers to reduce the size of their Web pages by as much as 20 percent without compromising the “look and feel” of the Web pages themselves.

Using HTML compression utilities, Web pages will become much smaller, causing faster load times and saving both bandwidth and server disk space. The utilities work by simply eliminating any free space or redundant or unnecessary code within HTML or other Web files.

Jul
20

Introduction to Blade Servers


Distributed server architectures based upon “blades” are rapidly emerging in the data centers of corporations and Internet service providers.

Historically, servers only assumed the form factor of a re-purposed desktop computer or rack-mountable appliance. These servers utilized high-quality components and leverage additional memory and hard disk capacity. Now server form factors are evolving into single PC cards that can be plugged into a chassis as a single module.

Bladed servers stack numerous independent lower-end servers within a single chassis. Chassis can accept anywhere from eight to 24 blades. Each blade is an independent system with its own memory, processor and network connection. Due to their compact size, multiple blade servers can be placed in a single server rack or enclosure, allowing numerous systems to share electricity and HVAC resources.

Gartner DataQuest (dataquest.com) predicts that worldwide server blade shipments will increase from 84,410 units in 2002 to more than one million in 2006. The IT research firm anticipates that revenue from server blades will reach at least $1.2 billion during this time period. Blades are thus becoming the one major segment of the server market that is experiencing escalating growth.

The popularity and fast growth of the blade server can be attributed to cost-savings that the device accrues to its users, especially hosting firms and service providers. Because more than 250 blade servers can be effectively placed into a single rack, it is possible for hosting firms with data center operations to quadruple their hosting capacity with the devices. By comparison, most of today’s low-end servers have only a single computer in one enclosure, allowing only one 42 systems to fit in an industry-standard rack.

Because blade servers are small, consume less power and generate less heat than an average server, they are emerging as an ever-popular option for niche Web hosting services. With the cost of data center space at approximately $300 per square foot and with energy costs increasing throughout continental North America due to deregulation, blade servers have become the de facto standard for increasing data center profitability.

The systems are typically used as Web servers and caching servers that deliver Web pages to Internet browsers, SSL servers for encrypted communication, and streaming servers for audio and video transmissions. Most hosting companies and service providers appreciate the devices because they are easy to install and employ dedicated software that improves their administration, performance and reliability. The devices are also increasingly being utilized as firewall devices and to increase capacity in corporate data centers.

Blade severs are excellent devices for hosting companies with large existing data center deployments who want to capitalize upon existing PCI expansion space. The inclusion of a single blade allows a hosting company to double its computing power or hosting offering, utilizing the same amount of physical space. The main disadvantage concerning PCI-based blade servers is that the processors are usually not as robust as traditional high-end servers. This factor limits the use of the server to functions such as low-end Web hosting.

While blade severs have the capacity to serve streaming video and other demanding applications, often the emerging technology is used for back up or storage purposes. Lower-end models usually depend on server or operating system virtualization, causing the server to run much slower than traditional equipment.

It is thus incumbent upon a reseller to determine whether a hosting company is utilizing blade servers for mission-critical deployments and whether those servers can accommodate demanding applications.

Resellers who operate their own equipment might want to consider utilizing blade servers as an effective technology to add firewall or other security specific capacities to their colocated equipment.

Jul
20

The Characteristics of a Good Managed Host


A good managed Web hosting provider should have the people, systems and resources that are required to control a complex server environment.

Managed hosts are paid to maintain and exercise control over every facet of a hosting operation. They should manage the provisioning, deployment, testing, and ongoing management of all networking devices, including routers, switches, SSL accelerators, firewalls, routing tables and virtual private networks. The host should also monitor all customer hardware, such as servers, to resolve any issues related to them in order to maintain the highest levels of performance and uptime.

A main characteristic for a managed host is quality of equipment and service. Servers and any other hardware should be top of the line, and backed by extensive warranties and on-site service contracts. The hosting provider should not only emphasize hardware, but also attend to the way software is deployed. The provider should manage the installation of the operating system and supporting software. This includes the provisioning, testing and deployment of security patches, service packs, upgrades and revisions on a continual basis.

The ideal managed hosting provider will also look after the installation and maintenance of server applications, including data administration, backup and migration. It should also monitor log files to assess site performance, traffic patterns, disk space usage and other considerations to predict potential server weaknesses and even failures. Consumers of managed services should also check to determine whether their hosts can fulfill every detail of the managed deployment, from server and equipment procurement to quick implementation of the new technologies.

Systems and resources are not the only major considerations that consumers should make when choosing a managed host. You will also want to consider whether the sales and technical staff are knowledgeable enough to entrust your online business to.

A host’s human resources are often the most important consideration when picking a service provider, since their people will be interfacing with you and your equipment more often than in a typical low-end, shared hosting situation. As a consequence, you will want to make sure that the people you deal with at the provider are both qualified and experienced. Qualified technical people will have certifications in operating systems, routing equipment and other applications. Sales and customer support staff will have a wealth of experience from spending years in the industry.

In most managed hosting situations, a dedicated account manager is allocated to the customer. This allows both the company and the consumer to have a singular point of contact for any sale request or technical support inquiry. Ideally, the dedicated account manager should be immediately available during regular business hours and have an available alternate at all other times. A first-rate managed host will also allow a consumer to quickly escalate any service request direct to management. With a more complex host, management should always be more accessible to customers, considering the significantly greater premiums paid by managed hosting customers.

The good managed host, in a word, should be proactive. It should seek not only to provide bare-bones equipment and connectivity, but also to actively manage that equipment and connectivity in order to provide you with the highest level of efficiency from the service. That is the main qualification you should seek from your managed host.

Jul
20

Do I need a dedicated server?

The decision on when to upgrade to having your own dedicated server all depends on your budget along with the type of site you have. Dedicated Servers can be expensive for some pockets, but if you are running a business oriented site which receives quite a bit of queries it maybe time for you to make the switch from shared hosting to dedicated hosting. Some factors to consider are below:

1. Bandwidth Transfer

How much bandwidth is your site transferring on a daily basis? That should be one of the main factors contributing to your decision on upgrading to having your own dedicated server. For instance if your site is transferring over 1 GIG of traffic a day or more, then you should upgrade to a dedicated server for the sole purpose of having all the server’s resources and bandwidth for your one site.

2. Web Space

With shared hosting you may have a plan that offers 500 MB of web space, but with dedicated server you can have all 20 GIGS or more available to host your site or any other sites you are planning on developing in the near future. This is more than enough space to host your sites.

3. Software

Most companies are not going to allow custom installation of dll’s and com objects on a shared hosting environment. If you have reached the point where it would be beneficial to have a dll installation or com object then you should get a dedicated server that would allow you to install the dll’s and com objects and any other software you need.

4. Future Sites

If you are going to be building a network of sites, it maybe more feasible to have a dedicated server where you can continue to add your network of sites without having to contact the host OR order a new hosing plan. This would also allow you the feature to even host a few paid sites if you wish to earn back some of the investment you pay monthly for leasing the dedicated server.

5. Pricing

Can I afford a dedicated server? It all depends on your budget. There are a few companies who offer budget rentals. For instance some companies start their dedicated server prices at $99/month and you have full access to the server to add as many websites as you wish and add whatever software you require, along with full root access. A few companies are Rackshack.net, Eservers.biz, Cyberworldservers.com.

Those are just some of the factors to consider when deciding if a dedicated server is for you. In most cases if you need flexibility, have technical knowledge and do no want to be waiting on your web host to do support requests then by all means get a dedicated server. It’s a perfect choice for anyone who will be running multiple websites.

dedicated servers prices

Jul
20

5 Things to Avoid in Choosing a Web Host

Choosing a web host is becoming increasingly difficult with all the competiton out there. Every web host likes to making outlandish claims of 24/7 technical support but what does this really mean? I have outlined a list of 5 things that you should be wary of when choosing a hosting company for your website. Especially, if the website is part of your core business, ie. an ecommerce site.

1. Bad Technical Support
24/7 Technical Support is never free for a company because they have to pay someone to sit around answer the phone when you call. What some companies do is hire a guy to answer the phone and put your call in a queue for the real technicians to fix the following morning or worse the following Monday. Another trick that companies use is to have a single guy answer calls for 10,000 customers. You get 24/7 Phone support if you don’t mind waiting on the hold for 30 minutes.

2. Poor Company Stability
Look out for companies that haven’t been around for awhile. You will probably noticed that there are a lot of different companies out there that you have never heard about before. Be especially careful about companies offering ridiculously large hosting plans for $2/month. For every hosting company that starts up, there is another one that is being shut down. That could be detrimental to your business if your web host shut down. If you can’t see how your web host can afford to stay in business…maybe they can’t!

3. Web Hosting Resellers
Although going through a hosting reseller is essentially the same as going directly to the host company, you have no way of knowing who that host is. Also, you are likely paying a premium for that service. What happens when that Reseller decides to stop? To avoid these types of hassles, I recommend avoiding them altogether. Make sure the host runs it’s own datacenter. That is a way of knowing they are not a reseller.

4. No Money Back Guarantee
With many hosting companies, you can never be too sure so most companies will offer a 30-day money back guarantee. It is sign that they stand behind their product rather than trying to trick you into using their services. If you don’t like their service, than you have the option of leaving.

5. Overly Expensive Plans
Often the perception is cheaper hosting companies means that you are paying for a reduction in quality. This is not always the case. I would be weary of any “free” or really cheap hosting company but I would be equally weary of a company charging $30-40 for a hosting plan. Often a $10-15 plan is equally as good.