List of content you will read in this article:
The pandemic has hit the world hard. With most educational institutions and offices shifting to remote work cultures, internet services are in greater demand than ever before. The internet as a whole is an interconnected network of computers that share data among themselves.
All the websites you visit on the internet are hosted on servers inside colocation facilities. Of course, as the number of visitors increases on a site, the server it is hosted on needs hardware upgrades.
If you opt for a hosting company to host your website and store files, the company takes care of everything, such as upgrades, resources, etc. This is a reliable and cost-effective way to maintain your website online all the time. However, when it comes to dedicated hosting, the cost required is not affordable for everyone.
As a result, many people think of eliminating the third party to host their websites and creating their own server to host their files and web pages. There are a lot of benefits to creating a server. You can host any type of application you want without worrying about monthly costs. In addition, when you require additional resources, you can simply upgrade hardware.
If you are thinking to build a server, this guide is definitely for you.
Many people think that the hardest part of building a server is picking out the right components, not the assembly process itself. In this article, we shall help you pick the right components required to build a server. But let us first briefly discuss what exactly a server is.
So, let us begin!
What is a Server?
A server is a computer device or program that provides services to other computers and programs, commonly known as clients, connected over a network. It provides clients with several functionalities called services. These services may include sharing data among clients or performing computations on clients. It is possible for a single server to serve multiple clients, and a client can access resources from multiple servers.
How to Build a Server?
Honestly, putting a server together is not more difficult than a regular desktop. It is basically like putting together very pricey Legos. The really tricky part is the configuration. However, it is something that you should do on your own, depending on your needs. So, the first step to building a server is to determine your needs.
1. Determine Your Needs
It is essential to understand what exactly you need to build a server. Otherwise, you may end up purchasing the wrong and expensive hardware components.
As you create a server for your own needs, you will require a cheap home server setup. However, it is important to keep in mind that it should be able to run your website 24/7 and possess enough resources to manage your website’s traffic. This is because you will never want your visitors to experience slow performance.
In addition, in the case of media-rich applications like gaming and streaming, you need a powerful and fully-equipped server capable of providing interrupted resources.
2. Computer Hardware
Here is a list of the best server hardware available that helps you build a server:
● Central Processing Unit (CPU)
The brain and heart of your server is the CPU. While most high-performance servers are set up with two of them, if you don’t need a complete powerhouse, one will suffice. This is one of the server's most important components, as it will perform all the calculations.
When picking a CPU for your server, there are multiple factors that you need to take into account:
It is no secret that enterprise-level hardware is way more expensive than regular consumer parts. Despite that, there are still plenty of choices at different price ranges. The performance typically will get better with higher prices. However, you might get better specs for a lower price if you compare components from team red and team blue (we will get into that a bit later).
Your CPU’s performance is probably the most important factor to consider when choosing components for your server. Although even the cheapest server CPUs greatly outperform their consumer counterparts, sometimes it is still not enough. If your site includes a complex web app or is receiving millions of visits a day, the lower-end options simply cannot handle it.
On the other hand, even if you are very ambitious, there is simply no reason to dish out large amounts of cash for a CPU with the best performance if you don’t need it. There will always be a possibility to upgrade to a better one down the line.
- Energy Consumption
Servers are built to run 24/7 for their entire lifetime. This whole time they are eating up much more electricity than regular computers, even if they were to be running this entire time. This factor might not be important if you plan to have only one server on-premises. However, if you are looking into getting multiple servers, that electricity bill can stack up quickly.
- Thermal Design Power
This is the maximum amount of heat generated by a computer chip. Just like energy consumption, this is an important factor to consider if you are planning to get multiple servers. One server with a built-in cooler is good enough, but if you are running 10 servers in one room without proper ventilation and cooling, things are going to get hot fast.
- The Red vs. Blue Debate
As long as we know it, there have been two main players in the CPU production field: Intel and AMD. There has always been debate about which one is better. But for the most part, Intel has dominated the enterprise-level CPU market. AMD, however, has been catching up recently, with its products seeing substantial growth in its market share over the last few years.
If you are going for team blue, you should check out Intel’s XEON D, W, or E processors. On the other hand, team red fans should look into getting AMD EPYC 7002 and 7001 series processors.
The next most important component is the motherboard, which connects all of the other components in a system. Unlike CPUs, when it comes to server motherboards, you have a much wider choice of manufacturers. Sadly, if you opt for the AMD CPU, your choice will be more limited as most server motherboards are designed with Intel XEON processors in mind.
In general, the main decision you will have to make regarding server motherboards is whether you want a dual-socket or a single-socket motherboard. Dual-socket motherboards allow for 2 CPUs to be installed, doubling the performance but also the price. Single-socket motherboards, on the other hand, support the installation of only one CPU.
When selecting a server motherboard, you must consider which CPU you have, as most only support certain models of processors. For example, if you have an AMD EPYC 7002 as the first choice for the CPU, thus you will have to get a motherboard that will support this processor, such as Supermicro’s H12DSU-iN server motherboard.
Another important factor to consider is the number of PCI-E lanes and SATA ports the motherboard has to fit all the other needed components.
The current leading server motherboard manufacturers are Supermicro, Gigabyte, and ASUS. If you want quality and performance, you should opt for a motherboard from one of them.
Once you have a CPU and a motherboard picked out, the next thing to think about is storage. Just like any other previously mentioned components, storage devices for servers are designed for continuous usage under heavy loads.
Inserting a consumer HDD (Hard Disk Drive) or SSD (Solid State Drive) into a server machine will cause the storage device to die within months as they are not equipped for this task.
We will mention a few pros and cons of this technology. However, for a more detailed breakdown, check out our HDDs vs SSDs blog
- Hard Disk Drives (HDDs)
It is the traditional and still the most widely used server storage method. HDDs have been around for quite a while, and it is easy to see why. They are quite inexpensive in comparison to their solid-state counterparts and provide much higher storage density. Although their performance wanes in comparison with SSDs, new technologies are arising that allow for higher read and write speeds than ever before.
The largest SSD out there is about 4TB, while the largest HDD is about 20TB, and the hard drive still costs only a fraction of what the solid-state drive costs. Although from a consumer PC perspective, it is better to get an SSD for higher performance numbers, when it comes to servers, it is simply not cost-efficient to rely entirely on them.
- Solid State Drives (SSDs)
Undoubtedly, SSDs are the king in terms of the performance of storage devices. They are blazing fast and generally take up less space than their spinning counterparts. Despite all that, they are expensive, especially when you go into enterprise-grade hardware. This is a very premium option. However, SSD Servers will give you the best performance and the biggest budget hit.
If you opt for solid-state storage on your server, do keep in mind that they generally have higher power consumption than most HDDs. Nevertheless, here are some heavy performance-oriented yet high-capacity SSDs: WD GOLD SN600, Intel Optane SSD 905P, Micron 9300 Max, Kingston DC500R, and Seagate Nytro 3531.
● Graphics Card
Processors do not come with integrated graphics cards. Various tasks, such as gaming, streaming, and mining, require heavy graphics and are more power-consuming. As a result, you have to buy a dedicated graphics card for your server. Graphics cards from AMD and NVIDIA are the best options to choose from. You can choose depending on your needs.
● Random Access Memory (RAM)
In a server, memory does not refer to a hard drive. Instead, it refers to RAM (Random Access Memory). It is a short-term or volatile memory. It plays a vital role in your server’s performance. Scaling up your hosting needs will require more RAM and space.
However, quality is as equally important as quantity in terms of RAM. The server memory is generally available in 16GB and 32GB capacities. Make sure to choose the latest generations of RAM, i.e., DDR4, though most servers leverage DDR3 RAM.
We know that server generates heat while it runs applications. If there is no proper cooling mechanism, it may break down. So, make sure to use a cooling fan of ideal size.
● Power Supply and UPS
Consider buying a high-quality power supply for your server. Corsair, Antec, and Thermaltek are some popular vendors that provide robust power supplies. The basic idea behind the power supply is that the more watt ratings it provides, the more components you can connect to it. It is advisable to choose a power supply of 350 to 500 watts to build your own server.
Another significant component is UPS. It stands for Uninterruptable Power Supply. This device keeps the system running quickly, even for a power cut. So, you do not have to worry about power loss, as UPS keeps your server going for a while. It is ideal to buy a 1200VA UPS for your server.
It is a metal casing for all your server components. It comes with slots for fitting all server components in place. Some affordable vendors for Chassis are iStarUSA, Athena, Rosewill, and Supermicro.
3. Networking Equipment
Besides hardware components, you need various networking components. Firstly, get broadband equipment. Look for a reliable networking card. Most networking cards are designed to be compatible with major operating systems.
The next on the list of a category 6 (cat 6) router and an Ethernet cable. These devices will help you expand your bandwidth requirements if needed in the future.
4. Operating System
Another important aspect when to building a server is choosing an operating system. It is best to choose an open-source operating system. This is because open-source operating systems are free and have an online community. So, you can ask for help anytime, and the community members will help you.
Among the popular operating systems, Linux is the best open-source option to choose from. You can opt for any of the available Linux distributions as they are free of cost. CentOS 7 and CentOS 8 from Red Hat are popular for web servers. However, the sad part is that the company will end supporting those versions by 2024.
Some popular alternatives to CentOS are Fedora, Ubuntu, Debian, and OpenSUSE.
Besides free options, you can even try proprietary operating systems, such as Microsoft Windows and macOS.
5. Putting All Together
Once you gather everything, there is time to put it together. Refer to the documentation that manufacturers provide and assemble all components above.
Here is a guide for you:
- Initially, take the motherboard and insert the processor and its fan.
- Next, take the casing and insert the power supply. Screw it to fit properly.
- Screw the motherboard tightly on the casing.
- On the motherboard, insert the RAM provided in the RAM slots.
- Next, insert HHD or SSD on the motherboard and fix it somewhere safe on the casing.
- Connect the power to the HHD or SSD.
- Make sure to connect the required cables from the power supply to the motherboard. Refer to the power supply and motherboard manuals.
- Connect the UPS to the wall power socket and the power supply to the UPS.
- Take the HDMI cable and connect the monitor and motherboard through it. Also, make sure to connect the monitor's power cable to the UPS.
- Finally, connect the casing jumpers to the correct pins on the motherboard. Refer to the manual that comes with the motherboard.
After assembling all hardware components, you will be able to turn on the server. Now, you can install the desired operating system to make it operable. Your server is ready to go.
6. Upkeep and Maintenance
Only creating a server is not enough. You need to upkeep the server regularly. Otherwise, you may experience an app crash.
Here are some following tips for maintaining your server:
- Frequently update the software.
- Make sure to back up the server before updating.
- Use monitoring tools to check the health of hardware components.
- Repair or replace faulty components whenever required.
- Clean hardware using compressed air.
Building a server is not easy. It requires a lot of time and effort. But having the machine on-premises rather than in some data center, hundreds or even thousands of kilometers away, will give you full control over the system. Also, you can enjoy unlimited resources.
With all this info, it should be easier for you to pick out the most important parts of a server and make sure that it provides decent performance and longevity to the server.