What is a Server?
When you hear the word "server" in the context of computers, this can be referring to both hardware and software. While server hardware is targeted towards reliability and uptime, any computer can run the software needed to host a server.
Hardware
When most people think of a server, they imagine one in a data center at a large tech company. These servers have enterprise-grade hardware that are built to attain as close as possible to 100% uptime. This includes features like error-checking RAM, hot-swappable hard drives and redundant power supplies. Servers often incorporate RAID – or a Redundant Array of Independent Disks – that allow hard drives to mirror themselves in real-time in the event that one fails.
These form factors are traditionally known as "blade" or "rack" servers. Data center servers use this compact design because it allows them to be stored efficiently with each unit having it's own cooling. Tower servers are also a common form factor for a home or small business server. These have the features of a rack server, but in a discrete form factor that work excellent when you don't need multiple servers. Servers operate "headless" without a monitor, mouse or keyboard. They are controlled through remote connection to their desktop or command line.
Consumer-grade computers can work as a server if the required software is installed and precautions are taken to offset the hardware differences. While conventional desktops can maintain excellent uptime, hardware malfunctions can result in downtime. Without a consistent and secure onsite and remote backup solution in place, this can result in permanent data loss should a hard drive fails or a power surge occurs.
Software
Server software runs on top of hardware to handle the requests of clients. This is related to the server-and-client model of networking. Linux distributions, such as Debian, power an estimated 95% of the top one million web servers. Linux is modular and permissively licensed making it extensible for every need.
Through your operating system, such as the sameusing Linux distributions similar to the ones used to power most servers,servers. a computer can accept incoming connections over your network. Using ports, similar to an old phone switchboard, we can connect services running on our server to the outside internet using our local network router.