Dedicated Servers: Full Website Hosting or Specific Service Hosting? So you've outgrown your shared host and it's time now to move on to the real stuff.
Yes we are talking about
dedicated servers, those byte crunching beasts. Figuring out all the choices and services may be very confusing.
But No Worry!
I will try and give you some suggestions and hopefully guide to your perfect server.
So let's not waste any time and start with first segment.
What's a Dedicated Server?
Dedicated Server is a single computer connected to a network (internet). This pc and all of it's processing power is dedicated to a single individual or organization. Meaning that the pc resources are not shared by anybody else. You have the full control of the machine and you're free to run any software program you want on that computer.
Generally dedicated servers are used to serve web page requests ( html, images, videos...etc) but they are able to be used for numerous other purposes also.
Do I require 1 or more servers?
To simplify things we will divide the use of dedicated servers into these two groups:
* Full Internet website Hosting
* Particular Service Hosting (Database, email, httpd...etc)
Single Web website Hosting
Hosting of a single or a number of web websites. In this type of setup, all the services/programs (http software program, DB software, e-mail software program...etc) are installed and running on 1 dedicated server. Occasionally these services/programs can also be referred as "servers" them self.
This is the common setup for little to medium trafficked web sites since all the essential software required to run the web site are situated on one physical machine.
Advantage to of this setup is that it lowers the price, but disadvantage is that all of the machine resources are shared by all of the software program and processes.
Particular Service Hosting
Hosting of a single software or service on it is own dedicated machine. All of the resources on the machine are dedicated mainly for 1 kind of service or functionality. For example, 1 may host only Database Software program on the server to ensure that all of the resources on that machine are only dedicated for processing of Database Queries. You're able to handle much more queries, or deliver more pages.
Generally medium to high trafficked web websites will run this type of setup.
Conventional setup will consist of 1 or much more server that will only handle internet (http) request, then 1 or much more servers only handling database requests and maybe one or more servers only handling processing of the emails. Theoretically there isn't any limitation on the quantity of servers. As a group working together these servers are utilized to procedure in millions of requests a day.
Which setup do you choose?
This of course depends on the quantity of requests and visitors that your internet website will probably be receiving. So to be able to answer this question we need to initial comprehend little bit about what services are needed in order for internet website to be accessed by the user.
Usually today's dynamic web websites need two main service types to deliver a full working internet site to the user's browser.
* Internet SERVERS / Internet SCRIPTS ( apache, IIS, php, perl, java )
* DATABASE SERVER (MYSQL, MSSQL, ORACLE)
Use of the word "servers" within the above text is referring to the application / software program and not to the physical machine. This is really a typical term utilized to describe the type of application.
Web server handles all the initial requests from the browser and decides on how and where data from the Database is returned.
Database server handles requests from the web server in a type of queries. These queries retrieve data from the storage (tough disk) and return it to the web server.
As you are able to see both internet and database server function together to deliver the final item (web page) to the user.
Generally internet server handles more of the logic component so Faster CPU and bigger MEMORY are always in require much more then Tough Drive speed.
While database server handles more of information retrieval so Quicker HD and larger MEMORY are always in need more then cpu speed.
In any case more memory is usually required:)
It is important to note that all of the server software always uses some of the CPU, MEMORY and Tough DISK resources. Ultimately they begin fighting over the available resources.
1 method to quit this fight over the resources is to separate them onto each own dedicated server.
An additional reason to separate service types is that's simpler to optimize the machine to run well for one particular task then it is for all of the tasks.
For example:
Since we now know that Database needs faster Tough Drives, perhaps we use more costly quicker Hard Drives in DB machine, and leave the less expensive hard drives on Internet machines where HD speed isn't as important.
But maybe instead we use faster processors on Internet machines since they perform most of the logic.
Doing it like this we have optimal performance with out wasting resources and $$$!
These are just general suggestions, and depending on the web website and it is functionality these configurations will vary.
Server Functions and Components.
Ok now that you simply comprehend what each (internet, db) server is hungry for, how do you know what components to obtain?
Due to the sheer amount of various types and models of every component I would need to write a number of books just to cover that subject.
So I'm just going to provide you with some general guides for every type of component, which whould help you on your next server purchase.
CPU Speed:
This is a no brainer. More speed (Ghz) that processor has the faster it can do the calculations and faster the pages are going to get returned to the user.
Some CPU architectures are recognized to perform better then other people in server setups so I suggest you do some research on that subject.
Number of CPU Cores / Processors:
Another no brainer. More cores or processors your server has, more taks it can do simultaneously. Because most of the actions on the server are based on requests and each request generally spawns a separate procedure, you can see how more CPU Cores enables the server to deal with multiple requests at the same time.
Quantity of RAM:
I believe you see the pattern here "MORE". Needless to say that more RAM your server has, more requests it can handle at the exact same time. Reason for that is that every request demands certain amount of RAM so that it can be processed. This amount is dependent of numerous factors like: Software type, Operating Program, Installed Modules...etc
For instance popular web server software program APACHE can take about 7mb to 15mb of RAM per request or procedure and that is not accounting for any other processes already running or becoming spawned to compliment that each request.
Memory is most likely greatest investment you are able to make inside your dedicated server.
Hard Drive RPM speed
Again the quicker the disk spins, quicker it can get to the information on disk. Some popular Har Disk speeds are: 7200RPM, 10000RPM and 15000RPM.
Greatest performance improve by faster Tough Drives will probably be seen by applications which access the Disk frequently. Some of those applications are: Database servers, File Servers and Video Streaming servers.
SATA vs SCSI vs SAS
In the event you had been questioning what all of these acronyms are related to, they are the 3 most common Hard Drive interfaces used in dedicated servers.
Starting from left with SATA becoming probably the most inexpensive but generally not being the best performer. While with SCSI usually you get much better performance then SATA but at a lot higher price and having a lot much less disk space. With SAS you get much better performance then SCSI and you also get much more disk space.
Obviously there is a lot much more differences between these interfaces. Luckily there's tons of articles on the internet explaining it all. I suggest you invest some time researching.
Generally unless you're running very High Transaction DB server you're fine with SATA. And if you are searching for greatest performance and you do not care about the price then go with SAS.
To RAID or not to RAID
So yes we're still stuck with the hard drives. Whenever you see a word "RAID" becoming used in a server setup, that means that server has 2 or more HD's joined in an array forming one logical unit. Raid generally offers increased storage reliability via redundancy. There are different RAID setups and you have most likely seen some: RAID 0, RAID 1, RAID 5, RAID 10...etc
Two most common ones you'll see in server setups are RAID 1 and RAID five
What you need to know about RAID 0 is that provides you with some performance and increased total disk space but has no redundancy. If one drive fails, you loose your information.
RAID 1 offers redundancy thru mirroring and in particular instances performance improve, but you don't get increased disk space. If 1 drive fails you are able to still continue operating and be able to replace the broken drive with out loss of information. This setup demands two Tough Drives.
RAID five offers redundancy and increased disk space. It requires minimum on three Hard drives. Maximum of disk space you can have is:(Size of Smallest Drive) * (Number of Drives - 1). If 1 HD fails you are able to still continue your operations.
RAID can be implemented via two typical techniques, via software program or via hardware.
Software RAID uses Pc resources whilst Hardware RAID uses it is own dedicated resource on the card.
In the event you have a powerful machine then performance difference between Hardware and Software program RAID could be negligable
Generally it is thought that if available Hardware RAID is really a better option.
In the event you have an choice to "RAID" your server, I say go for it, at least RAID 1. Servers are 24hr nonstop workhorses and any interruption because of single Hard Drive point of failure could cause serious downtime for your web site.
Bandwidth
Bandwidth will be the term utilized to describe the quantity of data that server will deliver over period of time. Hosting businesses can select to provide various pricing structures for cost of bandwidth.
But some of the most popular ones are:
* Metered Bandwidth
* Unmetered Bandwidth
Metered bandwidth packages generally come with particular quantity of included bandwidth a month and if going over the included limit you are charged certain fee per transferred GB ( GigaByte ) of data.
Unmetered bandwidth packages allow you to to transfer as much as you are able to at the maximum included transfer rate. This maximum transferred rate is measured in Mbps ( megabits per second ).
Every pricing structure kind offers its own benefits and disadvantages.
With metered bandwidth you generally have access to a lot faster connection so your speed can burst up to the hosting provider's maximum bandwidth capabilities. This enables the user to download the file quicker if capable. Since you're charged per amount of information transfer, you're only limited to the speed of your uplink port.
With unmetered bandwidth you are limited (capped) to certain speed of your connection (10Mbps, 50Mbps, 100Mbps...etc). Quantity of data you transfer is not measured. In nutshell hosting company says here is your max speed so you use it up to the max speed or not, you are charged one flat fee for that speed.
With metered bandwidth you have to make sure that quantity of information transfer included a month can actually be delivered over a included uplink port.
For instance: Lets say together with your server you get 6,000 GB of outbound transfer a month but your uplink port speed is 10 Mbps.
With this type of uplink speed in the event you were to continuously transfer for 1 month at the maximum speed of 10 Mbps you'd only be able to transfer 3,240 GB of data. So to totally be able to utilize all of the allowed transfer usage you'll have to upgrade to greater port speed.
Operating Program
Generally hosting businesses provide several various kinds of Operating Systems, but most of them are grouped into Linux/Unix based and Windows Servers.
OS X Server is really a very rear breed to discover on dedicated servers.
Choosing an operating program is mostly dependent on the requirements of software, libraries and applications you'll be running on your server.
Particular software program is obtainable on both Linux, Unix and Windows, while others are only available for specific OS.
Linux based Operating Systems are very popular choice since most of them are totally free and usually need less resources to run then windows.
Control Panel
Control panels allow for easy management of dedicated servers. They allow you setup new virtual hosts, domains, emails accounts and numerous other tasks that can with out a control panel be vary tedious and tough to setup.
Some are free and open source but for most of them you have to pay. Generally paid ones come with more features and support.
Most well-liked paid ones are: Cpanel, Plesk, DirectAdmin.
Most well-liked free ones are: Virtualmin GPL, W
If you are a novice with dedicated servers and your web server is unmanaged by the hosting business then I would strongly suggest having some kind of control panel installed. It'll make your server management simple and you will be able to spend the nights actually sleeping instead of attempting to figure out why your apache server is returning "500 Internal Server Error":)
One thing to note is that some Control Panels take over your OS and embed them self so deep with the OS that it can make performing setups and installs not supported by the control panel tough.
Web Hosting Support and Management
Managed or Unmanaged?
Most of the Dedicated Server packages come as "Managed" or "Unmanaged".
With unmanaged servers it's your responsibility to manage the server. Meaning that installing and configuring any software on the server falls on you. Unmanaged servers are generally a lot less expensive and in the event you do not have any "System Administration" expertise it may be tough to manage the server.
1 option is to get some kind of control panel which can make the management of the server a lot easier.
With managed servers responsibility of managing of the server falls on the hosting business. If you're very new to all this or you don't have time to manage it your self then this is your greatest bet. Generally managed servers are a lot more costly. Managed services come with various levels of management. Make sure that you find out exactly what is included in the management of your server, some tasks or software program may not be covered and you may get charged hourly support rates.
Remote Reboot
Is referred to an choice that enables you to instantly Hard Reboot your machine. This is usually carried out via internet interface and it's useful because gives you the control to restart the server at your command. As soon as in a whilst some thing will occur with the OS or software program on the server so that it crashes or freezes.
This requires the tough restart of the machine (cutting the power off to the machine, and beginning again).
If remote reboot isn't available, you are able to usually problem an email ticket or call the hosting business them self and they'll perform this for you. Issue is that occasionally support team may not get to your ticket in a while, which is why remote reboot comes in handy.
Technical Support
Issues do go wrong and they generally happen when you least expect. Servers crash, Tough drives fail, Processors can burn out and what do you do then? You're possibly thousands of miles away from the server and there's nothing you can personally do. You're within the hands of technical support.
There is all types of hosting businesses available, from those run by one person to those run by hundreds of skilled technicians. Some offer 24/7 manned phone, chat and e-mail support, whilst some have only limited e-mail support. Be careful when selecting your hosting business, pay great attention to the level of support they offer and see what's covered. For support that is not covered inside your strategy some hosting businesses charge as high as $150 per hour. Make certain you read their SLA (Service Level Agreement) to see if they provide any guarantees for any down time also
Conclusion
I hope that this article was able to provide you with some insight in the world of dedicated hosting and help you inside your selecting of dedicated server.