Building a Social Network: What Kind of Server? Linux, Windows, Shared, Dedicated, VPS?
What Kind of Server? Linux, Windows, Shared, Dedicated, VPS?
After the WDA had been signed and the details had been thoroughly discussed the developer started work on photo shop comps of the website while I began a new journey; the quest for a server. Being so green when I started this project I actually thought you could successfully run a social network on a shared hosting plan. Well, in theory you could for a short time, but I wasn’t looking to run a website short term. I needed some room for growth and the last thing I wanted was a server to crash after launching.
Shared hosting plans are very affordable and for a small blog are ideal but when you are looking for high amounts of traffic the option isn’t even an option, it’s dedicated. Sadly enough even a dedicated machine won’t keep you online for long if you see rapid growth; at some point load balanced servers will be a necessity. This was probably the biggest jaw dropper for me; how can I afford $200 – $500 a month on a server? Actually the better question is how could I afford not to?
While searching for a quality host to lease a dedicated machine from I noticed a problem, they all seemed to have some negative reviews from former or current customers. It seemed like every time I found a dedicated server at a good price there were a couple of catches, first the bad reviews and second the cost of adding upgrades. Some of these companies are legal rapists, charging you $50 a month to add a hard drive. In twelve months that little hard drive will have cost you $600 on top of the regular cost of the server.
In addition to the already confusing arena of dedicated servers another problem arose, managed or unmanaged? Ideally I’d love to have someone take care of my server for me but not for the additional $100 a month on average it costs. However, if you decide to manage your own be prepared to get lost. Even with Cpanel it is still nearly impossible to manage your own box without extensive knowledge. Cpanel makes life a lot easier but unless you know what you are doing, tasks like recompiling packages are beyond a novice’s reach.
I personally purchased three different books in an attempt to learn the ins and outs of Linux and more specifically L.A.M.P. servers. For those of you who don’t know what L.A.M.P. is, they are the most commonly used servers on the web. L.A.M.P. stands for Linux, Apache, Mysql, and PHP. I’m not going to pretend to know everything but I will make an effort to explain what each component is. Linux is obviously an operating system as is Microsoft Windows, but that is where the similarities end. Linux is a very powerful platform that allows its users who know what they’re doing to customize it to suit almost any situation. It is also free, it is known as open source which means the source files are available for free with no licensing fees, unlike Microsoft who charges obscene amounts of money for their software and the worst thing is that you are not allowed to modify the source code.
Apache is the actual web server software. I may get slaughtered for saying this but it is basically the software that turns your server, which is no more than a powerful computer, into a computer capable of hosting a website or a multitude of websites. Mysql is an open source database system which is used for many different websites. For a social network in specific it is the storage facility for all information within the site. Whether its user images, user information, or website data, it is stored and can be rapidly accessed using Mysql. PHP is a server side scripting language that is also open source, hence free. PHP determines what is pulled from the database (mysql) and at what point. Unfortunately, providing any more information on L.A.M.P. would be beyond my understanding and would lose the focus of this article. If you would like more information please visit the following websites:
Now that some of you are immensely confused let’s carry on. Unless you want to spend the extra money on a windows server, Linux should probably be your choice. When looking for a dedicated server there are some important things to look for. First, you want newer hardware that isn’t obsolete and slow. Then you will need to pay attention to things like uplink speed, bandwidth provided, cost of extra bandwidth, memory, hard drives, raid (hardware or software), cost of extras like remote reboot and control panels, and you’ll even want to find out who provides the host with their bandwidth; some providers are far better than others. I can’t sit here and tell you the exact specifications you’ll need for your server but I can tell you that social networks which are database driven are memory intensive, so the more memory the better.
Your data is your life when it comes to websites so making sure you don’t lose that data is life or death. For me the first line of defense is raid 1 (mirroring). This is the use of two hard drives within the server writing the exact same data. The downfall is that you only have half of your hard drive space usable but the overpowering benefit is that if one of the drives fail, another one can be added with no data loss. Don’t worry, that’s not all there is to it, there are two ways to conduct raid among disk drives, hardware and software. The latter is more affordable but hardware raid will always outperform software but usually costs significantly more.
If your server has enough space within the case you can opt to install a third drive to use solely as a backup drive as a second line of defense. My server did not have the space to take advantage of the third drive so I decided to purchase hard drive space on an ftp account. This is a backup option that allows you to save your website data to a hard drive located somewhere else other than your server. It is important to note that ftp accounts have their limits; due to the time it takes to transmit data over an internet connection it could take days to back up 500gb of data. There is one other downfall to ftp accounts; they consume your bandwidth. Taking things one step further I also have dedicated hard drives on multiple computers to keep backups of our website and I’ll continue to do so until it grows so large it will take too long to download the data.
Making a final decision on which host and what type of server to use will not be an easy task. Take the time to research as many different companies as possible, looking for customer reviews, upgrade costs, and please read the fine print. Some companies intentionally hide pertinent information within the legal agreements and rather than being surprised later, read through them all. The one thing you will undoubtedly notice is that the companies who have consistently positive reviews usually cost a fortune. Are they worth it? That’s up to each individual/company to decide. How much money will be lost if your website’s down for long periods of time?
[…] I needed some room for growth and the last thing I wanted was a server to crash after launching. Read the rest… (link to http://www.JealousBrother.com) No Comments, Comment or […]
Posted on September 11th, 2008 at 6:43 pm by: Building a Social Network: What Kind of Server? Linux, Windows, Shared, Dedicated, VPS?Interesting article for the techies who want try their lucks on internet based business. Even though the article says the information is for “server for building a social network”, the points mentioned here are applicable for all other business environments. As per my knowledge, while setting up the website, one has to have clear understanding about the amount of the traffic that is expected on the server. This is where most of the website designers fails. Here one has to consider two issues, not mentioned explicitly in the article
Posted on November 11th, 2008 at 8:04 am by: Haranadh1. Bandwidth: really hard term to assess. The amount of the bandwidth you require depends on the traffic that you got for your website. Taking more bandwidth is not solves this problem. This problem of bandwidth has to be addressed from the designing time of the website.
2. Optimization of images and many more things are there to concentrate to better utilize the available bandwidth for longer time.
Haranadh,
Posted on November 11th, 2008 at 3:33 pm by: bigkazzyryYou are absolutely correct, the article contains information that would be applicable to any web based business. The reason it is titled that way is because this article is just one of about six that I wrote surrounding my journey of building a social network. The articles were written as one massive write up and I have been planning on going back and rewriting them to work better on their own as I did with my most recent article on registering a trademark.
You make some great points in your comment and thank you for sharing. I’m sure anyone who reads this article will benefit from the information you provided.
Thank you for the article. It is very helpful in my new business.
Posted on December 2nd, 2008 at 4:26 pm by: sjThanks for the information. Very useful information on starting a social network! 🙂
Posted on August 15th, 2011 at 3:49 am by: AzzzAI just want to let you know that even 7 years later the information provided helped make a choice on my server architecture 🙂
Posted on February 3rd, 2015 at 9:48 am by: Rodrigue